关于STM32的中断向量表的重映射的问题
答案:1 悬赏:20 手机版
解决时间 2021-02-19 06:58
- 提问者网友:疯子也有疯子的情调
- 2021-02-18 23:27
关于STM32的中断向量表的重映射的问题
最佳答案
- 五星知识达人网友:廢物販賣機
- 2021-02-19 00:21
问题一:想要解释你的疑惑先要明白几个道理
1、无论向量表是否重映射过,复位后都是从0地址的向量表处获取SP和复位入口。
2、0地址处的中断向量表,通常是ROM地址。通常只能通过指定链接地址,然后烧录改写。
3、在一些带升级功能的产品中,通常分为boot和app两部分。boot通常出产以后就不再变化,使用0地址向量表,必须通过Jtag之类的工具才能改写。而boot中带有下载功能个(USB、串口或SPI),用户可以根据需要下载APP。
4、注意第2条,APP通常需要自己设计中断服务。如果不重映射,只能再boot处设计查表程序,通过boot跳转,效率不高。而擦写0地址向量,如果在升级过程中掉电,则boot也无法启动。因此,需要进入APP后,重映射向量表。
问题二:你的理解的对的。然而,0地址处的中断向量表区域通常不放代码。芯片在FLASH地址分配上,也很少有将FLASH地址紧密的排在向量表之后的。因此,并不影响。
1、无论向量表是否重映射过,复位后都是从0地址的向量表处获取SP和复位入口。
2、0地址处的中断向量表,通常是ROM地址。通常只能通过指定链接地址,然后烧录改写。
3、在一些带升级功能的产品中,通常分为boot和app两部分。boot通常出产以后就不再变化,使用0地址向量表,必须通过Jtag之类的工具才能改写。而boot中带有下载功能个(USB、串口或SPI),用户可以根据需要下载APP。
4、注意第2条,APP通常需要自己设计中断服务。如果不重映射,只能再boot处设计查表程序,通过boot跳转,效率不高。而擦写0地址向量,如果在升级过程中掉电,则boot也无法启动。因此,需要进入APP后,重映射向量表。
问题二:你的理解的对的。然而,0地址处的中断向量表区域通常不放代码。芯片在FLASH地址分配上,也很少有将FLASH地址紧密的排在向量表之后的。因此,并不影响。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯