相关疑难解决方法(0)

GNU链接器映射文件提供意外的加载地址

我正在开发一个嵌入式程序,我有一个自定义链接器脚本.该程序有效,但我注意到链接器如何在内存中放置几个​​部分可能有些不对劲.

以下是链接描述文件的相关部分:

MEMORY {
    ROM (rx)    : ORIGIN = 0x00100000, LENGTH = 16k
    RAM (rwx)   : ORIGIN = 0x00200000, LENGTH = 4k
}

SECTIONS {
    /* Other sections go here. */
    .data : {
...
    } >RAM AT>ROM

    .bss : {
...
    } >RAM

    .stack : {
...
    } >RAM
...
}
Run Code Online (Sandbox Code Playgroud)

这是MAP文件的相关部分:

.data           0x00200040        0x0 load address 0x001003d4
                0x001003d4                __data_load = LOADADDR (.data)
                0x00200040                __data_start = .
 *(.data)
 *(.data*)
                0x00200040                . = ALIGN (0x4)
                0x00200040                _edata = .

.igot.plt …
Run Code Online (Sandbox Code Playgroud)

linker arm gnu

4
推荐指数
1
解决办法
4280
查看次数

标签 统计

arm ×1

gnu ×1

linker ×1