学习uboot中 U_BOOT_CMD命令参数编程
学习到一个奇淫技能,这里总结如下。方便以后工程实现。
在uboot中大量的命令交互,这些命令都对应其参数、help、和命令处理函数。
通常做法去解析参数名称后遍历每一个命令名称,选择执行。也就是通常的switch、case做法。
uboot给出了不一样的操作。
先看uboot怎么做。
定义命令处理函数;
申明该命令;
之后对于对应console 键入命令version就能够查找到该命令处理函数 do_version 执行。
接下来,剖析背后细节。
对于do_version通过U_BOOT_CMD完成了函数申明。
最终U_BOOT_CMD申明定义了结构体类型为cmd_tbl 的变量_u_boot_list_2_cmd_2_version 并且完成了该命令的初始化赋值。
对于如上的变量属性操作__aligned、__attribute__参考6.35 Specifying Attributes of Types。__attribute__(4)表示改结构体变量4字节对齐,__attribute__声明该变量属性可能不...