[GD32]关于GD32F103单片机官方库在Keil5中编译出错

从官网下载官方库后按照STM32环境的流程,把需要的文件都添加进项目中了。

编译报错缺少两个文件:core_cmInstr.h 和 core_cmFunc.h

.\Core\core_cm3.h(176): error:  #5: cannot open source input file "core_cmInstr.h": No such file or directory
.\Core\core_cm3.h(177): error:  #5: cannot open source input file "core_cmFunc.h": No such file or directory

于是找遍整个官方库都没有发现这两个文件,于是只能尝试注释掉。

但是随后又报错如下:

.\Objects\rcupboard.axf: Error: L6218E: Undefined symbol __SEV (referred from gd32f10x_pmu.o).
.\Objects\rcupboard.axf: Error: L6218E: Undefined symbol __WFE (referred from gd32f10x_pmu.o).
.\Objects\rcupboard.axf: Error: L6218E: Undefined symbol __WFI (referred from gd32f10x_pmu.o).

这种一般是汇编定义,打开我的STM32项目,随便写上__WFI();然后跳转定义,发现这个定义就是在core_cm3.h这个文件中,但是我gd32项目里没有这个定义,于是我就把stm32项目里这个定义复制过来到前面gd32项目的core_cm3.h中的注释掉的include core_cmInstr.h和core_cmFunc.h这个代码附近。

如下:

/* ###################  Compiler specific Intrinsics  ########################### */


#define __enable_fault_irq                __enable_fiq
#define __disable_fault_irq               __disable_fiq

#define __NOP                             __nop
#define __WFI                             __wfi
#define __WFE                             __wfe
#define __SEV                             __sev
#define __ISB()                           __isb(0)
#define __DSB()                           __dsb(0)
#define __DMB()                           __dmb(0)
#define __REV                             __rev
#define __RBIT                            __rbit
#define __LDREXB(ptr)                     ((unsigned char ) __ldrex(ptr))
#define __LDREXH(ptr)                     ((unsigned short) __ldrex(ptr))
#define __LDREXW(ptr)                     ((unsigned int  ) __ldrex(ptr))
#define __STREXB(value, ptr)              __strex(value, ptr)
#define __STREXH(value, ptr)              __strex(value, ptr)
#define __STREXW(value, ptr)              __strex(value, ptr)


//#include <core_cmInstr.h>                /* Core Instruction Access                         */
//#include <core_cmFunc.h>                 /* Core Function Access                          */

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值