linker-scripts

    1热度

    1回答

    我有ST-LINK V2的“ARM微控制器最低系统开发板 - STM32F103C8T6”。 这是主要的代码,接着再接头 - 脚本启动:主 1): @@@ Directives .thumb @ (same as saying '.code 16') .syntax unified .cpu cortex-m3 .fpu softvfp

    0热度

    1回答

    我已经使用EXCLUDE_FILE明确省略了某些对象文件的某些部分放置在我想要生成的主对象文件中。我想知道是否有一种方法可以省略一个特定的符号而不是整个部分。 实施例: 说我有一个库A.LIB它由1.O,2.O和3.O用的.text和。数据段。 1.o的.text部分包含func1,func2和func3。 使用EXCLUDE_FILE,我只能从1.o中省略整个.text或.data节。我想只能省

    0热度

    3回答

    我读过this tutorial 我可以按照指南运行代码。但我有问题。 1)为什么我们需要加载地址和运行时地址。据我了解,这是因为我们已经把闪存数据放在闪存上。那么为什么我们不在那里运行应用程序,但需要启动代码将其复制到RAM中? http://www.bravegnu.org/gnu-eprog/c-startup.html 2)我们为什么需要链接脚本和启动代码在这里。我能不能像下面那样构建C源

    0热度

    1回答

    我正在编写一个裸机内核,并且在NOLOAD部分的情况下我无法理解ld的输出。我声明只在MMU激活时存在的符号,所以VMA和LMA不一样。 我曾经声明这样那样的一个部分: _foobar_start = .; .foobar : AT(ADDR(.foobar) - VA_PA_OFFSET) { *.o(.foobar.section*) } _foobar_end = .;

    0热度

    1回答

    我使用GCC编译C代码,并在Windows上与NASM汇编一些x86代码。现在 ,GCC在默认情况下(我一直没能找到一个选项来改变这一点)前添加下划线_所有外部符号名(和预期的名称)。 我需要这个汇编代码来与Windows和Linux上的GCC一起工作,并希望尽可能避免黑客行为(和代码重复;我首先有单独的用于Windows/Linux的.s文件)。 我发现了(和使用)了NASM中的--prefix

    -1热度

    1回答

    我需要添加一个小堆以使用TM4C ARM微控制器上的标准库函数(_sbrk需要end符号)。 这是我的链接脚本(附带微控制器演示): /* Entry Point */ ENTRY(Reset_Handler) HEAP_SIZE = 1024; MEMORY { FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x00100000

    1热度

    1回答

    使用链接描述文件在地址空间中布置符号时,ld允许 引用来自静态库的特定符号,其语法如下 : archive.a:object_file.o(.section.symbol_name) 使用gold而不是ld,似乎这样的指令被忽略。 链接过程成功。但是,当使用此指令将特定 符号放在特定位置gold并使用nm检查生成的符号布局 或查看映射文件时,符号不在预期的 位置中。 我用一个虚拟hello世界

    -1热度

    1回答

    我可以在.lcf中写入条件吗? 我想检查某些部分的总和是否高于某个阈值。如果是的话我想链接器显示错误/警告 我是新来的.lcf,我不知道这是否可能。 有什么建议吗? 接头:接头的WindRiver 5.9.4

    0热度

    1回答

    是否可以使用链接描述文件或映射文件来重命名符号? 我正在尝试修改一些混合使用C++和Fortran编写的代码,以便它可以在Linux上使用多个Fortran编译器。它目前是为Solaris Studio编译器编写的,并且启用了区分大小写选项。我想自动处理Fortran符号名称中的变体(例如从Makefile中)。 它似乎可以创建别名左右,包含链接脚本: C_Function_ = c_functi

    0热度

    1回答

    我从宁新AURIX的TriCore微控制器适应一些链接脚本。 有一个命令我完全不理解和文档[0]是不是真的有帮助。 有人可以告诉我在原则上,这是怎么回事呢? “全球地址”是什么意思,“核心本地地址”是什么意思? [0]英飞凌科技股份公司:三核开发平台,2015年 - 手动