自己指定程序的起始位置,或者指定中断向量表的起始位置的时候,需要注意对应平台中断向量表的对齐要求。
参考:
Arm® Cortex®-M33 Devices
Revision: r1p0
Generic User Guide
3.3.4 Vector tableThe 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
这个要注意,不然改了中断向量表位置之后启动不了,又不知道哪里问题。
欢迎大家点赞关注,谢谢各位支持。