keil5工程 AC5 编译器升级 AC6编译器

news/2025/2/3 7:28:31/

keil5工程 AC5 编译器升级 AC6编译器

  • 1.概述
  • 2.移植

1.概述

传统keil mdk的编译速度远远落后于IAR,但自从keil新版发布之后,AC6编译器要超过了IAR的编译速度,接下来我将简单叙述一下,如何基于正点原子的工程移植。

2.移植

首先我们打开一个工程,我这里打开的是正点原子TFT LCD实验工程。
keil工程界面
打开后工程的界面如上图所示,接下来点击图中的按钮
在这里插入图片描述

出来的界面是这样的
在这里插入图片描述

然后点击图中的地方修改成,V6的编译器
在这里插入图片描述
再点击ok,进行编译

在这里插入图片描述
编译之后可以看见,输出的错误有很多,这时需要修改一些东西。
打开sys.c文件,可以看到有很多错误
在这里插入图片描述
把上面报错的函数全部换成下面这种格式

void WFI_SET(void)
{__ASM volatile("WFI;");		  
}
//关闭所有中断(但是不包括fault和NMI中断)
void INTX_DISABLE(void)
{__ASM volatile("CPSID   I");__ASM volatile("BX      LR");	  
}
//开启所有中断
void INTX_ENABLE(void)
{__ASM volatile("CPSIE   I");__ASM volatile("BX      LR");  
}
//设置栈顶地址
//addr:栈顶地址
void MSR_MSP(u32 addr) 
{__ASM volatile("MSR MSP, r0"); 			//set Main Stack value__ASM volatile("BX r14");
}

接着再打开usart.c文件,也能够看到报错
在这里插入图片描述
将上面报错的换成下面这种

#if 1
__ASM (".global __use_no_semihosting");             
//标准库需要的支持函数                 
//struct __FILE 
//{ 
//	int handle; 
//}; 

接下来我们点击编译
在这里插入图片描述
可以看到,错误没有了,这四条警告是由于形参类型问题导致的,接下来消除警告。
打开main函数能够看到,形参类型报了警告
在这里插入图片描述
在这里插入图片描述
把字符串常量前面全部加上(u8*)就可以把警告消除了。
至此,AC5编译器成功升级至AC6


http://www.ppmy.cn/news/427860.html

相关文章

[keil5]从AC5到AC6的转变

文章目录 一、具体步骤:1、文件更换:2、如果你使用了正点原子的SYSTEM文件夹,则需要修改sys.c和uart.c3. 没有使用的汇编直接删除4. 使用uart时5. 编译优化6. 汇编指令7.如何重定向printf8.keil(ac5ac6)编译效果 一、具体步骤: 可…

Keil升级到AC6后,到底有哪些变化?

关注、星标公众号,直达精彩内容 来源:嵌入式专栏 Keil MDK默认使用的是Arm编译器(Arm Compiler),目前主要是AC5和AC6。 而AC6相较于AC5在编译速度上有很大的提升,那么,你知道为什么吗&#xff1…

从AC5到AC6转型之路(1)——补救和准备

【说在前面的话】 时间大约在2015年,Arm第一次在 MDK 5.20 中引入了Arm Compiler 6(那时候的版本是 6.9),正式拉开了Arm官方编译器从第五版(armcc)到第六版(armclang)升级替换的序幕…

【stm32f4 C++与C混合开发】建立keil5的ARM Compiler 6(AC6)标准库开发工程

文章目录 前言一、选择正点原子串口实验的工程二、用AC6编译纯C语言代码1.打开魔法棒选择default compiler version62.编译工程3.更改包含头文件依赖4.修改旧版代码5.重新编译6.烧录程序并查看效果 三、用C编写代码1.选择C方式编译2.修改代码并编译3.用C重写printf重定向 注意1…

最新KEIL软件中编译器不再支持AC5解决方案

文章目录 最新KEIL软件中编译器不再支持AC5解决方案一、前言二、问题复现三、解决方案方案一:直接安装AC5(即Arm Compiler 5)方案二:将AC5工程移植到AC6一、按照官方文档说明进行配置二、修改源代码 最新KEIL软件中编译器不再支持…

【软件入门】Keil:从AC5到AC6

Keil:从AC5到AC6 前一阵安装了新版本的Keil,搭配CubeMX使用没有出现什么问题。但是今天查看以前代码的时候发现了一个很尴尬的问题,编译莫名其妙会出现很多问题。先把问题复现一下,在后面会讲如何解决: 1.问题复现 …

(一)AC6(System Workbench for STM32)简单介绍及创建一个简单的STM32的工程

一、说明 相信玩过STM32的同志都很熟悉KEIL(包括keil4ARM版本和keil5)和IAR编译器,受网上各种开源程序及教学的影响其中使用KEIL的居多;本人起初也是使用keil编译器的,但由于keil和IAR这两款编译器并不是免费的&#x…

CubeMX配置ETH+LWIP+FreeRTOS+AC6编译新手详细教程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、工程通用配置1、RCC时钟配置2、SYS选项配置3、初始化USART1并使能中断4、工程名以及保存路径等配置 二、ETH配置1.硬件连接2、使能RMLL接口并根据原理图实际…