一、用Keil5进行固件库编程,出现下列错误:
Rebuild started: Project: Template
*** Using Compiler 'V6.14', folder: 'E:\Keil5\ARM\ARMCLANG\Bin'
Rebuild target 'Target 1'
Libraries/CMSIS/core_cm3.c(445): error: non-ASM statement in naked function is not supported
uint32_t result=0;
^
Libraries/CMSIS/core_cm3.c(442): note: attribute is here
uint32_t __get_PSP(void) __attribute__( ( naked ) );
^
Libraries/CMSIS/core_cm3.c(465): error: parameter references not allowed in naked functions
"BX lr \n\t" : : "r" (topOfProcStack) );
^
Libraries/CMSIS/core_cm3.c(461): note: attribute is here
void __set_PSP(uint32_t topOfProcStack) __attribute__( ( naked ) );
^
Libraries/CMSIS/core_cm3.c(479): error: non-ASM statement in naked function is not supported
uint32_t result=0;
^
Libraries/CMSIS/core_cm3.c(476): note: attribute is here
uint32_t __get_MSP(void) __attribute__( ( naked ) );
^
Libraries/CMSIS/core_cm3.c(499): error: parameter references not allowed in naked functions
"BX lr \n\t" : : "r" (topOfMainStack) );
^
Libraries/CMSIS/core_cm3.c(495): note: attribute is here
void __set_MSP(uint32_t topOfMainStack) __attribute__( ( naked ) );
^
4 errors generated.
compiling core_cm3.c...
compiling stm32f10x_it.c...
assembling startup_stm32f10x_hd.s...
compiling main.c...
compiling system_stm32f10x.c...
compiling stm32f10x_gpio.c...
compiling stm32f10x_rcc.c...
".\Template.axf" - 4 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed: 00:00:01
二、解决方法
该问题是编译器版本问题
1、点击魔术棒
2、在Target界面,将Use default compiler version 6改为Use default compiler version 5
3、保存,重新编译,编译通过