打印
[技术问答]

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

[复制链接]
1546|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
_寒寒_|  楼主 | 2016-3-24 17:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 _寒寒_ 于 2016-4-13 16:03 编辑

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


FMC->ISPCON |= FMC_ISPCON_ISPEN_Msk; 
  FMC->ISPADR = 0x2000;
  FMC->ISPCMD = FMC_ISPCMD_VECMAP;                                             
  FMC->ISPTRG |= FMC_ISPTRG_ISPGO_Msk;
  
  __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的芯片手册里能够查到

使用特权

评论回复
5
wahahaheihei| | 2016-3-31 10:24 | 只看该作者
M4也出了权威指南了吗,我只看过M3的权威指南。

使用特权

评论回复
6
_寒寒_|  楼主 | 2016-3-31 11:50 | 只看该作者
wahahaheihei 发表于 2016-3-31 10:24
M4也出了权威指南了吗,我只看过M3的权威指南。

M0 M3 M4都有,估计很快就有M7了

使用特权

评论回复
7
_寒寒_|  楼主 | 2016-3-31 11:50 | 只看该作者
dentsgot 发表于 2016-3-26 23:17
这个估计在M051的芯片手册里能够查到

找到也不会来这里求助啦

使用特权

评论回复
8
quray1985| | 2016-4-1 15:54 | 只看该作者
这个中断向量规定好了还能够重定义?

使用特权

评论回复
9
_寒寒_|  楼主 | 2016-4-12 16:32 | 只看该作者
quray1985 发表于 2016-4-1 15:54
这个中断向量规定好了还能够重定义?

可以啊,重映射~~~~

使用特权

评论回复
10
a_ziliu| | 2016-4-13 09:39 | 只看该作者
建议版本看下面这个帖子
http://www.nuvoton-m0.com/forum. ... &extra=#pid1981
基本上算是iap的操作,跟专案设定及代码操作的部份有关。。

使用特权

评论回复
11
_寒寒_|  楼主 | 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

粉丝