问题描述:
博主在使用Keil MDK5.37编译工程,发现Keil将AC5(ARM compiler 5)移除了,只保留了AC6。导致以前很多老的工程不兼容。编译报错,下面使用正点原子的F429的工程演示一下如何解决。
我这边提示的最多的是缺少cmsis armcc v6.h’file
原因分析:
我从网上查阅了很多的资料,发现AC6相比于AC5移除了ARMCC编译器,这次缺少的又是armcc的文件,怀疑可能这里出来的问题
解决方案:
从本机找寻相关的文件
cmsis armcc v6.h
我是在自己的电脑上寻找到的,找到后拷贝到下面的文件夹
再次编译,本以为一遍通过,这时候原子自己编写的库出了问题如下图所示
然后又开始四处搜寻资料,之后在一位博主的文章里面找到了解决办法,下面附上链接->原文出处
懒人专属,拿走不谢,别忘了点个赞
void WFI_SET(void)
{
__ASM volatile("WFI");
}
void INTX_DISABLE(void)
{
__ASM volatile("CPSID I");
__ASM volatile("BX LR");
}
void INTX_ENABLE(void)
{
__ASM volatile("CPSIE I");
__ASM volatile("BX LR");
}
void MSR_MSP(u32 addr)
{
__ASM volatile("MSR MSP, r0");
__ASM volatile("BX r14");
}