mdk 编译器从v5 变更城 v6.10.0 后出现的错误解决
固件库编程:关于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 ” : : “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 ” : : “r” (topOfMainStack) ); ^ …/CMSIS/CM3/core_cm3.c(495): note: attribute is here
…
其中必有的错误 ObjProject.axf" - 4 Error(s)
此类问题解决方案: 直接从项目中删除core_cm3.c文件。其中的函数在Keil_v5ARMCMSISIncludecore_cmFunc.h中,如果自动include功能勾选了的话不用在项目文件里include这个文件。
如图: 如果include中已经勾选,那么就把项目中的core_cm3.c删除掉。如图所示: 转载: https://blog..net/Qi_ta/article/details/72872250
固件库编程:关于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 ” : : “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 ” : : “r” (topOfMainStack) ); ^ …/CMSIS/CM3/core_cm3.c(495): note: attribute is here … 其中必有的错误 ObjProject.axf" - 4 Error(s) 此类问题解决方案: 直接从项目中删除core_cm3.c文件。其中的函数在Keil_v5ARMCMSISIncludecore_cmFunc.h中,如果自动include功能勾选了的话不用在项目文件里include这个文件。 如图: 如果include中已经勾选,那么就把项目中的core_cm3.c删除掉。如图所示: 转载: https://blog..net/Qi_ta/article/details/72872250