在uboot中添加自定义命令

    有时候为了方便测试,我们需要在Uboot中添加自己的命令,这时可以通过下面的步骤实现:

    1、在common目录下添加自己的命令文件“cmd_命令名.c”,如cmd_test.c,内容如下(参考模版):      
#include <common.h>
#include <command.h>

#ifdef CONFIG_CMD_TEST //此句在头文件后,在头文件前在有些情况下会有问题,无法把程序代码编译进去
int do_test(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
  printf("my first uboot cmd test!\n");
  return 0;
}
U_BOOT_CMD(
  test,1,0,do_test,"- test\n","- test\n"
);
#endif
    关于U_BOOT_CMD这个宏定义了一个相关的结构体,文件是uboot/include/command.h,结构体为cmd_tbl_s。
    具体的命令定义为: 
#define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \ 
        cmd_tbl_t __u_boot_cmd_##name Struct_Section = {#name, maxargs, rep, cmd, usage, help} 

    每一个 U-Boot 命令有一个结构体来描述。结构体包含的成员变量:命令名称、最大参,数个数、重复数、命令执行函数、用法、帮助。 
    而相关命令的具体执行在uboot/common/cmd_xxxx.c文件中实现的。

    2、在common/Makefile中添加如下内容:
       
COBJS-$(CONFIG_CMD_TEST) += cmd_test.o

    3、在include/configs/pdk7105.h(该文件名根据实际操作,要针对自己的平台文件改,如smdk2410.h等)添加如下内容:

    在#include <config_cmd_default.h>后添加:
#define CONFIG_CMD_TEST
    或者在include/config_cmd_default.h文件中,添加该命令的宏定义。 
    (上述步骤在较新版本的Uboot不支持)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

stxinu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值