代码之家  ›  专栏  ›  技术社区  ›  WeaselFox

如何在ARM中将ELF转换为DMA格式?

  •  0
  • WeaselFox  · 技术社区  · 11 年前

    我需要将ARM中的ELF图像转换为DMA格式。我目前所拥有的只是为powerpc做这件事的旧代码,但elf的结构似乎有所不同。有人能给我指个方向吗?或者有人知道这样的开源工具吗?

    ==编辑==

    我所说的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
    

    只有地址和数据——在这种情况下都是零。 谢谢 鼬

    2 回复  |  直到 11 年前
        1
  •  1
  •   old_timer    11 年前

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

    没有武器,也没有目标

    然后编写一个快速util来解析它,并输出您想要的任何格式。

        2
  •  1
  •   scott    11 年前

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

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

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

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