添加命令,要模仿内核中已经写好的命令
可以打开其他命令的实现代码查看
本文中写的uboot命令为cmdtest 提示语句为 cmdhello display
1、首先在内核源码目录中找到commn目录 cd common(要有已经下载好的内核源码目录,本文中内核源码目录为下图所示)
2、创建自己的uboot命令代码文件 vi cmd_hellotest.c
代码如下,写完保存并退出!
#include <common.h>
#include <command.h>
int do_cmdtest(cmd_tbl_t *cmdtp,
int flag,int argc,char *const argv[])
{
int i=0;
for(i=0;i<argc;i++)
printf("%s\n",argv[i]);
}
U_BOOT_CMD(cmdtest,3,1,do_cmdtest,
“cmdtest display”,
“cmdtest [argv1 argv2 argv3]”);
3、在commn目录下的Makefile中添加 obj-y += cdm_hellotest.o(编译cmd_hellotest.c生成cmd_hellotest.o)
4、退到commn的上一级目录中 make如下
编译完成后结果如下,生成uboot.bin文件
5、此时,连接上OTG数据线,在secure CRT中输入fastboot使用批处理工具将生成的uboot.bin文件写到开发板中,
完成结果如下
6、重启开发板 进入uboot模式,在secure CRT中输入help,即可看到自己的uboot命令,结果如下
补充:因为在代码中添加了最大参数个数的设置(设置了参数个数为3个),在输入不同参数个数时,显示结果如下