【问题标题】:linker script generator链接器脚本生成器
【发布时间】:2011-09-24 07:57:57
【问题描述】:

我最近花了很多时间试图修复有问题的 ld 脚本。 一旦我(在纸上)画出所有不同的部分,我就能找出问题所在。

所以我开始寻找某种 LD 脚本生成器,但没有找到! 有人知道这样的工具是否存在吗? 可以导入/导出 ld 脚本或 map-file/elf-file 并显示不同对象/部分和地址的东西?

我知道有一些 IDE,您不需要担心 LD 脚本,但我使用的是 eclipse,它甚至不提供语法高亮!

【问题讨论】:

  • Green Hills MULTI 工具集中有这样一个工具,它是专有的。我在其他地方没有见过这样的工具。也就是说,我从来没有发现它对显示或编辑有用。不过,使用 readelf 从可执行文件中转储部分边界并滚动您自己的图表可能是一项快速的工作。您关于“某些 IDE”的注释让我质疑您到底在用链接描述文件做什么......
  • 是的,你上面的建议就是我实际做的。我想做的是使这项工作自动化(某种 GUI)。我的链接器脚本非常复杂,在闪存/内部和外部 ram 中有许多不同的部分,因此手动检查链接器脚本的魔力是一项耗时的工作。

标签: c eclipse ide embedded ld


【解决方案1】:

据我所知,没有用于此目的的非专有工具。

【讨论】:

  • 我将接受这个作为答案,因为我还没有看到这样做的工具!
【解决方案2】:

我不知道任何用于 LD 脚本的 WYSIWYG 编辑器,但我可以帮助您以图形方式调试这些类型的问题。

我认为这是一个运行时问题,而不是编译时问题。如果是这种情况,那么您可以使用链接器的地图输出来了解正在发生的事情。

gcc -Wl,-Map=main.map main.c

然后可以使用 grep 解析映射文件,或者您可以为文件使用 graphical viewer 来调试部分和符号的问题。

您还可以使用 nm 从链接的可执行文件中获得类似的结果:

nm -S --size-sort a.out 

【讨论】:

    【解决方案3】:

    Apache freemarker 工具被 NXP 用于集成到 NXP(基于 Eclipse)IDE 中的链接器脚本生成器 MCUXpresso

    【讨论】:

      猜你喜欢
      • 2020-01-28
      • 2021-01-21
      • 1970-01-01
      • 1970-01-01
      • 2018-05-30
      • 1970-01-01
      • 2014-07-05
      • 2019-05-20
      • 1970-01-01
      相关资源
      最近更新 更多