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 \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这个文件。

如图:
在这里插入图片描述
如果include中已经勾选,那么就把项目中的core_cm3.c删除掉。如图所示:
在这里插入图片描述
转载:
https://blog.csdn.net/Qi_ta/article/details/72872250

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在安装 KEIL5 MDK 的过程中,如果您想使用 V5 编译器,您需要自己安装 V5 编译器。目前 KEIL 官网最新版本的安装包默认安装了 V6 编译器,不再自动安装 V5 编译器,因为 V5 编译器V6 编译器在编译过程中存在很多代码不兼容的情况,可能导致工程编译失败。所以如果您需要使用新版 KEIL5 MDK 并使用 V5 编译器,您可以按照以下步骤进行安装: 1.下载 V5 编译器:您可以通过百度网盘的下载链接 或者官网的下载链接进行下载。 2.安装 KEIL5 MDK:您可以从 KEIL 官网下载最新版本的安装包,并按照官方提供的安装步骤进行安装。 3.安装 V5 编译器:在安装 KEIL5 MDK 的过程中,默认是不会自动安装 V5 编译器的。所以您需要在安装完成 KEIL5 MDK 后,独立安装 V5 编译器。您可以打开已安装的 KEIL5 MDK,找到安装路径,然后根据路径去找到 V5 编译器的安装包进行安装 。 请注意,以上是基于目前 KEIL 官网最新版本的情况下的安装步骤,可能会有变动,请以官方的说明和指南为准。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [KeilMDK V5编译器的安装](https://blog.csdn.net/weixin_42727214/article/details/132378555)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [KEIL5MDK安装及V5编译器的安装](https://blog.csdn.net/qq_41187932/article/details/129932769)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值