Keil 5编译出现misc.c(90): error: no member named ‘IP‘ in ‘NVIC_Type‘

no member named 'IP' in 'NVIC_Type'

我们在使用Keil 5编译器的AC6进行代码编译的使用,出现如下的错误;

当前的环境

  1. 编译器版本 Keil uVision5,V5.31.0.0;

  2. CMSIS-Core 版本V6...1.0;

  3. 采用GD32F407VK主芯片,标准库版本

正常编译结果

问题分析

因为都是采用官方的库文件,并且编译器提示的是gd32f4xx_misc.c文件出现的问题,一般情况下gd32f4xx_misc.c是由GD官方编写的文件,出现问题的可能性不大;在之前的编译过程中并没有出现问题,突然又想到之前升级过CMSIS-Core的版本,随即查询了keil 提供的文档资料;找到真正存在的问题;截图如下:

超链接:https://arm-software.github.io/CMSIS_6/main/Core/core_revisionHistory.html#core6_changes

问题解决

在CMSIS-Core 6版本中,结构体 struct NVIC_Type中的成员 IP 名字更改为了IPR,瞬间恍然大悟,ARM竟然改了名字。真的不能当第一个吃螃蟹的人。双击编译窗口error提示的内容,定位到错误地方,修改代码。

修改后的代码如下所示:

NVIC->IPR[nvic_irq] = (uint8_t)temp_priority;

然后再进行重新的编译,编译通过, - 0 Error(s), 0 Warning(s).

参考文档:
https://arm-software.github.io/CMSIS_6/main/Core/core_revisionHistory.html#core6_changes

相关推荐
一晌小贪欢5 分钟前
Python魔法:列表与字典推导式深度解析
开发语言·windows·python·列表推导式·python列表·python字典·字典推导式
Sunsets_Red13 分钟前
模意义下及同余的公式整理
c语言·c++·数学·算法·c#·数论·信息学竞赛
什么问题13 分钟前
记一次 VisionPro +PlayMaker 项目修正
开发语言·前端·javascript
wjs202416 分钟前
SVN 解决冲突
开发语言
计算机安禾16 分钟前
【C语言程序设计】第27篇:递归函数原理与实例分析
c语言·开发语言·数据结构·c++·算法·蓝桥杯·visual studio
Jia-Hui Su18 分钟前
Python类型标准(Type Hints)详解
开发语言·python·numpy·pyqt·ipython·python3.11
無限進步D19 分钟前
C++ 万能头
开发语言·c++·算法·蓝桥杯·竞赛·万能头
小白学大数据22 分钟前
小说爬虫实战:《斗罗大陆》章节自动抓取与合并
开发语言·爬虫·python·数据分析
qq_4181017723 分钟前
C++中的状态模式
开发语言·c++·算法
weixin_3077791323 分钟前
构建健壮的XML文档抓取与摘要流水线:Requests + urllib3.Retry + lxml 实践
xml·开发语言·python·算法·性能优化