U-BOOT命令添加

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.结论

  1. 通过U_BOOT_CMD声明的变量,传递给函数do_hello中的cmdtp。
  2. 执行hello传递参数2和3,传递给函数do_hello中的argv中。
发布了112 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/chengbeng1745/article/details/102694781