升级keil至5.38版本后,新建stm32的工程出现很多报错,主要原因还是编译器不兼容、库文件不匹配;
1、RCC_APB2Periph_GPIOC" is undefined;
解决方法:如果使用了stm32的库函数编译报错,确认内核配置文件、库文件等是否添加,以及是否如下图在define栏添加了USE_STDPERIPH_DRIVER。
2、non-ASM statement in naked function is not supported
这个问题我试了好几个解决方法,最终把几百个警告二十多错误都变成0;
1). 去st官网下载新的内核文件,替换掉旧的内核文件,如图。
2). 编译器为6的情况下切换C语言标准;
3)、删掉左侧core_com3.c文件。
3、如果出现non-ASM statement in naked function is not supported,又不想采用V6系列的编译器的话,可以直接把编译器版本改成5,我试过,库文件和魔术棒里面设置齐全的话是没有报错的。