STM32G4 GCC链接器:.isr_vector与.text间8字节空间问题求助
STM32G4 向量表与代码段间8字节间隙问题咨询
背景说明
我正在通过STM32G4的片内CRC外设计算校验和,验证二进制文件烧录到开发板的正确性,已编写模拟CRC逻辑的Python脚本。调试时发现:
isr_vector段与text段之间存在8字节间隙- 二进制文件中该间隙填充的是
0x00,但芯片内存中该区域默认值为0xFF(芯片初始状态为全1)
我尝试过调整链接脚本的对齐参数、设置填充值(FILL(0xFF)、=0xFF均无效),目前仅能通过在isr_vector段末尾手动添加8个BYTE(0xFF)临时解决,但这种方法过于粗糙。
核心疑问
- 这8字节间隙的成因是什么?
- 如何优雅地移除这个间隙?
- 移除间隙后会有什么潜在后果?
- 移除大部分代码后间隙会消失,但尚未明确原因,这背后的逻辑是什么?
相关附件
已准备以下文件供参考:
- 修改后的链接脚本
- 启动代码
- 编译链接命令
- 简化代码后的map文件
内容的提问来源于stack exchange,提问作者Sonny
相关产品推荐
相关产品推荐

