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

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

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

  • 9
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值