RT-Thread Nano在keil Simulator中的仿真

目的:使用STM32CubeMX生成包含RT-Thread Nano内核和FinSH控制台的keil工程,在没有硬件开发板的情况下,通过keil Simulator来运行系统,并通过SHELL来与系统进行交互。

一、使用STM32CubeMX生成RT-Thread Nano工程

官方文档已经说的很清楚了,这里就不赘述了,本例子使用3.1.5内核:基于 CubeMX 移植 RT-Thread

二、生成RT-Thread Nano工程的注意事项

1、生成包含shell的工程需要手动编辑rtconfig.h文件或者通过Configuration Wizard使能FinSH,否则编译会报错,如下图配置。

 2、生成的main函数中有while(1),main线程比finish线程优先级高,main一直运行导致finish线程一直没有运行,导致没有msh命令行出现,需要注释while(1)循环或者加延时rt_thread_mdelay,这点在官方资料里面有注意说明。

 此图为main中while独占cpu导致msh命令行没有输出。

三、keil Simulator配置

 如图所示,Dialog DLL:DARMSTM.DLL;Parameter :-pSTM32F103VE;这里参数根据具体的mcu型号进行配置,否则会出现下图所示的错误。

 正确配置后的仿真运行图:

 四、控制台串口输出的重映射,重映射rt_kprintf和rt_hw_console_getchar

这个很简单,只需要进入board.c,可以发现官方已经帮我们做好了。

 当然我们不能直接使用,除非官方的UartHandle句柄和cubemx中配置的串口一样,所以我们需要进行一点修改,进入cubemx生成的usart.c,复制里面自动生成的句柄,然后修改程序(让UartHandle绑定我们配置的串口):

下图为 cubemx生成的usart.c文件,将huart1赋值给UartHandle,来进行控制台串口的配置。

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值