文章目录
1.简介
Finsh是RT-Thread的命令组件,它提供了一套供用户在命令行调用的操作接口,我们使用它可以很方便的进行调试调试或查看系统信息。它可以使用串口/以太网/USB等方式与PC机进行通信,硬件拓扑结构如下:
2.Finsh功能配置
Fish功能可进行裁剪配置,我们可根据实际情况进行配置,宏配置位于Rtconfig.h,具体配置项如下:
3. Finsh启动流程
4.1 Finsh控制台通讯参数设置
FinSH在系统启动回自动按照配置打开控制台设备,但控制台通讯参数(如串口的波特率等)不明确,因此我们需在应用程序中重新设置控制台设备的参数。
static void console_uasrt_init(void)
{
rt_device_t console_device = NULL;
struct serial_configure console_device_config;
console_device = rt_device_find(RT_CONSOLE_DEVICE_NAME);
if (console_device)
{
console_device_config.baud_rate = BAUD_RATE_115200;
console_device_config.data_bits = DATA_BITS_8;
console_device_config.stop_bits = STOP_BITS_1;
console_device_config.parity = PARITY_NONE;
console_device_config.bit_order = BIT_ORDER_LSB;
console_device_config.bufsz = 0x40;
rt_device_control(console_device, RT_DEVICE_CTRL_CONFIG,&console_device_config);
}
}
/********************************************************************
* @创建人 : 揭成
* @功能 : 平台初始化
* @输入 : NONE
* @输出 : NONE
********************************************************************/
void bsp_init( void )
{
console_uasrt_init();
return;
}
int main(void)
{
bsp_init(); /*初始化硬件配置*/
......
}
5. 连接Finsh控制台
设置完控制台的通讯参数后,我们在PC打开一个PC端串口控制,设置对应的串口参数就可以使用FisSH功能了。
这里我使用Xshell来连接控制台串口,连接成功后即有命令提示符 msh>,具体连接步骤如下:
6.FinSH功能测试
6.1标题打印线程信息
6.2打印信号量
7.总结
本文总结了RT-thread的FinSH功能进行了分析与实践。
8.关于作者
关注我的公众好,分享嵌入式开发,android开发的优质原创文章。