打印
[技术问答]

HC32F472如何重映射中断向量表

[复制链接]
1343|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhouzpd|  楼主 | 2025-4-13 17:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于增加了Bootloader,需要在APP中重映射中断向量表

sct文件,SCB->VTOR都修改了

SysTick中断正常,其他中断飞了(不按预期中断跑)

请问这个芯片是否还要修改其他什么地方?

使用特权

评论回复
沙发
发顺丰更大nc| | 2025-4-23 10:22 | 只看该作者
这个芯片是否还要修改其他什么地方?

使用特权

评论回复
板凳
Amazingxixixi| | 2025-4-24 15:07 | 只看该作者
学习一下啊!感觉有点知识慌了

使用特权

评论回复
地板
kaif2n9j| | 2025-5-10 11:55 | 只看该作者
确认重映射地址:确保SCB->VTOR被正确设置为APP的中断向量表基地址。例如,若APP的起始地址为0x08010000,则SCB->VTOR应配置为0x08010000。

使用特权

评论回复
5
l1uyn9b| | 2025-5-10 13:14 | 只看该作者
重映射操作需在所有中断被禁用(__disable_irq())且系统时钟初始化完成后进行,通常在SystemInit()函数或APP的初始化代码中完成

使用特权

评论回复
6
t1ngus4| | 2025-5-10 14:23 | 只看该作者
向量表格式,确保中断向量表包含正确的中断服务程序(ISR)地址。向量表的首地址应为栈指针(SP)的初始值,后续地址依次为复位、NMI、HardFault等异常处理程序的地址

使用特权

评论回复
7
suw12q| | 2025-5-10 16:02 | 只看该作者
向量表偏移,若APP的起始地址非0x08000000,需调整向量表中各ISR地址的偏移量,确保其指向APP中的ISR。

使用特权

评论回复
8
ex7s4| | 2025-5-10 17:12 | 只看该作者
链接地址,匹配sct文件中APP的链接地址与实际烧录地址一致。例如,若APP烧录到0x08010000,则sct文件中应配置

使用特权

评论回复
9
cen9ce| | 2025-5-10 18:21 | 只看该作者
区域命名一致性sct文件中的区域命名(如ER_IROM1、RW_IRAM1)与代码中使用的命名一致。

使用特权

评论回复
10
b5z1giu| | 2025-5-10 20:15 | 只看该作者
中断号匹配,确保中断号(IRQn)与对应的ISR正确映射。例如,USART1的中断号为USART1_IRQn,其ISR应为USART1_IRQHandler。

使用特权

评论回复
11
q1ngt12| | 2025-5-11 08:24 | 只看该作者
弱符号处理,若使用弱符号(__weak)定义默认ISR,需在APP中重写ISR,避免调用默认的空ISR导致程序卡死。

使用特权

评论回复
12
p0gon9y| | 2025-5-11 10:23 | 只看该作者
中断优先级:在APP中配置NVIC的中断优先级分组,并设置各中断的优先级和使能状态。中断使能,确保在重映射中断向量表后,重新使能所需的中断

使用特权

评论回复
13
w2nme1ai7| | 2025-5-11 13:21 | 只看该作者
时钟源稳定性,要保证系统时钟(如HSI、HSE、PLL)配置正确,避免时钟不稳定导致中断异常。

使用特权

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

本版积分规则

24

主题

332

帖子

1

粉丝