将 LiteOS 移植完成之后,编译报如下错误:

image

环境 版本
Keil V5.37.0.0
Windows11 2022/12/22
ARM::CMSIS 5.9(2022-05-22)
开发板 STM32L431RCT6
liteos-develop 2019-03-22
Keil 编译器版本 6 2022/12/22

经过调试,发现是 Keil 编译器版本太高,我的编译器版本是 6。所以,需要更换编译器版本,下载 Keil 编译器 5:https://pan.baidu.com/s/1_veOeQSrfzYvnbspVBlE5A?pwd=jffj

下载好了之后,把压缩包解压到 Keil 的安装目录 -> ARM 文件夹下:

image

Project -> Manage -> Project Items...:

image

Folders/Extensions -> Use ARM Compiler -> ...:

image

点击 Add another ARM Compiler:

image

找到刚才解压的地方,选择 ARMCC:

image

关闭 Close,记得选择 OK。然后,打开魔法棒,Target -> 选择编译器版本:

image

再重新编译,5 编译器的速度比 6 慢很多。Keil 没有报错(反复编译很多次),此时的 STM32L431 可以正常执行,LED 也闪烁正常,串口也正常返回字符串。