0

我需要将 ARM 中的 ELF 图像传输为 DMA 格式。我目前所拥有的只是为 Power PC 执行此操作的旧代码,但精灵结构似乎有所不同。谁能指出我的方向?或者有人知道这方面的开源工具吗?

==编辑==

通过 dma 格式,我的意思是:

D 0000000000000008 0000000000000000
D 0000000000000010 0000000000000000
D 0000000000000018 0000000000000000
D 0000000000000020 0000000000000000
D 0000000000000028 0000000000000000
D 0000000000000030 0000000000000000
D 0000000000000038 0000000000000000
D 0000000000000040 0000000000000000
D 0000000000000048 0000000000000000
D 0000000000000050 0000000000000000
D 0000000000000058 0000000000000000
D 0000000000000060 0000000000000000
D 0000000000000068 0000000000000000
D 0000000000000070 0000000000000000
D 0000000000000078 0000000000000000
D 0000000000000080 0000000000000000
D 0000000000000088 0000000000000000
D 0000000000000090 0000000000000000
D 0000000000000098 0000000000000000

只是地址和数据 - 在这种情况下全为零。谢谢,黄鼠狼

4

2 回答 2

1

如果“DMA 格式”是指纯二进制,那么您想使用 objcopy(GNU 工具)或 fromelf(ARM 工具)将 ELF 文件转换为纯二进制:

arm-none-eabi-objcopy -O binary foo.elf foo.bin

或者

fromelf --bin foo.elf -o foo.bin

如果你的意思是别的,请澄清问题。

于 2013-09-25T10:36:53.723 回答
1

精灵结构非常标准。制作自己的解析器相当容易。如果您想要更容易解析的格式,请使用 ihex 或 srec

arm-none-eabi-objcopy hello.elf -O ihex hello.hex

然后编写一个快速实用程序来解析它并输出你想要的任何格式。

于 2013-09-25T13:28:26.827 回答