该文章主要主要内容是讲解如升级arm编译器的两种方法(1) 直接升级keil为新版本(2) 或者下载高版本编译器进行安装】,基于主题 rt-thread 在 Arm Compiler 6 (armclang)进行编译。

目录

在 MDK5 上使用 Arm Compiler 6 进行编译

方法一:升级 MDK 版本至 5.26 以上

方法二:下载安装 32 位 Arm Compiler 6

下载

安装

设置

使用

常见问题


在 MDK5 上使用 Arm Compiler 6 进行编译

RT-Thread 一般 Arm Compiler5 进行编译。当然也可以在 MDK5 上使用 Arm Compiler 6.10.1 及其以上版本的编译器上进行编译,实现方法有两种:

  1. 直接升级 MDK 为 5.26 及其以上版本;
  2. 下载安装 32 位 Arm Compiler 6。

非rtt的话,注意就是需要自行根据编译器版本号,定义arm clang相关的宏,便于兼容使用。

方法一:升级 MDK 版本至 5.26 以上

以升级 MDK 的方式增加对 Arm Compiler 6 的支持。卸载当前低版本 MDK,重新安装 5.26 版本及其以上的 MDK(详情查看 Keil MDK 安装)。

安装完成之后:在编译工程之前,选择使用 6.10.1 及其以上的编译器即可。

方法二:下载安装 32 位 Arm Compiler 6

下载

以下载安装编译器的方式增加对 Arm Compiler 6 的支持(请使用 MDK5.1.2 版本或以上)。对于 Arm Compiler 6,请下载 Windows 32-bit 进行安装,以使用 MDK 许可证。

编译器下载地址:Arm Compiler for Embedded – Arm Developer,选择 6.10.1 版本或以上版本。

安装

  • 找到 MDK5 安装路径,如默认路径 C:\ Keil_V5 \ ARM ,在 ARM 文件夹下新建文件夹并重命名,例如 C:\ Keil_V5 \ ARM \ ARMCCv506u6。

  • 解压下载的文件,双击 setup.exe 进行安装,将新版本的编译器安装到上述新建目录下。

设置

1、点击 Project - Manage - Project Items - Folders/Extensions. 勾选 Use ARM Compiler,点击右侧按钮 ...。(下图是官方图)

2、按照下图,单击 Add another ARM Compiler Version to List 添加新版本的编译器路径,添加新的路径之后会显示相应的新版本编译器,最后点击 Close。

使用

在编译工程之前,选择使用新的编译器即可。

常见问题

Q1: 编译时出现 “ArmClang: Error: No license checking back-end registered with id Keil.“

A: 这是由于安装了 64-bit 的 Arm Compiler 造成的,MDK 许可证不支持 Arm Compiler 6.x 64-bit,仅支持 Arm Compiler 6.x 32-bit,请下载安装 Compiler 6.x 32-bit。

Q2: 编译出现很多问题

A: 如果编译出现很多问题,那么很有可能就是AC6支持的不好,就先使用AC5吧

Q3: 还有就是不支持 c99 的问题。

A: AC6不识别c99的。此时可以将c99替换为-std=c99。一个示例如下:

在rtt中,这个问题一般存在于某些组件里,比如在分组device dirvers分组中的某些内容依赖c99,但是AC6不识别c99的。此时可以将c99替换为-std=c99。 右键device drivers分组,里面有个--c99设置,改为 -std=c99。然后就可以编译通过了。

 


使用AC6编译RT-Thread(如何升级arm编译器)相关推荐

  1. rt thread studio使用QBOOT和片外flash实现OTA升级

    我们这里要使用单片机外部flash作为OTA的下载分区,外部flash硬件连接关系 PB3-->SPI3_CLK PB4-->SPI3_MISO PB5-->SPI3_MOSI PE ...

  2. stm32f407单片机rt thread 片外spi flash OTA升级配置示例

    参考地址https://www.rt-thread.org/document/site/application-note/system/rtboot/an0028-rtboot/ 第一步,生成Boot ...

  3. Keil5使用AC6编译后,生成bin文件变为生成文件夹的解决办法

    Keil5使用AC6编译后,生成bin文件变为生成文件夹的解决办法 KEIL AC5到AC6需要注意的地方 从AC5移植到AC6 解决流程 关键步骤 最近同事咨询改用keil的最新版本编译器编译原来的 ...

  4. 手把手教你升级Keil MDK的ARM编译器

    关注.星标公众号,不错过精彩内容 作者 | strongerHuang 微信公众号 | strongerHuang 今天在我的技术交流群里,有朋友问了这么一个问题:怎么才能用更高的编译器呀? 这位朋友 ...

  5. 关于RT thread系统节拍时钟的配置

    关于RT thread系统节拍时钟的配置                  -----本文基于rt-thread-3.1.3版本编写 首先,使用RTthread OS时,要配置(或者明白)它的系统节拍 ...

  6. rt thread 使用FAL遇到fal_init() undefined reference

    rt thread FAL 0.5版,之前有没有不知道,遇到一个坑. 在main.cpp里面已经 #include <fal.h> fal_init() 编译报错,说 fal_init() ...

  7. RT Thread根据开发板制作BSP方法

    之前一直不懂怎么使用RT Thread的软件包,感谢网上的大神,看了你们的博客后大概了解一些,在此做下记录.用RT Thread软件包需要RT Thread的系统,但是RT Thread和RT Thr ...

  8. 基于rt thread smart构建EtherCAT主站

    我把源码开源到到了gitee,https://gitee.com/rathon/rt-thread-smart-soem 有兴趣的去可以下载下来跑一下 软件工程推荐用vscode 打开.rt thre ...

  9. 正点原子delay函数移植到rt thread操作系统(HAL库)

    正点原子教程中涉及到的操作系统只涉及了UCOS的教程,其中例程的system文件夹中的delay.c函数只是适配了UCOS. 下面将delay.c函数移植到rt thread中,使用的bsp是rt t ...

最新文章

  1. FortiGate 硬件加速
  2. SD-WAN将成为物联网部署中的骨干网—Vecloud
  3. symbian 获取手机型号
  4. 区块链面试过程中的40个问题
  5. 生成下拉框的几种方法总结——数据来源:数据库
  6. 纯IPv6环境App适配的坑
  7. WinForm------TextEdit只能输入数字
  8. 嵌入式操作系统内核原理和开发
  9. 关于C的函数指针总结
  10. ffmpeg七大库功能介绍——机翻、非人话
  11. 2.6配置自定义PropertyEditors
  12. I2C 时序详解,精确到每一个时钟
  13. 中小企业如何选择OA协同办公产品?最全的对比都在这里了
  14. 您似乎与家庭管理员不在同一个国家/地区,油管换区过程记录
  15. 利用js制作动态小时钟
  16. python入门(四)小康小白
  17. arduino控制声音传感器
  18. DS-112时间继电器
  19. 219年北京移动校园卡200打一年究竟是不是骗局?到底有没有坑?
  20. B2C网站宽度和风格的探讨

热门文章

  1. 开启xmp1还是2_王者荣耀神秘商店暑假什么时候开启?神秘商店2020年暑假开启时间...
  2. 非科班java秋招总结和学习路线建议
  3. 乐高 | 统一运营平台架构设计
  4. oracle 改颜色,AE怎么调整、改变图像的一部分颜色?
  5. 心算任务诱发fNIRS波动的频域分析
  6. speedoffice(PPT)怎么添加着重号呢?
  7. 为知笔记,Ulysses和Effie哪个更适合记者?
  8. 动作游戏战斗系统设计综述
  9. 视觉惯导slam研究综述
  10. python炫酷烟花表白源代码,用python画烟花的代码