打印

GD32H759IMK6关于中断配置字段NVIC->IP的疑问

[复制链接]
1760|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
输出板mcu|  楼主 | 2025-5-13 18:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位老师:
我的keil安装了GigaDevice::GD32H7xx_DFP@1.4.0这个包,看到core_cm7.h文件里使用的是 IPR 字段,如下图:

但是我在GD32官网下载的最新的GD32H7xx_Firmware_Library_V1.4.0, 里边的nvic_irq_enable 接口里使用的仍然是NVIC->IP字段,现在我的程序跑起来有问题,怀疑跟这块差异有关,请问该怎么修改下?

使用特权

评论回复
沙发
输出板mcu|  楼主 | 2025-5-13 18:34 | 只看该作者

GD32H759IMK6关于中断配置字段NVIC->IP的疑问

图好像没有显示,补充一下问题:这是core_cm7.h定义:
typedef struct
{
  __IOM uint32_t ISER[8U];               /*!< Offset: 0x000 (R/W)  Interrupt Set Enable Register */
        uint32_t RESERVED0[24U];
  __IOM uint32_t ICER[8U];               /*!< Offset: 0x080 (R/W)  Interrupt Clear Enable Register */
        uint32_t RESERVED1[24U];
  __IOM uint32_t ISPR[8U];               /*!< Offset: 0x100 (R/W)  Interrupt Set Pending Register */
        uint32_t RESERVED2[24U];
  __IOM uint32_t ICPR[8U];               /*!< Offset: 0x180 (R/W)  Interrupt Clear Pending Register */
        uint32_t RESERVED3[24U];
  __IOM uint32_t IABR[8U];               /*!< Offset: 0x200 (R/W)  Interrupt Active bit Register */
        uint32_t RESERVED4[56U];
  __IOM uint8_t  IPR[240U];              /*!< Offset: 0x300 (R/W)  Interrupt Priority Register (8Bit wide) */
        uint32_t RESERVED5[644U];
  __OM  uint32_t STIR;                   /*!< Offset: 0xE00 ( /W)  Software Trigger Interrupt Register */
}  NVIC_Type;



这是 gd32h7xx_misc.c 里nvic_irq_enable 接口里的使用:
NVIC->IP[(uint8_t)nvic_irq] = (uint8_t)temp_priority;

使用特权

评论回复
板凳
dffzh| | 2025-5-14 09:53 | 只看该作者
参考一位网友发的帖子及相关回复:
https://bbs.21ic.com/icview-3452196-1-1.html
应该可以帮上你!

使用特权

评论回复
地板
dffzh| | 2025-5-14 11:12 | 只看该作者
可以参考下面两个帖子,应该能解释你的疑惑:
https://bbs.21ic.com/icview-3453546-1-1.html
https://bbs.21ic.com/icview-3452196-1-1.html

使用特权

评论回复
评论
输出板mcu 2025-5-22 10:11 回复TA
感谢回复,我回退了keil的版本到5.35.0,core_cm7.h里的头文件定义就变成IP了。 看了其他的资料,应该是keil在5.35以后的版本中更新了arm相关的结构体定义(IPR),但是GD的最新驱动还使用的是老版本的定义格式(IP) 
5
cooldog123pp| | 2025-5-15 11:56 | 只看该作者
这个最好说一下啥问题,GD也是大厂了,库应该也是有验证的,可以说下啥问题,然后看下寄存器排查一下。

使用特权

评论回复
6
输出板mcu|  楼主 | 2025-5-22 10:11 | 只看该作者
cooldog123pp 发表于 2025-5-15 11:56
这个最好说一下啥问题,GD也是大厂了,库应该也是有验证的,可以说下啥问题,然后看下寄存器排查一下。[em: ...

感谢回复,我回退了keil的版本到5.35.0,core_cm7.h里的头文件定义就变成IP了。 看了其他的资料,应该是keil在5.35以后的版本中更新了arm相关的结构体定义(IPR),但是GD的最新驱动还使用的是老版本的定义格式(IP)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

6

帖子

0

粉丝