U-boot中定制自己的命令

转载 2011年01月18日 08:56:00

 我们使用U-boot的时候,大多数都是直接编译再移植了,很少改动里面的具体内容,特别是其中包含的命令等。虽然里面包含了一些常用的提供给用户进行交互的命令,并且也比较实用了。但是,根据某些开发板的特殊操作和用户的特定需求,还是不得不去在Uboot中,添加一些供自己调试和开发的命令,这样会更方便快捷的开展工作。
     这样,就介绍一下关于如何在Uboot中,添加命令的方法和步骤。
     首先,介绍以下有关Uboot的命令定义。

     每个命令都是通过U_BOOT_CMD宏来定义的。这个宏定义了一个相关的结构体,文件是uboot/include/command.h,结构体为cmd_tbl_s。

image

具体的命令定义为:
#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文件中实现的。

     接着,以我自己添加的MYTEST命令为例子,讲述添加命令的过程。
     1)在对应的开发板配置文件中,添加相应命令的宏定义。如:在uboot/include/configs/mx25_3stack.h文件中,添加#define CONFIG_CMD_MYTEST。

image

      当然,也可以在uboot/include/config_cmd_default.h文件中,添加该命令的宏定义。
      2)在uboot/common/目录下,建立相应的命令执行文件,如cmd_mytest.c,注意命名的规范,必须是cmd_xxx.c才行。
      里面的内容也是又格式要求的,如函数的格式,必须指定参数的;还有相应结尾部分的U_BOOT_CMD定义部分,使不能缺省的。如果命令不需要跟参数,则把maxargs设置为1即可了。

image

      在U_BOOT_CMD中指明的命令执行函数,在该函数中,就是我们要设计的命令操作内容。也就是说,这部分完成的我们定制的命令的功能的。
      还有,要在uboot/comman/Makefile文件中,加入生成相应的.o文件才可以的。
      3)重新编译uboot文件,会在uboot/common/中,生成相应的.o文件。将生成的uboot下载到开发板后,通过终端可以看到我们加入的命令。在终端中输入问号或者help命令即可。执行该命令,只学要输入命令的名字,在回车就可以运行了。
      通过在uboot中加入命令,可以完成我们的一些特定的操作,实现调试和测试目的等。

相关文章推荐

U-boot中定制自己的命令

我们使用U-boot的时候,大多数都是直接编译再移植了,很少改动里面的具体内容,特别是其中包含的命令等。虽然里面包含了一些常用的提供给用户进行交互的命令,并且也比较实用了。但是,根据某些开发板的特殊操...

u-boot命令介绍

  • 2012年02月11日 11:11
  • 64KB
  • 下载

给u-boot增加一条命令

  • 2013年09月08日 15:04
  • 184KB
  • 下载

u-boot-2014.10移植第21天----添加nand flash命令支持(三)

虽说nand flash读写操作是可以了,但是我使用nand markbad命令将一个块标记为
  • sonbai
  • sonbai
  • 2015年02月08日 08:34
  • 2592

添加u-boot命令.zip

  • 2016年10月11日 22:49
  • 51KB
  • 下载

U-Boot的常用命令详解

U-Boot还提供了更加详细的命令帮助,通过help命令还可以查看每个命令的参数说明。由于开发过程的需要,有必要先把U-Boot命令的用法弄清楚。接下来,根据每一条命令的帮助信息,解释一下这些命令的功...

u-boot命令实现

u-boot-1.1.6 你是否想过在u-boot命令行的命令是怎么实现的呀? 首先,我们来想一想? 每条命令是不是有个名字呀? 每个名字是不是对应一个处理函数呀? 每天命令是不是对应一个帮助信息呀?...

U-boot 编译学习---make TQ2440_config命令执行过程---在 mkconfig 中

转载参考博客:http://www.cnblogs.com/heaad/archive/2010/07/17/1779806.html 上篇博客讲到   ./mkconfig TQ244...

U-boot命令(Ctrl + F 搜索更快哦)

U-Boot还提供了更加详细的命令帮助,可以通过”?”显示支持的命令列表,通过help [CommandName]命令还可以查看每个命令的参数说明。 1、bootm bootm [addr [...

u-boot命令

U-Boot命令 来源: ChinaUnix博客  日期: 2007.06.02 17:08 (共有条评论) 我要评论       熟悉一门语言从了解它的语法开始,要...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:U-boot中定制自己的命令
举报原因:
原因补充:

(最多只允许输入30个字)