众所周知,鸿蒙的内核可以基于STM32,也有一些发行版的固件,但很多运行鸿蒙LiteOS的STM32系列处理器,都要在Keil μVision 5开发,虽然Keil MDK已经升级到ARM Compiler 6,但大量例程还是用ARM Compiler 5,如果你想同时使用ARM Compiler 5和ARM Compiler 6怎么办?很多帖子都说这两个版本的编译器不能共存,什么Compiler 5需要用浮动License之类的以讹传讹,笔者参考了很多在线帖子,包括一大堆AI,都无法解决这个问题。经过两个晚上的实践,无数次重装,探索出下步骤:


1. 安装编译器

  • ARM Compiler 6:下载本帖附件,安装MDK5.43a_.exe,这个MDK内置的是ARM Compiler 6,安装完以后的目录结构如下:

在这里插入图片描述

安装过程没什么么好说的,一路next,很快就能安装好,这个版本内置了一些常用芯片的设备库,注意一定要用英文的目录名,如果是中文目录名,不能用中、数等字,否则文件编译不过去,安装完以后还会下载最新的设备库和CMSIS库,以及调试器的最新动态库,安装时间明显长很多。
安装完IDE以后,还会自动启动Pack Installer,开始的时候只有ARM的通用器件,并没有各厂家的芯片,各厂家的芯片需要从芯片厂商处下载.pack文件
在这里插入图片描述
到https://www.keil.arm.com/devices/搜索并下载你需要的芯片pack包,以STM32F4为例,本贴附件有STM32F4,STM32H5的pack包
在这里插入图片描述
搜索结果随便选择一个设备,进入这个设备详情,就可以看到下载链接了,一般一个产品线通用一个pack,所以可以随便选。
在这里插入图片描述
比如选中STM32F469AFHx,就可以进入下载界面
在这里插入图片描述
或者直接双击,将下载的.pack导入到pack Installer即可
在这里插入图片描述

在这里插入图片描述

安装完后最好重启,让路径设置生效

2. 安装ARM Compiler 5

下载本帖附件,安装ARMCompiler_506_Windows_x86_b960.zip,注意安装的目录最好不要用缺省目录,放在Keil_V5的ARM路径下。笔者安装目录如下:
在这里插入图片描述
这个过程没啥好说的,路径选好了,一路next

3. 在Keil中配置编译器路径

  1. 用魔法注册Keil,这个没啥好说的,魔法工具自己搜,笔者没法上传,如果需要,点赞关注截屏发给我,我私发给你。否则只能编译<32K的程序
  2. 随便打开一个Keil ARM的工程,后缀是.uvprojx的哪种,进入 Project → Manage → Project Items → Folder/Extensions
    在这里插入图片描述
    这里显示的是ARM Compiler 6的信息,我们要注册ARM Compiler 5
  3. Folders/Extensions选项卡中:
    • 点击Use ARM Compiler右侧的...按钮
    • 添加Compiler 5的路径(就是刚刚装ARM Compiler 5的那个路径)

在这里插入图片描述
Keil会自动发现这是ARM Compiler 5的路径
在这里插入图片描述


4. 项目级切换

  • 随便打开具体工程,进入 Project → Options for Target
  • Target选项卡的ARM Compiler下拉菜单中:
    • 选择Use default compiler version 5(使用Compiler 5)
    • Use default compiler version 6(使用Compiler 6)
      在这里插入图片描述

5. 验证编译器

  • 编译时观察输出窗口:
    • Compiler 5会显示:

      *** Using Compiler 'V5.06 update 7 (build 960)', folder: 'e:\Keil_v5\ARM\ARMCCv506u7\Bin'
      

      在这里插入图片描述

    • Compiler 6会显示:

      *** Using Compiler 'V6.24', folder: 'e:\Keil_v5\ARM\ARMCLANG\Bin'
      

在这里插入图片描述

6. 切换CMSIS版本

如果你用的是老版本的CMSIS库,用Compiler 6可能会产生很多错误,这个时候就要切换了
下载CMSIS 5.9的标准库,链接:https://github.com/ARM-software/CMSIS_5/releases/download/5.9.0/ARM.CMSIS.5.9.0.pack,这个自己下,主要CSDN限制资源包最大1G,已经用完了。
下载以后直接双击,Keil会自动安装,安装完以后,切换到Keil,会提示pack库更新,确定刷新系统配置即可。
然后选择工具栏的Select Software Packs,如果用的是Compiler 6的,就要用如下配置:
在这里插入图片描述
如果用的是Compiler 5的,就要用如下配置
在这里插入图片描述


注意事项

  1. 版本兼容性
    • Compiler 6支持Cortex-M33/M55等新架构
    • Compiler 5兼容旧项目(如ARM7/9)
  2. 宏定义差异
    • Compiler 6增加了很多宏定义,比如需显式启用--target=arm-arm-none-eabi
    • 旧项目迁移时注意指令集(如--cpu=Cortex-M4

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐