固件库编程:关于core_cm3.c的错误

固件库编程:关于core_cm3.c的错误

然后编译发现如下错误和警告:

…/CMSIS/CM3/core_cm3.c(445): error: non-ASM statement in naked function is not supported
uint32_t result=0;
^
…/CMSIS/CM3/core_cm3.c(442): note: attribute is here
uint32_t __get_PSP(void) attribute( ( naked ) );
^
…/CMSIS/CM3/core_cm3.c(465): error: parameter references not allowed in naked functions
“BX lr \n\t” : : “r” (topOfProcStack) );
^
…/CMSIS/CM3/core_cm3.c(461): note: attribute is here
void __set_PSP(uint32_t topOfProcStack) attribute( ( naked ) );
^
…/CMSIS/CM3/core_cm3.c(479): error: non-ASM statement in naked function is not supported
uint32_t result=0;
^
…/CMSIS/CM3/core_cm3.c(476): note: attribute is here
uint32_t __get_MSP(void) attribute( ( naked ) );
^
…/CMSIS/CM3/core_cm3.c(499): error: parameter references not allowed in naked functions
“BX lr \n\t” : : “r” (topOfMainStack) );
^
…/CMSIS/CM3/core_cm3.c(495): note: attribute is here

其中必有的错误 \Obj\Project.axf" - 4 Error(s)

此类问题解决方案:
直接从项目中删除core_cm3.c文件。其中的函数在Keil_v5\ARM\CMSIS\Include\core_cmFunc.h中,如果自动include功能勾选了的话不用在项目文件里include这个文件。

如图:
固件库编程:关于core_cm3.c的错误_第1张图片
如果include中已经勾选,那么就把项目中的core_cm3.c删除掉。如图所示:
固件库编程:关于core_cm3.c的错误_第2张图片
转载:
https://blog.csdn.net/Qi_ta/article/details/72872250

你可能感兴趣的:(固件库编程:关于core_cm3.c的错误)