自己指定中断向量表时要注意对齐要求

自己指定程序的起始位置,或者指定中断向量表的起始位置的时候,需要注意对应平台中断向量表的对齐要求。

参考:

Arm® Cortex®-M33 Devices
Revision: r1p0
Generic User Guide
3.3.4 Vector table

The silicon vendor must configure the required alignment, which depends on the number of interrupts implemented. The minimum alignment is 32 words, enough for up to 16 interrupts. For more interrupts, adjust the alignment by rounding up to the next power of two.

For example, if you require 21 interrupts, the alignment must be on a 64-word boundary because the required table size is 37 words, and the next power of two is 64.

默认有16个入口,SysTick到Reset到Initial SP value,刚好16个word。

16+16=32 对齐32
21+16=37 对齐64
241+16=257 对齐512

这个要注意,不然改了中断向量表位置之后启动不了,又不知道哪里问题。

欢迎大家点赞关注,谢谢各位支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a291936324

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值