stm32cubmx添加rtthread的finsh组件

这几天都在弄这个事,一直有问题,我就奇怪网上写的步骤很简单呀,我这照做了怎么出现很多问题,用rtthread3.1.2版本加finsh加了好几天,终于打印msh>了,输入命令还回复命令不存在。决定将rtthread升级到3.1.3再加finsh,确实容易了。因为3.1.2版本rt_hw_console_getchar函数没有和finsh的getchar函数挂钩,需自己添加,3.1.3就没这个问题。

下面说一下先将工程的rtthread版本升级,再加finsh步骤。

前提是stm32cubmx里已经添加rtthread3.1.3了。

添加步骤参考:

(122条消息) 基于 STM32CubeMX 添加 RT-Thread 操作系统组件(一)- 详细介绍操作步骤_Ch_champion的博客-CSDN博客_cubemx rtthread

1、用stm32cubmx打开工程,Software_Packs->Select Components

 

选中shell,(如果生成的工程里kernel里文件都出现地址错误,就把这个kernel重新选择一遍)

 

 工程设置:

点GENERATE CODE 生成工程:

 

由于3.1.3版本没有drivers文件,把下图标叹号的都删了。

 

rtconfig.h和context_tvds.s文件先删了重新添加。

context_tvds.s位置:Middlewares\Third_Party\RealThread_RTOS_RT-Thread\libcpu\arm\cortex-m3

rtconfig.h就在RT-Thread文件夹里。

以下报错就把stm32f1xx_it.c里的函数注释掉。

注意rtconfig.h里需重新配置下,默认#define RT_USING_HEAP是被隐掉了,需放开。

#define RT_USING_HEAP

如果用事件了就放开#define RT_USING_EVENT。

工程运行时又发现一个问题,线程多了就会导致有的线程初始化失败,是因为定义的堆内存小了。

#define RT_HEAP_SIZE 1024

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值