Linker 位置计数器未更改

Linker 位置计数器未更改,linker,embedded-linux,linker-scripts,Linker,Embedded Linux,Linker Scripts,我有一个链接器脚本,如下所示: 所有的名字都是虚构的,但结构是一样的。 问题是断言失败了,我不知道为什么我的位置计数器没有改变。请记住,我的.MemSection不是空的。 在哪种情况下,位置计数器在输出节定义后可以保持不变 谢谢大家! 您确定.bss、.vbss、.section和.common不是空的吗?您能添加映射文件吗?问题是.MemSection是.tbss,对于这个内存部分,位置计数器不会自动更改。 .MemSection : { _MEM_SEC_BEGIN = . ;

我有一个链接器脚本,如下所示:

所有的名字都是虚构的,但结构是一样的。 问题是断言失败了,我不知道为什么我的位置计数器没有改变。请记住,我的.MemSection不是空的。 在哪种情况下,位置计数器在输出节定义后可以保持不变


谢谢大家!

您确定
.bss
.vbss
.section
.common
不是空的吗?您能添加映射文件吗?问题是.MemSection是.tbss,对于这个内存部分,位置计数器不会自动更改。
.MemSection :
{
    _MEM_SEC_BEGIN = . ;

    *(.bss .vbss.* .section.*)

    *(.common)

    _MEM_SEC_END = . ;

} > RAM

_MEM_SEC_END_OUTSIDE = . ;

ASSERT( (_MEM_SEC_END_OUTSIDE == _MEM_SEC_END) , "Warning message" )

ASSERT( (_MEM_SEC_END_OUTSIDE != _MEM_SEC_BEGIN) , "Warning message" )