CubeMx工程增加FreeRtos支持

对于stm32一些ram和flash相对大一些的mcu,增加一个实时操作系统,会使程序控制更加灵活。本文阐述一下通过CubeMx自动添加FreeRtos的方法,和使用visualgdb加载CubeMx生成项目的方法。

一、软件环境

1、CubeMx 5.2.0

2、VisualStudio2017

3、VisuualGDB 5.4R3

二、步骤

1、用CubeMx创建一个项目,因为手头的板子是野火挑战者Stm32F429开发板,所以cpu型号选择Stm32f429igtx。

2、配置RCC,选择外部晶振

 3、配置Clock

4、 设置系统时钟源,不要用Systick,最好使用一个定时器。这里我们选择Timer2作为系统时钟源。

5、在中间件中添加FreeRtos

 

在FreeRtosTasks and Queues界面已经自动建立了一个默认Task了。我们点击Add按钮,添加三个自定义Task。

 到此FreeRtos已经添加完了,为了观察效果,我们设置一下Led灯的GPIO

 6、在Project Manager内配置输出工程代码格式

 其实,选择STM32CubeMxIDE、SW4STM32、TrueStudio、makefile都可以,因为这四种IDE都使用的是arm-gcc编译器。

点击 

生成项目代码。

/

7、用VisualStudio新建一个空白解决方案

8、在空白解决方案里添加一个嵌入式工程,点击确定

9、在工程向导中如下选择,然后点击下一步

 10、输入mcu型号 stm32f429ig,浮点数支持选择硬件支持,点击下一步

11、选择CubeMx生成项目代码的目录,切记VisualStudio项目目录,不能和CubeMx生成的工程目录重名。点击下一步。

 12、配置Debug选项,根据实际情况选择,因为我用的是CMSIS-DAP仿真器,所以做如下选择;点击完成。

 VisualGDB就会把CubeMx生成的项目代码自动复制到,工程目录下,并且在工程中自动添加所有源文件(.c;.cpp;.asm)文件。但是,头文件的包含路径,则需要我们自己添加。

13、右键点击项目图标,弹出菜单,选择 VisualGDB Project Properties,弹出界面

14、在 弹出界面中,我们选择 Embedded framework标签,将两个VirsualGDB自动添加的模块去掉,然后点击 apply按钮

 

 15、在 弹出界面中,选择 makefile setings标签,并修改Preprocessor macros 和 Include directories 两项。点击 OK按钮。

 因为我的 MCU 是 STM32F429IGTx,所以在Preprocessor macros 添加 STM32F4xx 宏,注意大小写。把工程目录内所有头文件的文件夹路径,都添加到 Include directories 下。

 

到此,CubeMx 生成的带有FreeRtos系统的程序框架,就已经完全导入到 VirsualGDB中了,我们按下F7编译一下,

 观察编译输出,完全正确。

16、测试FreeRtos

在 main.c 定义几个宏

分别修改 StartTask02,StartTask03,StartTask04 代码如下

重新编译一下程序,点击F5运行,VisualGDB 就会自动把程序下载到开发板,并且运行

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值