abortboot调用abortboot_normal,该函数就是判断bootdelay倒计时内是否有按键按下,倒计时结束没有按键按下,那么执行bootcmd,否则uboot命令行等待用户输入,代码逻辑如下: 总结:有按键输入,abortboot()函数返回1,否则返回0, 这样autoboot_command才会执行bootcmd。 2.7.2.4 cli_loop(uboot命令行) 再来回到main_loop,如...
U_BOOT_CMD_COMPLETE(_name, _maxargs, _rep, _cmd, _usage, _help, NULL) \ #define U_BOOT_CMD_COMPLETE(_name, _maxargs, _rep, _cmd, _usage, _help, _comp) \ ll_entry_declare(cmd_tbl_t, _name, cmd) = U_BOOT_CMD_MKENT_COMPLETE(_name, _maxargs, _rep, _cmd, _usage, _he...
U_BOOT_CMD_MKENT_COMPLETE(_name, _maxargs, _rep, _cmd, \ _usage, _help, _comp); 在宏定义里面填写cmd的名称最多参数,是否重复执行和具体执行函数等也可以在cmd_tbl_s 结构体中看出 struct cmd_tbl_s { char *name; /* Command Name */ int maxargs; /* maximum number of arguments */ int...
U_BOOT_CMD_COMPLETE(_name, _maxargs, _rep, _cmd, _usage, _help, NULL) \ #define U_BOOT_CMD_COMPLETE(_name, _maxargs, _rep, _cmd, _usage, _help, _comp) \ ll_entry_declare(cmd_tbl_t, _name, cmd) = U_BOOT_CMD_MKENT_COMPLETE(_name, _maxargs, _rep, _cmd, _usage, _he...
U_BOOT_CMD_MKENT_COMPLETE(name,maxargs,rep,cmd,usage,help,comp) 其中,##name意思是使用 name替换 ##name。 由此可见,上述被define成了: cmd_tbl_t __u_boot_cmd_md Struct_Section = \ U_BOOT_CMD_MKENT_COMPLETE(md, 3, 1, do_mem_md, "memory display","[.b, .w, .l] address [# of...
如何在uboot中增加用户自定义的命令
U_BOOT_CMD_MKENT_COMPLETE(_name,_maxargs,_rep,_cmd, \_usage,_help,_comp); //ll_entry_declare,位置在include/linker_lists.h 中,定义如下 //定义了一个 cmd_tbl 变量, //“##_name”就是用_name 的值来替换,“ # ” 表示将 _name 传递过来的值字符串化 ...
宏U_BOOT_CMD_COMPLETE 如下 #defineU_BOOT_CMD_COMPLETE(_name,_maxargs,_rep,_cmd,_usage,_help,_comp)\ll_entry_declare(cmd_tbl_t,_name,cmd)=\U_BOOT_CMD_MKENT_COMPLETE(_name,_maxargs,_rep,_cmd,\_usage,_help,_comp); ll_entry_declar 定义在文件 include/linker_lists.h 中,定义如下 ...
U_BOOT_CMD_MKENT_COMPLETE(_name, _maxargs, _rep, _cmd, \ _usage, _help, _comp); #define U_BOOT_CMD_MKENT_COMPLETE(_name, _maxargs, _rep, _cmd, \ _usage, _help, _comp) \ { #_name, _maxargs, _rep, _cmd, _usage, \ ...
1 U-boot支持的主要特性 1.1 设备树 1.2 驱动模型DM 1.2.1 驱动模型的结构 1.2.2 驱动模型的初始化 1.3 环境变量 1.4 命令行 2 Board_init_f和board_init_r函数流程 2.1 board_init_f流程 2.2 board_init_r流程 本文基于以下软硬件假定: 架构:AARCH64 ...