1、基于RT-Thread+RA6M4的SHELL介绍
除了仿真器很多时候我们需要使用串口进行命令行的输入输出调试。RT-Thread自带FINSH组件,实现该需求,这里简单介绍下RT-Thread的Finsh
关键代码介绍
串口初始化注册流程
Reset_Handler->entry->rtthread_startup->rt_hw_board_init->rt_hw_usart_init(rtconfig.h中定义RT_USING_SERIAL)->rt_hw_serial_register
设置如下回调函数
device->init = rt_serial_init;
device->open = rt_serial_open;
device->close = rt_serial_close;
device->read = RT_NULL;
device->write = RT_NULL;
device->control = rt_serial_control;
终端串口初始化
Reset_Handler->entry->rtthread_startup->rt_hw_board_init->rt_console_set_device(RT_CONSOLE_DEVICE_NAME);其中rtconfig.h中定义#define RT_CONSOLE_DEVICE_NAME “uart7”->rt_device_open
全局变量_console_device为新打开的串口设备。
使用仿真器跟踪可知,最终调用R_SCI_UART_Open进行了串口的配置
原作者:qinyunti
更多回帖