宏选项

finsh有一些宏定义可以简单配置。

  1. #define RT_USING_FINSH

此宏定义在rtconfig.h中,用于在RT-Thread中打开finsh,并将其作为shell。

  1. #define FINSH_USING_SYMTAB
  2. #define FINSH_USING_DESCRIPTION

此宏定义在rtconfig.h中。打开FINSH_USING_SYMTAB可以在finsh中使用符号表,打开FINSH_USING_DESCRIPTION后需要给每个finsh的符号添加一段字符串描述。这两个宏一般都需要打开。

  1. #define FINSH_USING_HISTORY

此宏定义在rtconfig.h中,打开后可以在finsh中使用方向键(上下)回溯历史指令。

  1. #define FINSH_USING_MSH

此宏定义在rtconfig.h中,打开后finsh将支持传统shell模式。

  1. #define FINSH_USING_MSH_ONLY

此宏定义在rtconfig.h中,打开后finsh仅支持msh模式。

如果打开了FINSH_USING_MSH而没有打开FINSH_USING_MSH_ONLY,finsh同时支持两种c-style模式与msh模式,但是默认进入c-style模式,执行 msh()即可切换到msh模式,在msh模式下执行 exit后即退回到c-style模式。

  1. #define DFS_USING_WORKDIR

此宏定义在rtconfig.h中,它实际上是DFS组件的宏,但由于它与finsh有一定关系,因此在这里也介绍一下。打开此宏后finsh可以支持工作目录。当使用msh时,建议打开此宏。

  1. #define FINSH_USING_AUTH

此宏定义在rtconfig.h中,打开则开启权限验证功能。系统在启动后,只有权限验证(目前仅支持密码验证)通过,才会开启finsh功能,提升系统输入的安全性。

  1. #define FINSH_DEFAULT_PASSWORD "rtthread"

此宏定义在rtconfig.h中,设置finsh在密码验证模式下的默认密码。密码长度大于等于FINSH_PASSWORD_MIN(默认6),小于等于FINSH_PASSWORD_MAX(默认RT_NAME_MAX)。