在vivi的lib/command.c中添加自己的命令
核心數據結構user_command。
typedef struct user_command {
const char *name;//命令名
void (*cmdfunc)(int argc, const char **);//命令執行函數
struct user_command *next_cmd;//下一個命令
const char *helpstr;//幫助
} user_command_t;
添加自定義命令的步驟-1:
首先構造一個user_command的實例,比如:
user_command_t mytest_cmd = {
“mytest",
command_mytest,
NULL,
“mytest [{cmds}] /t/t/t– Add my command for test?"
};
添加自定義命令的步驟-2:
然后實現命令的真正函數command_test
void command_mytest(int argc, const char **argv)
{
if(argc == 2)
if((strncmp(argv[1],“help”,strlen(argv[1]))) ==0)
{
PRintk(“myTest Command Help/n”);
return;
}
printk(“myTest Command exec/n”);//這用printk輸出信息
return;
}
在程序的后面extern user_command_t …….之前添加,應該先寫函數,再寫結構體
添加自定義命令的步驟-3
將命令加入到系統
在command.c中的
int init_builtin_cmds(void)函數的最后加入add_command(&mytest_cmd);
這個函數在程序的最后面
生成vivi鏡像
make clean
make menuconfig
make
燒錄:load Flash vivi x
測試:進入vivi,執行命令:mytest
執行help,在命令列表里就能看到mytest這個命令
新聞熱點
疑難解答