看下ping命令實現的例子:
檔案common/cmd_net.c
static int do_ping(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv)
printf("host %s is alive\n", argv[1]);
return 0;
u_boot_cmd( 主要是這個結構,這是乙個巨集定義,具體可以檢視u_boot_cmd巨集 的定義,網上資料也很多。
ping,2,1,do_ping,
"send icmp echo_request to network host",
"pingaddress"
);這一行:
ping,2, 1,do_ping, ping 是命令名稱,2是命令引數的個數,包括命令名本身, 這個一定要寫對,否則 do_ping中得不到正確的引數
1表示是否repeat,即按回車鍵時候重複上乙個ping命令。
仿照這樣的例子就很容易新增乙個命令了。
U boot中mtdparts命令新增
在自己開發板的配置標頭檔案下面新增如下幾條語句就可以用kernel代替你的具體分割槽表,下面語句沒有其他的作用,就是為了方便你不用記那些位址範圍,省去了不少事情。在在arch arm lib board.c 中for 前面新增run command mtdparts default 0 define...
uboot新增命令
u boot cmd是乙個巨集定義,具體功能是定義乙個struct cmd tbl s的結構體變數,u boot cmd巨集傳遞的引數是該結構體變數的成員變數。通過u boot cmd定義的變數會通過指令碼鏈結到uboot指定的乙個section中,然後可以通過find cmd遍歷這個section...
U boot 新增命令 U BOOT CMD
u boot的每乙個命令都是通過u boot cmd巨集定義的。這個巨集在include command.h標頭檔案中定義,每乙個命令定義乙個cmd tbl t結構體。命令巨集u boot cmd define u boot cmd name,maxargs,rep,cmd,usage,help c...