问题描述
Keil MDK-ARM v5.38版本打开RT-Thread 的软件仿真工程文件,之后进行编译时报错 “.\build\rtthread-stm32.axf” - 3 Error(s), 0 Warning(s).
keil报的三个错误为:
问题分析
报错信息提示为三个使用的宏没有定义。理论上讲从RT-Thread官网上下载的demo用例不应该出现这种问题才对。
问题解决
经过对比5.38版本相较于旧版更新的部分功能,发现自MDK5.37开始,AC5(ARMCC)不再默认安装,此时在Keil中打开Options for Target可以看到Code Generation ARM Compiler如下:
由于compiler version6编译器中没有SIG_ERR等宏,所以使用compiler version6对RT-Thread软件仿真文件进行编译时会报错。
解决办法
- 改用Keil MDK-ARM V5.37或更早的版本
- 手动安装AC5(ARMCC)
结果
改用Keil MDK-ARM V5.35后,在Keil中打开Options for Target可以看到Code Generation ARM Compiler如下:
选中compiler version5后再对工程文件进行编译。
编译成功!
安装包
需要Keil MDK-ARM V5.35的文末自取:
- Keil MDK-ARM V5.35
链接:https://pan.baidu.com/s/1OXv1n3hTDNNuRMjj9Wvaxw
提取码:axra