CLI
概述
CLI 是一种通过命令行界面与设备或芯片进行交互的方式,用户可以通过输入特定的命令来执行各种操作。
基本原理
WM_CLI 的核心是开源项目 Letter-shell ,Letter-shell 是一个 C 语言编写的可以嵌入在程序中的 shell,可以通过命令行调用,运行程序中的函数。主要的功能有:
支持 tab 键自动补全;
支持 help 显示命令用法;
命令处理函数同linux命令行函数;
添加方便,可随意放置;
支持功能和部分命令裁剪;
定义CLI命令
使用 WM_CLI_CMD_DEFINE
定义一条命令,其用法如下:
WM_CLI_CMD_DEFINE(cmd, handler, description, usage)
其中 cmd
为命令名称、 handler
为命令处理函数、 description
为命令描述、 usage
为命令详细说明,如果想裁剪固件体积,可以通过 menuconfig
关闭 usage
功能。
使用示例
添加一个名为 test
的命令
static void cmd_test(int argc, char *argv[])
{
/* do somethings... */
}
WM_CLI_CMD_DEFINE(test, cmd_test, Display test information, test -- Display test information)
其处理函数为 cmd_test
, 执行 help
命令可以看到其描述信息 description
为Display test information,执行 help test
命令可以看到其详细用法 usage
为test – Display test information。
处理函数中, argc
表示参数数量, argv
是一个参数指针数组,指向传递给函数的参数字符串,如:argv[0] 是命令的名称,argv[1] 是第一个参数,argv[2] 是第二个参数。