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函数,用以调试开发产品功能.