Linux | uboot2017添加自定义命令
----the version of uboot is 2017
假设我要添加一个自定义命令叫“test”,添加步骤如下(三步即可):
1.在cmd/下编写一个test.c文件,文件里包含功能函数和宏U_BOOT_CMD (注:功能函数必须是这个格式:do_xxxx(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);)
2.在cmd/下的Makefile里添加:obj-y += test.o或者obj-$(CONFIG_CMD_TEST) += test.o(注:第二种方法需要,定义CONFIG_CMD_TEST这个宏,暂时不知道要在哪里定义)
3.在configs/ft2004_defconfig里添加CONFIG_CMD_TEST=y
注意!注意!注意!本文只是单纯介绍如何添加一个自定义命令,没有详细介绍原理哦!
背景知识:
U_BOOT_CMD 在include/command.h中定义,而U_BOOT_CMD 是用一个struct cmd_tbl_s 结构体定义,这个结构体仍是在include/command.h中实现。
truct cmd_tbl_s {
char *name; /* 命令名 */
int maxargs; /* 最大参数个数 */
int repeatable; /* 是否(既然是“是否”,应该是填0或者1)自动重复 ,就是下一次按回车时会再次执行*/
int (*cmd)(struct cmd_tbl_s *, int, int, char *[]); /* 响应函数 */
char *usage; /* 简短的帮助信息 */
#ifdef CONFIG_SYS_LONGHELP
char *help; /* 较详细的帮助信息 */