当前位置: 技术问答>linux和unix
请问 我想在U-BOOT起来后的command菜单加入自己的命令 要怎么做呢??
来源: 互联网 发布时间:2016-03-04
本文导语: RT 读了读代码和一些相关的资料,u-boot下common内的cmd_xxx.c每个代表一个命令,另外在command.c中的find_cmd函数内有类似的东西: for (cmdtp = &__u_boot_cmd_start; cmdtp != &__u_boot_cmd_end; ...... 这两个...
RT
读了读代码和一些相关的资料,u-boot下common内的cmd_xxx.c每个代表一个命令,另外在command.c中的find_cmd函数内有类似的东西:
for (cmdtp = &__u_boot_cmd_start;
cmdtp != &__u_boot_cmd_end;
......
这两个标号 __u_boot_cmd_start __u_boot_cmd_end我搜索了一下没有找到,请问是从哪里产生的呢??我如果想加入自己的命令需要做哪些工作,或者我应该从哪里看起??
读了读代码和一些相关的资料,u-boot下common内的cmd_xxx.c每个代表一个命令,另外在command.c中的find_cmd函数内有类似的东西:
for (cmdtp = &__u_boot_cmd_start;
cmdtp != &__u_boot_cmd_end;
......
这两个标号 __u_boot_cmd_start __u_boot_cmd_end我搜索了一下没有找到,请问是从哪里产生的呢??我如果想加入自己的命令需要做哪些工作,或者我应该从哪里看起??
|
在include/cmd_confdefs.h中定义用户命令的标志位
#define CFG_CMD_USER 0x8000000000000000ULL /* User definition command */
然后把它加入到include/config/smdk2410.h中的宏定义中
#define CONFIG_COMMANDS (( CONFIG_CMD_DFL | CFG_CMD_DHCP | CFG_CMD_ELF |
CFG_CMD_MII | CFG_CMD_PING | CFG_CMD_NET | CFG_CMD_JFFS2 |
CFG_CMD_ENV | CFG_CMD_FLASH | CFG_CMD_LOADS | CFG_CMD_RUN | CFG_CMD_LOADB
| CFG_CMD_ELF | CFG_CMD_USER))
在common中添加cmd_user.c并在Makefile中加入cmd_user.o
然后仿照其他命令写个实现就可以了。
#define CFG_CMD_USER 0x8000000000000000ULL /* User definition command */
然后把它加入到include/config/smdk2410.h中的宏定义中
#define CONFIG_COMMANDS (( CONFIG_CMD_DFL | CFG_CMD_DHCP | CFG_CMD_ELF |
CFG_CMD_MII | CFG_CMD_PING | CFG_CMD_NET | CFG_CMD_JFFS2 |
CFG_CMD_ENV | CFG_CMD_FLASH | CFG_CMD_LOADS | CFG_CMD_RUN | CFG_CMD_LOADB
| CFG_CMD_ELF | CFG_CMD_USER))
在common中添加cmd_user.c并在Makefile中加入cmd_user.o
然后仿照其他命令写个实现就可以了。