打印
[STM32H7]

Cube-Keil上移植RTX5实时系统

[复制链接]
844|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
drer|  楼主 | 2021-9-4 17:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
一、前言
在CM内核上,RTX5好像已经无敌了。为此,学习如何在STM32H743上完成RTX5的移植。
我使用的Keil版本:

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

本次实验的工程分享:
链接:https://pan.baidu.com/s/1ENtnyZYiQmdRNC6BNUdFvQ
提取码:it0u


使用特权

评论回复
沙发
drer|  楼主 | 2021-9-4 17:29 | 只看该作者
二、CubeMX2.1、RCC 与 Clock Configuration



使用特权

评论回复
板凳
drer|  楼主 | 2021-9-4 17:30 | 只看该作者
2.2、SYS的配置


使用特权

评论回复
地板
drer|  楼主 | 2021-9-4 17:30 | 只看该作者
2.3、GPIO的配置


使用特权

评论回复
5
drer|  楼主 | 2021-9-4 17:31 | 只看该作者
2.4、DEBUG的配置

使用特权

评论回复
6
drer|  楼主 | 2021-9-4 17:32 | 只看该作者
2.5、Project Manager



使用特权

评论回复
7
drer|  楼主 | 2021-9-4 17:33 | 只看该作者
三、Keil3.1、Target


使用特权

评论回复
8
drer|  楼主 | 2021-9-4 17:34 | 只看该作者
3.2、Output


接着,编译一下工程。


使用特权

评论回复
9
drer|  楼主 | 2021-9-4 17:35 | 只看该作者
3.3、模板代码(main.c)

在main.c添加用户代码,用于测试基础模板是否能正常工作。经过我的测试,板子的LED灯闪烁。


使用特权

评论回复
10
drer|  楼主 | 2021-9-4 17:36 | 只看该作者
3.4、开始移植RTX5

点击Resolve之后,最后点击OK。


使用特权

评论回复
11
drer|  楼主 | 2021-9-4 17:37 | 只看该作者
弹出启动STM32CubeMX,点击启动。

这个STM32CubeMX的工程用于生成RTX5代码,跟原来工程模板上的那个不一样的。不小心关闭的话,会导致移植RTX5失败,请注意了。


使用特权

评论回复
12
drer|  楼主 | 2021-9-4 17:37 | 只看该作者
生成代码完毕后,可以关闭这个STM32CubeMX了。

回到Keil软件,可以看到多了一些文件。

使用特权

评论回复
13
drer|  楼主 | 2021-9-4 17:38 | 只看该作者
隔离Device与STM32CubeMX:Common Source下的文件。在文件下点击右键,选择“Options for component Class “Device”。接着,取消勾选Include in target build。

隔离如下这些文件后,继续编译工程,发现还有3个错误。



使用特权

评论回复
14
drer|  楼主 | 2021-9-4 17:39 | 只看该作者
这三个函数,每一次使用CubeMX生成工程代码后,都要重新备注,这里需要注意!至此,清除所有错误后,RTX5移植成功。接下来还需要修改代码,让RTX5运行起来。

使用特权

评论回复
15
drer|  楼主 | 2021-9-4 17:40 | 只看该作者
四、代码4.1、main.h


使用特权

评论回复
16
drer|  楼主 | 2021-9-4 17:41 | 只看该作者
4.2、main.c

在int main(void)之前,定义RTX5任务的一些变量。


在int main(void)之前,定义RTX5任务的一些变量。


使用特权

评论回复
17
drer|  楼主 | 2021-9-4 17:41 | 只看该作者
最后,编写三个函数的内容。

编译,烧写代码到STM32H743里,LED灯开始闪烁!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

60

主题

3309

帖子

4

粉丝