嵌入天地

----->>>>>嵌入式 文学 管理 米国 卡通 以及其他

公益广告:你可知道,看帖回复和评论是一种美德!

另,兄弟姐妹们,假如有技术问题交流,请直接发送到我的信箱!

博客园 首页 新随笔 联系 订阅 管理

下面以添加menu命令为例分析U-Boot添加命令的方法。

 

(1)在common目录下新建cmd_menu.c文件

习惯上把通用命令源代码放在common目录下,与开发板专有命令有关的源代码则放在board/<board_dir>目录下,命名方式只是习惯而已。为了方便阅读和查询习惯以“cmd_<命 令名>.c”为文件名。

 

(2)定义“menu”命令

在cmd_menu.c中使用如下的代码定义“menu”命令:

 U_BOOT_CMD(

 menu, 3, 0, do_menu,

"menu - display a menu, to select the items to do something\n",

" - display a menu, to select the items to do something"

);

 

其中U_BOOT_CMD命令格式如下:

1 U_BOOT_CMD(name,maxargs,rep,cmd,usage,help)

各个参数的意义如下:

name:命令名,非字符串,但在U_BOOT_CMD中用“#”符号转化为字符串

maxargs:命令的最大参数个数

rep:是否自动重复(按Enter键是否会重复执行)

cmd:该命令对应的响应函数

usage:简短的使用说明(字符串)

help:较详细的使用说明(字符串)

在内存中保存命令的help字段会占用一定的内存,通过配置U-Boot可以选择是否保存help字段。若在include/configs/mx51_bbg.h中定义了CONFIG_SYS_LONGHELP宏,则在U-Boot中使用help命令查看某个命令的帮助信息时将显示usage和help字段的内容,否则就只显示usage字段的内容。

U_BOOT_CMD宏在include/command.h中定义:

#define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \

posted on 2016-12-23 11:04  嵌入专栏  阅读(193)  评论(0编辑  收藏  举报