memory - 非连续内存区域的 gnu 链接器部分

标签 memory linker gnu regions

我正在尝试编写一个链接描述文件,将一个节的内容写入两个不连续的内存区域。

我在这个邮件列表中找到了一个关于这个的旧线程: “ld 链接描述文件和非连续内存区域” http://sourceware.org/ml/binutils/2012-01/msg00188.html

我知道 C28x 编译器针对此问题的一项功能是 将部分拆分为多个内存段:(使用 or 函数)

SECTIONS { .text: { *(.text) } >> FLASH1| FLASH3 }

在这里描述: http://processors.wiki.ti.com/index.php/C28x_Compiler_-_Understanding_Linking

我试过了,没有成功。 目前我必须手动填充第一个内存区域。但是很难搜索部分代码女巫 我以后不会改变,完全适合并填满第一个内存区域。

在 GNU 链接器中实现了这样的功能吗?或者有没有人有更好的主意 我怎么解决这个问题?

最佳答案

我认为最简单的方法(也许是唯一的方法)是将您的部分分成两个部分,然后将一个部分分配给第一个内存区域,将第二个部分分配给第二个内存区域。

您可能已经看过这个,但它是对链接脚本的非常简洁的描述: http://www.math.utah.edu/docs/info/ld_3.html

关于memory - 非连续内存区域的 gnu 链接器部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15156201/

相关文章:

c++ - 无法将外部 git CMake 项目的输出(静态库)链接到 CMake 项目

objective-c - NSMutableArray 排序和分组内存优化

c++ - ram 中的共享内存或命名管道?

c++ - 如何在依赖的静态库中链接 Boost

GNU ld : -z origin? -rpath $ORIGIN/../lib?

bash - makefile循环变量

c - SSE:有条件地替换像素

image - 在这个node.js图像模块中,我应该使用哪个? (读取流还是从路径?)

c# - 从内存中释放 CSharpCodeProvider 生成的代码

linux - 如何限制对共享对象中符号的访问?