糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > STM32F407+CubeMX+Keil上移植RTX5实时系统

STM32F407+CubeMX+Keil上移植RTX5实时系统

时间:2020-10-16 03:36:26

相关推荐

STM32F407+CubeMX+Keil上移植RTX5实时系统

文章目录

一、前言二、CubeMX2.1、RCC 与 Clock Configuration2.2、SYS2.3、GPIO2.4、Project Manager三、Keil3.1、Target3.2、Output3.3、C/C++(AC6)3.4、Debug3.5、模板代码(main.c)3.6、开始移植RTX53.6、隔离Device上的文件四、代码4.1、main.h4.2、main.c五、DEBUG5.1、RTX RTOS六、细节补充6.1、移植Event Recorder调试工具

一、前言

STM32F407主频高,Cortex-M4的系统架构较为简单(相比Cortex-M7),使用STM32F407做项目的同学肯定比较多。本博文介绍如何在STM32F407上完成RTX5的移植。STM32F103与STM32F407的移植步骤是一样的,STM32H743就稍微有一点不一样(中途会弹出STM32CubeMX)。

我使用的Keil版本:

一定要使用最新的CMSIS软件包。下载地址:/dd2/pack/

STM32工程:

链接:/s/1R-zVwt8iqEJFSWCiUGgOsA

提取码:eslp

二、CubeMX

2.1、RCC 与 Clock Configuration

2.2、SYS

2.3、GPIO

2.4、Project Manager

生成代码。

三、Keil

3.1、Target

ARM Compiler选择V5与V6.14都可以,因为V5都快要淘汰了,所以选择V6.14。Use MicroLIB一定要勾选。IRAM1与IRAM2默认勾选即可。

3.2、Output

3.3、C/C++(AC6)

3.4、Debug

按照自己的情况,配置Debuger。

接着,编译一下工程。

3.5、模板代码(main.c)

移植RT5之前,先准备能正常闪烁LED的工程。

编译,烧写代码。观察LED灯是否在闪烁。

3.6、开始移植RTX5

点击OK后,返回Keil的工程文件夹。可以看到,多了一个CMSIS的图标,里面全是RTX5的源码。

3.6、隔离Device上的文件

完成隔离步骤后,点击编译代码。发现有三个错误信息,表示以下函数被重复定义:

PendSV_HandlerSysTick_HandlerSVC_Hanler

在文件stm32f4xx_it.c里备注掉刚才说重复定义的三个函数。值得注意的是,这三个函数在每一次使用STM32CubeMX生成工程代码后,都要重新一次备注。

编译代码。

四、代码

4.1、main.h

4.2、main.c

编译,烧写代码。

五、DEBUG

5.1、RTX RTOS

先进入DEBUG模式,接着打开View → Watch Windows → RTX RTOS,打开RTX RTOS调试窗口。

在RTX RTOS窗口可以看到,刚才创建的Start线程与LED线程的信息。

等待约10S后,Start线程退出了。

RTX5在STM32F407VET6上移植成功!

六、细节补充

6.1、移植Event Recorder调试工具

编译,烧写代码后,就可以使用Keil的分析窗口(Analysis Windows)中的System Analyzer,Event Recorder,Event Statistics去调试程序了。

如果觉得《STM32F407+CubeMX+Keil上移植RTX5实时系统》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。