uboot-命令实现分析
来源:互联网 发布:马刺常青 知乎 编辑:程序博客网 时间:2024/04/30 14:04
uboot 命令实现分析
- uboot 命令实现分析
- 命令实现
- 命令执行过程
1. 命令实现
命令由宏 U_BOOT_CMD 定义,该宏具体为
#ifdef CFG_LONGHELP#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}#else /* no long help info */#define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \cmd_tbl_t __u_boot_cmd_##name Struct_Section = {#name, maxargs, rep, cmd, usage}#endif
其中
1. 数据类型为 cmd_tbl_t,该结构体为
struct cmd_tbl_s { char *name; /* Command Name */ int maxargs; /* maximum number of arguments */ int repeatable; /* autorepeat allowed? */ /* Implementation function */ int (*cmd)(struct cmd_tbl_s *, int, int, char *[]); char *usage; /* Usage message (short) */#ifdef CFG_LONGHELP char *help; /* Help message (long) */#endif};
2. 宏Struct_Section的定义为
#define Struct_Section __attribute__ ((unused,section (".u_boot_cmd")))
即申明该结构体放置在段 .u_boot_cmd 中
使用宏 U_BOOT_CMD 定义命令,则生成一个 _u_boot_cmd命令名称 的结构体,该结构体代码放置的 .u_boot_cmd 代码段,其中
2. 命令执行过程
- 调用函数 run_command 解析输入命令
- 调用函数 parse_line 分解输入命令
- 调用 find_cmd 寻找命令结构体
- 执行 cmd 命令
0 0
- uboot-命令实现分析
- uboot命令分析+实现
- uboot笔记:uboot命令分析+实现
- uboot 命令分析(二)
- uboot命令分析
- uboot的命令分析
- uboot命令实现2
- uboot命令的实现
- uboot环境变量实现分析
- uboot环境变量实现分析
- uboot环境变量实现分析
- uboot环境变量实现分析
- uboot环境变量实现分析
- uboot环境变量实现分析
- uboot环境变量实现分析
- uboot之bootm命令分析
- uboot 命令构造宏分析
- uboot命令模式的实现
- mac 下统计代码行数
- c++ vector的成员函数解析
- yii2操作数据库 mysql 读写分离 主从复制
- java多线程——线程间通信之线程等待唤醒机制
- nyoj-106-背包问题
- uboot-命令实现分析
- 2015年04月09日
- 网络编程 I/O模型
- 蓝桥杯2015培训(5)
- (十一) yii2 在视图内进行渲染
- 蓝桥杯2015培训(6)
- 蓝桥杯2015培训(7)
- 蓝桥杯第一部分的小项目
- 一个战斗过程思路,用协程