使用AC6编译RT-Thread(如何升级arm编译器)
该文章主要主要内容是讲解如升级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 及其以上版本的编译器上进行编译,实现方法有两种:
- 直接升级 MDK 为 5.26 及其以上版本;
- 下载安装 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编译器)相关推荐
- rt thread studio使用QBOOT和片外flash实现OTA升级
我们这里要使用单片机外部flash作为OTA的下载分区,外部flash硬件连接关系 PB3-->SPI3_CLK PB4-->SPI3_MISO PB5-->SPI3_MOSI PE ...
- stm32f407单片机rt thread 片外spi flash OTA升级配置示例
参考地址https://www.rt-thread.org/document/site/application-note/system/rtboot/an0028-rtboot/ 第一步,生成Boot ...
- Keil5使用AC6编译后,生成bin文件变为生成文件夹的解决办法
Keil5使用AC6编译后,生成bin文件变为生成文件夹的解决办法 KEIL AC5到AC6需要注意的地方 从AC5移植到AC6 解决流程 关键步骤 最近同事咨询改用keil的最新版本编译器编译原来的 ...
- 手把手教你升级Keil MDK的ARM编译器
关注.星标公众号,不错过精彩内容 作者 | strongerHuang 微信公众号 | strongerHuang 今天在我的技术交流群里,有朋友问了这么一个问题:怎么才能用更高的编译器呀? 这位朋友 ...
- 关于RT thread系统节拍时钟的配置
关于RT thread系统节拍时钟的配置 -----本文基于rt-thread-3.1.3版本编写 首先,使用RTthread OS时,要配置(或者明白)它的系统节拍 ...
- rt thread 使用FAL遇到fal_init() undefined reference
rt thread FAL 0.5版,之前有没有不知道,遇到一个坑. 在main.cpp里面已经 #include <fal.h> fal_init() 编译报错,说 fal_init() ...
- RT Thread根据开发板制作BSP方法
之前一直不懂怎么使用RT Thread的软件包,感谢网上的大神,看了你们的博客后大概了解一些,在此做下记录.用RT Thread软件包需要RT Thread的系统,但是RT Thread和RT Thr ...
- 基于rt thread smart构建EtherCAT主站
我把源码开源到到了gitee,https://gitee.com/rathon/rt-thread-smart-soem 有兴趣的去可以下载下来跑一下 软件工程推荐用vscode 打开.rt thre ...
- 正点原子delay函数移植到rt thread操作系统(HAL库)
正点原子教程中涉及到的操作系统只涉及了UCOS的教程,其中例程的system文件夹中的delay.c函数只是适配了UCOS. 下面将delay.c函数移植到rt thread中,使用的bsp是rt t ...
最新文章
- FortiGate 硬件加速
- SD-WAN将成为物联网部署中的骨干网—Vecloud
- symbian 获取手机型号
- 区块链面试过程中的40个问题
- 生成下拉框的几种方法总结——数据来源:数据库
- 纯IPv6环境App适配的坑
- WinForm------TextEdit只能输入数字
- 嵌入式操作系统内核原理和开发
- 关于C的函数指针总结
- ffmpeg七大库功能介绍——机翻、非人话
- 2.6配置自定义PropertyEditors
- I2C 时序详解,精确到每一个时钟
- 中小企业如何选择OA协同办公产品?最全的对比都在这里了
- 您似乎与家庭管理员不在同一个国家/地区,油管换区过程记录
- 利用js制作动态小时钟
- python入门(四)小康小白
- arduino控制声音传感器
- DS-112时间继电器
- 219年北京移动校园卡200打一年究竟是不是骗局?到底有没有坑?
- B2C网站宽度和风格的探讨