Quantcast
Channel: MSP 低功耗微控制器论坛 - 最近的话题
Viewing all articles
Browse latest Browse all 3634

MSP430F5438A中断向量存放在Flash和RAM的问题!!!

$
0
0

我在调试MSP430F5438A的在线升级功能时,遇到如下问题:

         由Datasheet知道,MSP5438A可以将中断向量设置为保存在Flash或者RAM中(SYSCTL寄存器的SYSRIVECT位来控制,如附图所示)。

         为了在Flash不同的BANK区运行中断服务程序, 我将中断向量设置为保存在RAM中,即设置SYSRIVECT = 1

         结果发现程序无**常运行。

         通过仿真,跟踪代码发现,当程序运行到使能全局中断 __bis_SR_register(GIE); 之后,
         PC跳转到0x0000,接下来执行到0x0004地址时,里面是条跳转指令 JMP     (0x0004),
         程序最后在0x0004这个地址陷入死循环!!!


         同样的程序,如果将中断向量设置为保存在Flash中,即将SYSRIVECT = 1屏蔽,就能够正常运行!
         PS:相关代码见附件

(Please visit the site to view this file)


Viewing all articles
Browse latest Browse all 3634

Trending Articles