Cont 0 12 июня, 2009 Опубликовано 12 июня, 2009 · Жалоба Возникла острая необходимость проанализировать содержимое софтверной части битфайла С помощью утилиты data2mem получилось сделать дамп битфайла, но мне нужно получить хотя бы ассемблерный код программы. Есть ли такая возможность? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 5 15 июня, 2009 Опубликовано 15 июня, 2009 · Жалоба Возникла острая необходимость проанализировать содержимое софтверной части битфайла С помощью утилиты data2mem получилось сделать дамп битфайла, но мне нужно получить хотя бы ассемблерный код программы. Есть ли такая возможность? для какого процессора? в ГНУ-тых тулзах дизасемблировать умеет objdump Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Cont 0 15 июня, 2009 Опубликовано 15 июня, 2009 · Жалоба Проблема в том как получить из bit-файла файл, который пригоден для objdump Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 5 15 июня, 2009 Опубликовано 15 июня, 2009 · Жалоба Проблема в том как получить из bit-файла файл, который пригоден для objdump bit файлы формат закрытый, но кажется, что вытащить содержимое BRAM из него не проблема сам я не делал, но вот http://electronix.ru/forum/index.php?showt...st&p=603963 из бинарного (s-record) или любого другого objcopy может сделать elf, его нужно подсунуть objdump-у вроде так UPD: проверил для интереса на sparc - фигня какая-то выходит :) - но может это баг в конкретном бинутиле вобщем objdump -H должен напечатать архитектуры и таржеты (названия) ну и типа objdump -b _тип_файла_ -m _архитектура_ -D файл попытается дизасемблировать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 15 июня, 2009 Опубликовано 15 июня, 2009 · Жалоба objdump это скорее для маньяков (не сильно лучше, чем в кодах, если этот obj без символов) :) Лучше Ida Pro. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yoo 0 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Первым делом нужно найти начало кода программы, их там может быть две это Bootloader и сама прога. У тебя сама плата, доступ к JTAG и программатор есть? Откуда стартует прога? Из флэшки или из SDRAM? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Cont 0 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Все интструменты для работы есть. Прога есть внутренняя + загрузчик который грузит основную прогу из флешки в сдрам. Еще вопрос можно ли изменить содержимое bram плиски частично? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yoo 0 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Флешка какая, SPI? bit файл нужно взять из флеш (IMPACT > ... Readback). Код ПО в bit видимо отделён пустым окном памяти. Либо в XPS SDK подцепиться к процессу (Debug>Initialization>Reset Type: No reset) и как-то его перезапустить в пошаговом режиме, чтобы узнать с какого адреса Bootloader грузит ПО. Если выцепил bit файл ПО - он в формате MSC (видимо) При объединении файла конфигурации и ПО делаются такие дейсвия: Преобразование ELF в SREC: mb-objcopy -O binary %application%.elf %application%.b Преобразование SREC в MCS: xmcsutil -accept_notice -i %application%.b -o %application%.mcs -29 Может также обратно разкрутить до elf? data2mem выцепил только Bootloader, которым инициализирутся BRAM. "Еще вопрос можно ли изменить содержимое bram плиски частично?" - Можно BRAM можно инициализировать любым кодом, в т.ч. и изменённым (data2mem) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopart 0 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Еще вопрос можно ли изменить содержимое bram плиски частично? В Альтере это можно сделать через In-System Memory Content Editor, через JTAG. Но при условии, что используется однопортовый блок памяти (на второй порт подцепляется jtag). В Xilinx, скорей всего должна быть аналогичная тулза. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться