首页 > 代码库 > 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>
以上就是打印结果