MDK 5.37 error: unknown register name ‘control‘ 和 Error: C9932E: Cannot obtain license for Compiler

一、背景

2022年6月6日,满心欢喜地下载了时下最新版的 MDK5.37,用于编译基于STM32F4VET6的ROS小车底盘源码。毫不例外地出了问题。

二、流程记录

1、初打开工程时,提示没有设备

于是下载安装了STM32F4的设备包。可以双击安装包安装,也可以按如下步骤手动安装:

步骤③之后,进入设备包保存路径,可以定位到如下.pack文件,选择并导入即可:

2、现在有设备了,编译,报错

../CORE\core_cmFunc.h(66): error: unknown register name 'control' in asm

把报错粘贴到百度,大致了解到是编译器太新了,需要切换为旧编译器,步骤如下:

发现2022.6.6最新版的MDK537居然没有自带 Version 5 的编译器,于是按照 这篇博客下载并添加了 Version 5 的编译器。以为随便哪个 Version 5 的编译器都可以,就真随便下了一个,而且随便下载的这个是不用安装的,解压之后直接就是个文件夹放在自定义的路径下就行。但是编译依然会报错,反复使用注册机注册也无果:

Error: C9932E: Cannot obtain license for Compiler

3、于是下载了MDK531版本,编译成功

检查 MDK531 的 Version 5 编译器具体版本号为V5.06 update 6 (build 750)

再根据这篇博客下载安装 V5.06 update 6 (build 750) 的编译器到 MDK537 上,步骤如下:


定位到编译器文件夹所在的文件夹,选择编译器文件夹,添加即可。这样,就可以使用最新版的MDK537编译旧工程了,暂时还不知道MDK537相对之前的版本更新了啥,也没感觉出有啥让人眼前一亮的东西。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值