如何将程序代码放置在几个内存区域?

问题描述 投票:1回答:1

有几个内存区域

MEMORY
{
  rom1 (rx)   : ORIGIN = 0x00000000,    LENGTH = 256k
  rom2 (rwx)  : ORIGIN = 0x10000000,    LENGTH = 16M
  ram1 (rw!x) : ORIGIN = 0x20000000,    LENGTH = 64k
  ram2 (rwx)  : ORIGIN = 0x21000000,    LENGTH = 16M
}

如何将所有输入文件的.文本部分放置在rom1的内存区,如果空间不够,再将剩余的字符放置在rom2中?输出部分的描述中只能指定一个内存区域。

  .text :
  {
    *(.text)
  } > rom1
c linker ld linker-scripts
1个回答
0
投票

据我所知,没有办法将一个部分分配到几个非连续的内存区域。

正如建议的那样 此处,应将该部分划分为几个部分,然后分配到内存区域。

一般来说 这个 是一个非常方便的关于不同可能性的文档。

© www.soinside.com 2019 - 2024. All rights reserved.