硬汉嵌入式论坛

 找回密码
 立即注册
搜索
查看: 891|回复: 4
收起左侧

[其它] GD32H7系列芯片IAP升级

[复制链接]

6

主题

12

回帖

30

积分

新手上路

积分
30
发表于 2026-5-12 17:49:34 | 显示全部楼层 |阅读模式
在写IAP升级程序时,修改VECT_TAB_OFFSET向量表偏移地址,程序跳转到APP程序后SCB->VTOR = nvic_vict_tab | (offset & NVIC_VECTTAB_OFFSET_MASK);设置的中断向量表正确,但APP程序无法进入中断(包括滴答定时器中断),IAP跳转前关闭了总中断。但在L4、F1系列芯片是一样的操作都可以正常跳转APP运行。请问H7系列芯片做IAP升级除了中断向量表偏移还需要什么额外的配置
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
124427
QQ
发表于 2026-5-13 09:02:25 | 显示全部楼层
IAP跳转前关闭了总中断,进入APP开启了吗
回复

使用道具 举报

6

主题

12

回帖

30

积分

新手上路

积分
30
 楼主| 发表于 2026-5-13 11:48:46 | 显示全部楼层
调用__enable_irq()开启总中断了,发现与我程序的freertos有关,我关闭系统后程序可以正常跳转,开启系统后程序卡死在vTaskStartScheduler() 开启调度函数中
回复

使用道具 举报

6

主题

12

回帖

30

积分

新手上路

积分
30
 楼主| 发表于 2026-5-13 11:52:06 | 显示全部楼层
eric2013 发表于 2026-5-13 09:02
IAP跳转前关闭了总中断,进入APP开启了吗

APP程序调用__enable_irq()开启总中断了,现发与我上的FreeRTOS系统有关,不开启系统APP程序正常运行,开启系统后程序卡死在vTaskStartScheduler()任务调度函数中
回复

使用道具 举报

6

主题

12

回帖

30

积分

新手上路

积分
30
 楼主| 发表于 2026-5-13 18:53:50 | 显示全部楼层
Zh2024 发表于 2026-5-13 11:52
APP程序调用__enable_irq()开启总中断了,现发与我上的FreeRTOS系统有关,不开启系统APP程序正常运行,开 ...

应该是时钟问题IAP在线程调度前跳转到APP,APP进行线程调度时程序卡死在xPortStartScheduler()函数。在IAP中将跳转APP操作放在开启线程调度后面,APP程序可正常跳转
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2026-10-24 11:18 , Processed in 0.166807 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表