[技术问答] (已解决)请教M0516如何使用中断向量重映射的问题

[复制链接]
1777|10
 楼主| _寒寒_ 发表于 2016-3-24 17:04 | 显示全部楼层 |阅读模式
本帖最后由 _寒寒_ 于 2016-4-13 16:03 编辑

按照datasheet给的流程。通过ISP的VECMAP指令修改了中断向量表到0x2000。软复位后,没有跳转,回到原来的向量表 0x0。
app的bin通过ICP工具下载到0x2000处。config里面设置了IAP功能


  1. FMC->ISPCON |= FMC_ISPCON_ISPEN_Msk;
  2.   FMC->ISPADR = 0x2000;
  3.   FMC->ISPCMD = FMC_ISPCMD_VECMAP;                                             
  4.   FMC->ISPTRG |= FMC_ISPTRG_ISPGO_Msk;
  5.   
  6.   __ISB();
在论坛帖找到了答案,测试可以成功跳转。[应用方案] IAP Application Note:介绍IAP的概念和用法,以及ISP与IAP的区别

修改复位向量后,软复位,不能正确跳转,一直跳转到IAP的复位地址去了。不过使用**说的另一种办法,直接跳转到新固件地址,就可以实现了。

另外,**提到要修改链接脚本,向量表处不能存放其他内容。实际上,我没有修改,只是修改了ROM表的起始位置。
wahahaheihei 发表于 2016-3-24 21:03 | 显示全部楼层
请参考
中断向量表放在片内RAM中
https://bbs.21ic.com/icview-1392514-1-4.html
 楼主| _寒寒_ 发表于 2016-3-25 08:39 | 显示全部楼层
wahahaheihei 发表于 2016-3-24 21:03
请参考
中断向量表放在片内RAM中
https://bbs.21ic.com/icview-1392514-1-4.html

这帖子讲的应该是M4的,M0没有VTOR这个寄存器。M0和M4重映射有点不一样。具体可以看M0 M4的权威指南
dentsgot 发表于 2016-3-26 23:17 | 显示全部楼层
这个估计在M051的芯片手册里能够查到
wahahaheihei 发表于 2016-3-31 10:24 | 显示全部楼层
M4也出了权威指南了吗,我只看过M3的权威指南。
 楼主| _寒寒_ 发表于 2016-3-31 11:50 | 显示全部楼层
wahahaheihei 发表于 2016-3-31 10:24
M4也出了权威指南了吗,我只看过M3的权威指南。

M0 M3 M4都有,估计很快就有M7了
 楼主| _寒寒_ 发表于 2016-3-31 11:50 | 显示全部楼层
dentsgot 发表于 2016-3-26 23:17
这个估计在M051的芯片手册里能够查到

找到也不会来这里求助啦
quray1985 发表于 2016-4-1 15:54 | 显示全部楼层
这个中断向量规定好了还能够重定义?
 楼主| _寒寒_ 发表于 2016-4-12 16:32 | 显示全部楼层
quray1985 发表于 2016-4-1 15:54
这个中断向量规定好了还能够重定义?

可以啊,重映射~~~~
a_ziliu 发表于 2016-4-13 09:39 | 显示全部楼层
建议版本看下面这个帖子
http://www.nuvoton-m0.com/forum. ... &extra=#pid1981
基本上算是iap的操作,跟专案设定及代码操作的部份有关。。

 楼主| _寒寒_ 发表于 2016-4-13 16:04 | 显示全部楼层
a_ziliu 发表于 2016-4-13 09:39
建议版本看下面这个帖子
http://www.nuvoton-m0.com/forum.php?mod=viewthread&tid=577&page=1&extra=#pid1 ...

解决了,就是这一份
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

94

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部