2013-09-25 1 views
0

Мне нужно перенести изображение ELF в ARM в формат DMA. Все, что у меня есть, это старый код, который делает это для ПК с питанием, но структура эльфа, похоже, отличается. Может ли кто-нибудь указать мне направление? ИЛИ кто-нибудь знает об этом с открытым исходным кодом?как конвертировать ELF в формат DMA в ARM?

== EDIT ==

формата ДМ я имею в виду что-то вроде:

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 

только адресов и данных - в этом случае всех нулей. Спасибо, ласка

ответ

1

Структура эльфа довольно стандартная. Достаточно легко сделать собственный парсер. Если вы хотите еще более простой формат для анализа затем использовать ihex или SREC

рука-ни-EABI-objcopy hello.elf -О ihex hello.hex

, а затем быстро написать Util разобрать, что и выход независимо формат, который вы хотите.

1

Если под «формат DMA» вы имеете в виду простой двоичный файл, то вы хотите использовать objcopy (инструменты GNU) или fromelf (ARM инструменты), чтобы преобразовать файл ELF в обычный двоичный:

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

или

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

Если вы имеете в виду что-то другое, пожалуйста, прояснить вопросы.