T5 SMP版本应用层注册cli命令及使用

更新时间:2026-03-12 11:27:11LLM 副本以 Markdown 格式查看下载 PDF

该demo仅供参考,该指令仅用于调试使用,cli命令存在安全风险,量产禁用

1.编写注册指令

T5 SMP版本应用层注册cli命令及使用

extern void cli_littlefs_cmd(char *pcWriteBuffer, int xWriteBufferLen, int argc, char **argv);
extern void cli_xqspi_cmd(char *pcWriteBuffer, int xWriteBufferLen, int argc, char **argv);

struct cli_command
{
    const char *name;
    const char *help;
    void (*function) (char *pcWriteBuffer, int xWriteBufferLen, int argc, char **argv);
};

// 定义CLI命令结构体(格式和原代码完全一致)
static const struct cli_command tuya_swimming_commands[] = {
    // 命令名   帮助信息              处理函数
    {"xqspi",   "qspi test",       cli_xqspi_cmd},
    {"lfs",     "little fs test",  cli_littlefs_cmd},
};

// 计算命令个数(自动计算,避免手动改数)
#define MINGTEST_CMD_CNT (sizeof(tuya_swimming_commands) / sizeof(struct cli_command))

extern cli_register_commands(const struct cli_command *commands, int num_commands);
/**
 * @brief 注册mingtest命令的初始化函数
 * @return 0-成功,其他-失败(原框架约定)
 */
int cli_swimming_init(void)
{
    // 调用CLI框架的注册函数,注册mingtest命令
    cli_register_commands(tuya_swimming_commands, MINGTEST_CMD_CNT);
    return 0;
}

2.通过日志串口发送测试指令进行测试:

ap_cmd lfs mkfs

3.测试结果:

T5 SMP版本应用层注册cli命令及使用

4.测试demo可以参考这个cli_tuya_test_1.c,有些源文件没有打开链接编译,vendor\T5\tuyaos\tuyaos_adapter\CMakeLists.txt

T5 SMP版本应用层注册cli命令及使用