首页 > 代码库 > uboot 添加命令

uboot 添加命令

uboot中有几十个常用的命令,可以帮助我们快速实现数据的拷贝、传递、状态显示等需求

但是这还不够 ,我们需要更多的命令实现差异化,uboot提供的命令也不够

添加命令需要三步:

这里就举一个例子  添加 一个名字叫test的命令

添加前一定要检测不要和存在的命令重名

一 、添加命令实现函数的文件

在common 文件夹下添加文件  cmd_show.c

这里面推荐这么命名,可以看到这个文件夹下都是这么命名的 ,我们也不要换了   当然是可以改的   只要和第二步配合好就行了

里面这么写就好 

#include <common.h>
#include <command.h>

#ifdef CONFIG_CMD_SHOW

int do_show(cmd_tbl_t *cmdtp,int flag,int argc,char *argv)

{

printf("do test \n");

return 0;

}

U_BOOT_CMD(

show,1,0,do_test,"usage:show\n","show:test\n"

);

#endif


二、common文件夹下的makefile

增加一条

COBJS-y += cmd_show.o

这也就是增加我们第一步那个.c增加到编译中

三、在include 文件夹下的configs的文件夹下找到你用的板子的.h

如果是atmel的板子  里面就可以去选at打头的对应型号的.h  

#define CONFIG_CMD_SHOW

可以看一下  这个是和第一条对应的   这里有一个点需要注意  如果这是保存了  cmd_test.c中的条件编译没有被开启 也就是还是显示灰色的

不要担心  更不要在文件中添加 include 第三步的.h     不然会出错的   因为已经包含了



这样就完成了添加命令添加  可以在命令中打test了

U-Boot 2010.06-dirty (May 28 2014 - 17:57:58)

DRAM:  64 MiB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
Hit any key to stop autoboot:  0
U-Boot> show
do test
U-Boot>

以上就是打印结果