1. 添加文件以及Makefile
在common目录下,添加cmd_uart.c文件
Makefile添加内容如下: obj-y += cmd_uart.o
9 ifndef CONFIG_SPL_BUILD
10 obj-y += init/
11 obj-y += main.o
12 obj-y += exports.o
13 obj-$(CONFIG_HASH) += hash.o
14 obj-$(CONFIG_HUSH_PARSER) += cli_hush.o
15 obj-y += ipc-lib/ipc_uart.o ipc-lib/cobs.o ipc-lib/ipc_tp.o
16 obj-$(CONFIG_AUTOBOOT) += autoboot.o
17 obj-y += cmd_uart.o
2. 添加内容
#include<command.h>
int do_hello(cmd_tbl_t *cmdtp,int flag,int argc,char *argv[])
{
printf("Enter hello\n");
printf("name=%s\n",cmdtp->name);
printf("maxargs=%x\n",cmdtp->maxargs);
printf("usage=%s\n",cmdtp->usage);
printf("flag=%x argc=%x\n",flag,argc);
printf("argv[0]=%s\n",argv[0]);
printf("argv[1]=%s\n",argv[1]);
printf("argv[2]=%s\n",argv[2]);
}
U_BOOT_CMD(
hello,3,0,do_hello,"usage:hello\n","help:test\n"
);
3. 打印信息
=> hello 12 3
Enter hello
name=hello
maxargs=3
usage=usage:hello
flag=0 argc=3
argv[0]=hello
argv[1]=12
argv[2]=3
4.结论
- 通过U_BOOT_CMD声明的变量,传递给函数do_hello中的cmdtp。
- 执行hello传递参数2和3,传递给函数do_hello中的argv中。