Alios-Things支援幾種調試方式,具體作用及使用可參考連結地址
https://github.com/alibaba/AliOS-Things/wiki/Debugging-Overview.zh
今天我們主要關注CLI調試的開啟,及增加CLI函數。
1、修改entry.c代碼中 kinit 變數的cli_ebable的值為1
static kinit_t kinit = { .argc = 0, .argv = NULL, .cli_enable = 1};
“entry.c”檔案位於 "xxx\AliOS-Things\platform\mcu\esp8266\bsp"。
2、在項目中添加CLI函數
在此,我使用Example的 netmgrapp 的這個項目代碼為例子.
開啟"netmgrapp.c"檔案的修ncmds結構數組及添加代碼如下所示
static void handle_jack_cmd(char *pwbuf, int blen, int argc, char **argv){ aos_cli_printf("Call me Jack,please\r\n");}static struct cli_command ncmds[] = { { .name = "test", .help = "test", .function = handle_test_cmd }, { .name = "jack", .help = "jack", .function = handle_jack_cmd },#ifdef TEST_WIFI_HAL_ONLY { .name = "test_wifi_hal", .help = "test_wifi_hal [start|scan|scan_adv|monitor [mngt]|80211send|get_mac|ip_info|all]", .function = handle_test_wifi_cmd }#endif};
儲存後,在docker的編譯環境中執行如下指令
aos make netmgrapp@esp8266
將產生的 netmgrapp@esp8266-0x1000.bin 檔案燒錄到開發板運行。
3、使用串口工具運行CLI命令
在串口工具中發送 help 指令到MCU進入CLI。從CLI返回的參數中我們可以看到我們剛剛添加的一條指令 "jack".
接著我們通過串口工具發送 jack 指令到MCU,可以看到我們添加的列印資訊 :“Call me Jack,please”
運行結果如下圖所示
自此,你可以自己添加CLI函數,用以調試開發產品功能.