linker-scripts

    2热度

    1回答

    我正在研究cortex-m3芯片。在源代码中保留了堆栈空间,并在bss部分使用了未初始化的数组。我使用的链接脚本如下: MEMORY { FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 256k SRAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64k } SECTIONS { .tex

    17热度

    1回答

    我想了解更深层次的链接过程和链接器脚本......看着binutils的文档我发现,我已通过添加一些命令提高一个简单的链接脚本执行: OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") OUTPUT_ARCH(i386) ENTRY(mymain) SECTIONS { . = 0x10000;

    6热度

    2回答

    长话短说。我希望学习如何创建一个好的链接器脚本,以便我应该更换平台/架构/供应商时,我不会再陷于零地,不知道该怎么做。我并不关心任务的难度,理解它也是如此。 我已经开始了一个排序project,因为它是,创建编程基础或骨架和STM的32位Cortex-M3的芯片开发。在jsiei97的帮助下,从STM32F103RB开始(我也有一个TI Stellaris LM3S828,但那是另一个问题),而不

    3热度

    2回答

    我有下面的链接脚本应该链接代码以在基于闪存的微控制器上运行。 uC在地址0x0处具有闪存,在0x40000000处具有RAM。我想把数据部分放到闪存中,但链接程序,以便在RAM中完成对数据部分的访问。关键是,当控制器启动时,我会手动将它从闪存中复制到适当的RAM位置。 MEMORY { flash : ORIGIN = 0x00000000, LENGTH = 512K ra

    5热度

    1回答

    你好,我有一个链接脚本,其中我发现代码“__exidx_start = .;”,它将标签值设置为位置计数器“.”的值。这个标签不会在同一个链接描述文件中的任何地方使用。 在第一个下面有一个类似的标签定义了几行,它的定义方式与“__exidx_end = .;”相同。 这两个标签是.text和.rodata部分boundries,但我不知道为什么会有人定义这两个,如果他们没有在链接脚本中使用?

    7热度

    1回答

    在Mac OS X上有什么方法可以使用链接描述文件与ld? Linux上的GNU ld程序接受-T <scriptname>选项,但在Mac OS上-T是未知的命令选项。如果解决了问题,使用GCC的替代安装对我来说可以。

    8热度

    1回答

    链接器脚本中的ALIGN关键字有什么作用?我阅读了许多关于链接器脚本的教程,但我不明白ALIGN是做什么的。任何人都可以简单地解释它。谢谢!

    0热度

    1回答

    我发展我自己的操作系统,但为了这个,我需要接触连接上,然后我做了这个链接脚本来构建它: ENTRY (loader) SECTIONS{ . = 0x00100000 .text : { *(.text) } .bss : { sbss = .; *(COMMON) *(.bss) ebss

    1热度

    1回答

    我有一个项目,我正在vxWorks中构建一个用于测试的vxsim二进制文件。链接过程有三个阶段;生成文件的相关部分大致如下如下: partialImage.o: ${SYSTEM_OBJS} ${OBJS} version.o ldsparc ${appropriate LDFLAGS go here} ${^} -o ${@} # Don't ask me why they did

    2热度

    1回答

    我的elf文件大约是1MByte的所有调试符号。当我尝试使用“powerpc-eabi-objcopy -O二进制out.elf out.bin”创建二进制文件时,out.bin的大小是1GB。 构建脚本看起来像这样 STARTUP(vectors.o) ENTRY(__exception_reset) INPUT(extras.o) GROUP(libtarget.a libgcc.a