为什么我的链接器映射.text部分不一致?[STM32,GCC]
我遇到了一个问题,我的flash脚本在某些构建中会失败。我确定这个问题是由于我的.hex文件中有一个漏洞导致的。所有其他构建在输出中都没有这种差距 这让我试图找出是什么导致了它,我注意到我的.text部分映射不一致,有时它与向量表之间存在间隙。代码中的区别是注释掉了一条打印语句,而不是注释掉了一条打印语句。我不是链接器专家,所以我希望有人能帮我:为什么我的链接器映射.text部分不一致?[STM32,GCC],gcc,linker,Gcc,Linker,我遇到了一个问题,我的flash脚本在某些构建中会失败。我确定这个问题是由于我的.hex文件中有一个漏洞导致的。所有其他构建在输出中都没有这种差距 这让我试图找出是什么导致了它,我注意到我的.text部分映射不一致,有时它与向量表之间存在间隙。代码中的区别是注释掉了一条打印语句,而不是注释掉了一条打印语句。我不是链接器专家,所以我希望有人能帮我: 解释为什么会发生这种情况 建议我可以做什么,以确保在十六进制文件没有差距 详情: Cortex-M3,STM32,带标准项目的系统工作台 下面是链接脚
无法向后移动位置计数器(从08000190到08000188)
SECTIONS
{
/* The startup code goes first into FLASH */
.isr_vector :
{
. = ALIGN(4);
KEEP(*(.isr_vector)) /* Startup code */
. = ALIGN(4);
_eisr = .; /* define a global symbol at end of ISR vector */
} >FLASH
/* The program code and other data goes into FLASH */
.text :
{
. = _eisr;
. = ALIGN(4);
*(.text) /* .text sections (code) */
*(.text*) /* .text* sections (code) */
*(.glue_7) /* glue arm to thumb code */
*(.glue_7t) /* glue thumb to arm code */
*(.eh_frame)
KEEP (*(.init))
KEEP (*(.fini))
. = ALIGN(4);
_etext = .; /* define a global symbols at end of code */
} >FLASH