LD 链接描述文件,获取 LOAD 地址的当前位置
LD linker script, get current position of LOAD address
在链接描述文件中,我可以获得这样一个部分的 LMA
.got : ALIGN(4)
{
__global_offset_table_flash_start__ = LOADADDR(.got) ;
...
} >SRAM_DTC AT>PROGRAM_FLASH
当我使用
.got : ALIGN(4)
{
__global_offset_table_flash_start__ = . ;
...
} >SRAM_DTC AT>PROGRAM_FLASH
或
.got : ALIGN(4)
{
__global_offset_table_flash_start__ = ABSOLUTE(.) ;
...
} >SRAM_DTC AT>PROGRAM_FLASH
它将给出虚拟内存地址。我认为 ABSOLUTE 会提供 LMA,但事实并非如此。
是否还有一种方法可以获取 .
的当前 LOAD 内存地址?
我能想到的唯一解决方法是添加一个只进入 flash 的部分。
.dummy :
{
__global_offset_table_flash_start__ = .;
} > PROGRAM_FLASH
据我在文档中找到的,无法获取“当前”加载地址
在链接描述文件中,我可以获得这样一个部分的 LMA
.got : ALIGN(4)
{
__global_offset_table_flash_start__ = LOADADDR(.got) ;
...
} >SRAM_DTC AT>PROGRAM_FLASH
当我使用
.got : ALIGN(4)
{
__global_offset_table_flash_start__ = . ;
...
} >SRAM_DTC AT>PROGRAM_FLASH
或
.got : ALIGN(4)
{
__global_offset_table_flash_start__ = ABSOLUTE(.) ;
...
} >SRAM_DTC AT>PROGRAM_FLASH
它将给出虚拟内存地址。我认为 ABSOLUTE 会提供 LMA,但事实并非如此。
是否还有一种方法可以获取 .
的当前 LOAD 内存地址?
我能想到的唯一解决方法是添加一个只进入 flash 的部分。
.dummy :
{
__global_offset_table_flash_start__ = .;
} > PROGRAM_FLASH
据我在文档中找到的,无法获取“当前”加载地址