要怎么设置TM4C129的中断向量表的偏移量呢?

2019-03-24 08:39发布

我是用TM4C129做IAP升级,分为bootloader程序和app程序,flash空间前64KB(0x00000000~0x00010000)分配给bootloader程序,其余给APP程序(0x00010000~0x00100000)。现在的情况是程序可以从bootloader程序跳转到app程序了,但是 跳转后执行一会儿就死机了(串口内容只打印了一半),目测是 APP程序的中断向量表没有设置好;因为当APP程序中有中断产生时,TM4C129的 PC 指针仍强制跳转到地址0X00000004 中断向量表处,而不是新程序的中断向量表(0x00010004),所以在APP程序开始处需要设置中断向量表的偏移量,在stm32中用  SCB->VTOR = FLASH_BASE | 0x10000; 来设置,不知道在TM4C129中要如何设置这个偏移量?我用  HWREG(NVIC_VTABLE) = 0x10000;  这一句不行。谢谢。
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
academic
1楼-- · 2019-03-24 15:08
< 我记得 TI M4 自己的 Demo 程序的 Bootloader 和 APP 都有各自的中断向量表表,跳转到 APP 之前,会将 APP 的中断表从 Flash 复制到 RAM 中,所以最好是看一下 Demo 程序是怎么实现的。然后再琢磨一下它为什么要这么处理。
ypp240124016
2楼-- · 2019-03-24 20:36
 精彩回答 2  元偷偷看……
academic
3楼-- · 2019-03-24 23:51
ypp240124016 发表于 2017-2-10 15:07
确实有把中断向量表复制到ram区,是在中断注册函数里,源码如下:
void
IntRegister(uint32_t ui32Inte ...

应该是为了能够更快地响应中断吧,这样做其实也很合理。

一周热门 更多>

相关问题

    相关文章