Cortex-M3:为什么需要 ALIGN 在分散加载中?
2026/8/10 18:01:47 网站建设 项目流程

难度:★★
本文首发于我的嵌入式技术号「OneChan讲Soc嵌入式」,未经授权禁止转载。


前几篇文章我们反复提到,.sct文件里到处是ALIGN

LR_IROM1 0x08000000 0x00080000 { ER_IROM1 0x08000000 0x00080000 { *.o (RESET, +First) *.o (+RO) } RW_IRAM1 0x20000000 0x00010000 { *.o (+RW) *.o (+ZI) .ANY (+RW +ZI) } }

你可能会想:汇编里已经有ALIGN了,为什么分散加载文件里还要再写一遍?链接器不能自己搞定对齐吗?

答案是:能搞定一部分,但搞不定全部。而且,如果你在该写ALIGN的地方没写,链接器不会报错——它只会在运行时给你一个随机触发的 HardFault。

今天这篇文章,就来拆开分散加载文件里ALIGN的三重作用,以及它在 Cortex-M3 上最容易被忽视的一个硬性要求。


一、分散加载中的 ALIGN 和汇编中的 ALIGN 有什么区别?

汇编中的ALIGN:作用于当前 AR

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询