TI中文支持网
TI专业的中文技术问题搜集分享网站

MSPM0G3507: 中断向量偏移该如何设置

Part Number:MSPM0G3507

我要做升级功能,boot+APP模式。如果我想设置MCU的中断向量SCB->VTOR为10K地址,如果按照M0的资料(参考下图),应该是SCB->VTOR=0X2800<<7。但实际上我直接写SCB->VTOR=0X2800运行正常。这是为何?

Yale Li:

运行正常时有没有读一下该寄存器看一下?

,

游泳的雨:

这应该是怎么赋值呢?目前好像没有人给一个确切的说法

,

Yale Li:

方便告知一下截图出自哪个文档的哪一页或者那一节吗?谢谢

,

游泳的雨:

我也读取SCB->VTOR的值了,为0x2800

,

Yale Li:

你这个截图出自哪个文档呀?文档号或者标题告诉我一下

,

游泳的雨:

用户手册上写的

,

游泳的雨:

这是一个超级链接,点击自动跳转网址。反正Arm的都是这样的设计,你们应该知道啊

,

Yale Li:

https://www.cnblogs.com/henjay724/p/15312847.html

这个链接详细地解释了CM核上的这个问题。你可以参考一下。

简单来说,0-6位是被保留的,但并不意味着没有被用到。它们也属于中断向量表偏置地址的一部分,但是不能被修改,一直应该保持为0。按照这一点来说,中断向量表偏置地址应该保持128字节对齐(0x80,0b1000 0000)。

但实际上至少应该是0x100对齐,因为第7位的属性也决定了这一位是一直为0的:

 [1]

 [2]

参考链接:

https://developer.arm.com/documentation/dui0662/b/Cortex-M0–Peripherals/System-Control-Block

[1]https://developer.arm.com/documentation/dui0662/b/Cortex-M0–Peripherals/System-Control-Block/Vector-Table-Offset-Register

[2]https://developer.arm.com/documentation/ihi0048/a/Glossary

,

Yale Li:

你设计的0x2800恰好满足上述条件

赞(0)
未经允许不得转载:TI中文支持网 » MSPM0G3507: 中断向量偏移该如何设置
分享到: 更多 (0)