我正在为当前(根据要求)创建许多 srec 文件并合并它们的类项目编写一些嵌入式代码。我希望能够将此代码加载到 QEMU 中,但它通常只对 ELF 文件感到满意。合并原始 ELF 文件而不是 srecs 的最简单方法是什么?也可以接受,一种将 srec 转换回 ELF 并使生成的文件可加载的方法(objcopy 似乎会产生相当损坏的文件(没有其他架构)。这些工具必须能够处理 m68k 二进制文件,但是主机系统是普通的 x86。
问问题
7241 次
4 回答
2
请查看ELFIO 库。它包含 WriteObj 和 Writer 示例。通过使用该库,您将能够在不同的主机平台上创建 ELF 二进制文件。
于 2011-06-10T00:41:39.877 回答
2
容易...让我们假设:ac 和 bc
gcc a.c -c -o a.o
gcc b.c -c -o b.o
ld -r a.o b.oc -o c.o
co 现在包含 ao 和 bo 作为可重定位的 ELF 文件。
——伊万
于 2017-12-04T14:01:11.987 回答
0
也许使用您的链接器?
srec 文件仅包含链接/定位的可加载二进制文件,elf 文件包含在生成二进制文件时丢失的附加元数据,因此可能无法返回到 elf,尤其是当 elf 需要可重定位时。
于 2011-06-02T19:40:29.840 回答
-1
我发现我最初的问题最简单的解决方案实际上是将 SREC 加载添加到 qemu。我已经在修改源代码以添加板支持,因此 SREC 支持并没有太多额外的工作。我在 github 上从已经这样做的人那里找到了一些代码,并将其用作我工作的基础。
https://github.com/MegabytePhreak/qemu-mcf5307/commit/d3bceb911893b37b2524d6e804bac96691d4d33c
于 2011-06-30T18:15:44.480 回答