硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1696|回复: 17
收起左侧

[MDK] 最新版MDK5.41联合STM32CubeMX差点将MDK经典的RTE用法折腾完犊子,堪称2025最强坑王组合

  [复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2025-2-28 06:28:06 | 显示全部楼层 |阅读模式
【前言】

MDK RTE最早支持经典RTE创建方式,这个最好用,F1,F4,F7系列都是支持的,  远比CubeMX好用

123.png

到了H7系列之后,不再支持经典方式了,仅支持配合CubeMX创建。CubeMX方便的仅仅是创建工程,参数配置可一点都不省事,每个参数成员的含义你都要搞清楚可以配置成功。

而经典RTE没有这个问题,它是直接把能用的配置都罗列好了,用户任选其一即可。

【巨坑来了】

MDK中间版本迭代带来的坑就不说了,各个版本之间都有些不兼容的问题。特别是配合CubeMX使用时,坑就从来没有断过。进入到5.40后,巨坑宣布正式来临,简称 “坑王”。

能被称之为坑王,不仅仅体现在坑比较多,而且体现在坑很深,深不见底。

(1)  首先是CMSIS6.X版本的发布,完全拒绝了与其它版本的兼容,根本就不再兼容了,使用MDK RTE问题层出不穷,用户必须配合好CMSIS6.X与CMSIS-Driver,CMSIS-DSP,CMSIS-Viwer,CMSIS-Compiler,CMSIS-RTOS V2,CMSIS-FreeRTOS,CMSIS-RTX,CMSIS-MbedTLS之间的版本关系,那个版本有问题都不好使,必须坑你一把
(2)  ST也不甘示弱,将计就计,直接一坑到底,新发布的STM32H7和STM32F4 pack大小仅有几MB了,用户还得单独下载CMSIS Driver STM32 pack安装。最重要的是MDK5.41彻底放弃了之前经典RTE创建方式,所有STM32系列芯片使用RTE必须使用STM32CubeMX了。

【艰辛排雷】

1、直接按照之前的RTE创建方式,被第1个拦路虎挡住了,这个是最难也最棘手的,如果这个解决不了,后面的所有工作都无法继续。

在RTE里面启动STM32Cube,  提示错误Error : generator 'CubeMX' missing. Install from 'https://www.st.com/en/development-tools/stm32cubemx.html#st-get-software' , 原本我的电脑是安装了6.12的,以为是版本问题就升级到6.13还是不行,只好卸载了,重新到官网下载,从6.x到6.13下载了十几个版本安装,分别安装C,D,E,F等盘符轮番测试均失败。怀疑是不是MDK RTE启动CubeMX命令失败了,所有就到ARM Github下载了昨天刚刚更新了CMSIS-ToolBox替换MDK 安装目录里面的这个软件包,您猜怎么着? 问题解决了,也就是说长达几个月的时间,MDK5.41没法使用RTE开发STM32。

简直无语到家了:

124.png

2、问题还远没有结束,前面更新了CMSIS-ToolBox,这个里面的cpackget.exe竟然无法正常打开STM32H7 pack,直接死机了。

1234.png

【高开低走】

这么方便的RTE用法,愣是差点被折腾废了,所以后来推出的综合模板,直接手动创建,没有再使用RTE创建了。

RTX5全家桶源码综合模板发布V3.0,含FreeRTOS内核版本,将其打造成直接面向实际项目应用的综合框架(2024-10-30)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=124516



【总结】

兼容性是嵌入式软件开发永久的痛。

经过这几天的研究算是把问题折腾明白了.  坑都被排除后,使用RTE创建也简单了很多,这几天录制一期视频,给大家分享下。相比于源码手动创建,创建过程要省事不少。


回复

使用道具 举报

12

主题

37

回帖

73

积分

初级会员

积分
73
发表于 2025-2-28 08:10:57 | 显示全部楼层
哪儿有文档介绍如何添加RTE源码的嘛,最好有详细步骤的那种
回复

使用道具 举报

13

主题

96

回帖

135

积分

初级会员

积分
135
发表于 2025-2-28 08:57:56 | 显示全部楼层
RTE绝对的王者,可惜了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
 楼主| 发表于 2025-2-28 09:41:28 | 显示全部楼层
Alo9611 发表于 2025-2-28 08:10
哪儿有文档介绍如何添加RTE源码的嘛,最好有详细步骤的那种

中间件的源码添加方式,这几天就发视频,官方文档不行,参考价值很低,坑太多。
回复

使用道具 举报

2

主题

72

回帖

78

积分

初级会员

积分
78
发表于 2025-2-28 10:17:58 | 显示全部楼层
大佬真的认真,踩雷了还死坑,对RTE是真爱。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
 楼主| 发表于 2025-2-28 10:49:17 | 显示全部楼层
CoderXMan 发表于 2025-2-28 10:17
大佬真的认真,踩雷了还死坑,对RTE是真爱。

主要是他们这个用了好几年了,有点强迫症,得把它解决了。
回复

使用道具 举报

0

主题

85

回帖

85

积分

初级会员

积分
85
发表于 2025-2-28 12:14:10 | 显示全部楼层
这个过程听着就刺激(生气)啊。
顺便一说,之前好像就是因为cubeMX,对这些“更高级,更方便”的代码生成工具产生了明确的不信任感
回复

使用道具 举报

14

主题

81

回帖

123

积分

初级会员

积分
123
发表于 2025-2-28 13:29:39 | 显示全部楼层
确实啊,我删除注册表,再重新安装MDK5.37,打开之前被MDK541打开(未保存)过的工程都不行,只能重新选择RTE里的配置。
真是天坑
回复

使用道具 举报

20

主题

121

回帖

181

积分

初级会员

积分
181
发表于 2025-2-28 14:00:02 | 显示全部楼层
MDK5.40选择RTE没有类似的问题
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2025-2-28 17:22:12 | 显示全部楼层
我也遇到这些问题, 期待ing
回复

使用道具 举报

24

主题

83

回帖

155

积分

初级会员

积分
155
发表于 2025-3-5 16:42:40 | 显示全部楼层
eric2013 发表于 2025-2-28 09:41
中间件的源码添加方式,这几天就发视频,官方文档不行,参考价值很低,坑太多。

大佬,视频发布了吗?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
 楼主| 发表于 2025-3-5 16:53:30 | 显示全部楼层
手牵手看夕阳 发表于 2025-3-5 16:42
大佬,视频发布了吗?

这两天就发布,已经准备差不多了
回复

使用道具 举报

80

主题

1328

回帖

1568

积分

至尊会员

积分
1568
发表于 2025-3-6 13:10:32 来自手机 | 显示全部楼层
mdk5.42发布了。
回复

使用道具 举报

1

主题

24

回帖

27

积分

新手上路

积分
27
发表于 2025-3-25 11:45:24 | 显示全部楼层
谢谢硬汉哥无私奉献,请问如果我MDK一直用5.39的话,然后CMSIS等工具包都用之前的版本可以吗?

然后还有一个问题,您说的下面的方法:
这么方便的RTE用法,愣是差点被折腾废了,所以后来推出的综合模板,直接手动创建,没有再使用RTE创建了。
这样的话,Event Recorder这些工具是否将无法使用,还是说所有CMSIS相关的工具都支持(因为他们都开源了)?
那这样的话,用您的工程(FreeRTOS/RTX),都能对常用的功能做好支持,是吗?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
 楼主| 发表于 2025-3-26 09:40:58 | 显示全部楼层
wsr2580 发表于 2025-3-25 11:45
谢谢硬汉哥无私奉献,请问如果我MDK一直用5.39的话,然后CMSIS等工具包都用之前的版本可以吗?

然后还有 ...

1、5.39的话,应该可以的。
2、各种工具可以正常使用,此贴, 这个是源码方式创建的,各种工具都可以使用的
RTX5全家桶源码综合模板发布V3.0,含FreeRTOS内核版本,将其打造成直接面向实际项目应用的综合框架(2025-03-10)
https://www.armbbs.cn/forum.php? ... d=124516&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2025-3-30 22:46:52 | 显示全部楼层
受不了RTE和CubeMX,所以自己做了一个类似经典RTE的东西:https://github.com/Deadline039/S ... ip-support-packFage
目前做了F1,F4,G4,支持UART,SPI,I2C,CAN,ETH,RTC外设,未来还要加更多的外设与芯片(目前在做H7的),F4,G4是用python解析数据手册生成的,但是现在bug挺多的。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
 楼主| 发表于 2025-3-31 09:03:37 | 显示全部楼层
Deadline039 发表于 2025-3-30 22:46
受不了RTE和CubeMX,所以自己做了一个类似经典RTE的东西:https://github.com/Deadline039/STM32-Template? ...

回复

使用道具 举报

22

主题

182

回帖

248

积分

高级会员

积分
248
QQ
发表于 2025-4-1 13:33:32 | 显示全部楼层
Deadline039 发表于 2025-3-30 22:46
受不了RTE和CubeMX,所以自己做了一个类似经典RTE的东西:https://github.com/Deadline039/STM32-Template? ...

这个可以,EIDE 牛的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-4-26 00:29 , Processed in 0.335093 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表