|
Дисассемблер команд AVR |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 18)
|
Nov 28 2006, 10:34
|

Частый гость
 
Группа: Свой
Сообщений: 192
Регистрация: 23-03-05
Из: Украина. Днепропетровск
Пользователь №: 3 626

|
Цитата(muravei @ Nov 27 2006, 19:35)  А, разве, АВР Студия не дизассемблирует? Вот именно. На мой взгляд самый вменяемый дизассемблер.
|
|
|
|
|
Nov 28 2006, 10:51
|
Частый гость
 
Группа: Свой
Сообщений: 196
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 922

|
Цитата(Alex_Pol @ Nov 28 2006, 10:34)  Цитата(muravei @ Nov 27 2006, 19:35)  А, разве, АВР Студия не дизассемблирует?
Вот именно. На мой взгляд самый вменяемый дизассемблер. ИМХО: Не спорю дизассемблер неплохой в качестве посмотреть, как работает код. Но если детально захотите разобраться с программой функций явно не хватает. Например, автоматическое изменение всех меток из представления «метка 0005», на осмысленный вид «View_menu»
--------------------
Тяжелое детство - 8-битные игрушки на 8-дюемовых дискетах
|
|
|
|
|
Nov 28 2006, 12:18
|

Местный
  
Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672

|
[/quote] ИМХО: Не спорю дизассемблер неплохой в качестве посмотреть, как работает код. Но если детально захотите разобраться с программой функций явно не хватает. Например, автоматическое изменение всех меток из представления «метка 0005», на осмысленный вид «View_menu» [/quote] Ну автоматическое -- это вы уже загнули. Для таких замен можно воспользоваться любым текстовым редактором или MS WORD
--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
|
|
|
|
|
Nov 28 2006, 12:34
|
Частый гость
 
Группа: Свой
Сообщений: 196
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 922

|
Цитата(Wild007 @ Nov 28 2006, 12:18)  Ну автоматическое -- это вы уже загнули. Для таких замен можно воспользоваться любым текстовым редактором или MS WORD  Не всегда удобно скакать из одной программы в другую программу. Когда основной критерий время доработки чужой программы (да еще без наличия исходников)
--------------------
Тяжелое детство - 8-битные игрушки на 8-дюемовых дискетах
|
|
|
|
|
Jun 11 2009, 03:59
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 22-06-07
Пользователь №: 28 620

|
Цитата(Petka @ Nov 26 2006, 20:12)  IDA pro. Вещь! Вы пробовали дизассеблировать в IDA Pro код для какой нибудь ATmega(конкретно ATmega 16)? У меня что то не выходит,выдает такую фигню,близко не совпадает с исходником,начиная с векторов прерываний!Может что то я не так делаю,может в IDA нужно где то галочки поставить или снять? Заранее благодарен!
|
|
|
|
|
Jun 11 2009, 05:33
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата может в IDA нужно где то галочки поставить или снять? Галочки? Тьфу! Там для вменяемого результата скрипты надо писать. Чтобы, например, обрабатывало LDI Rx,LOW(adr) или HIGH(adr). Кроме того, надо эмулировать разные адресные пространства на линейной модели. Тогда можно на что-то надеяться. Будет типа такого Код ROM:1627 E140 ldi r20, (16) & 0xFF ROM:1628 E050 ldi r21, (16) >> 8 ROM:1629 E860 ldi r22, (byte_300180 & 0xFF) ROM:162A E071 ldi r23, (byte_300180 >> 8) ROM:162B E385 ldi r24, (byte_400135 & 0xFF) ROM:162C E091 ldi r25, (byte_400135 >> 8) ROM:162D 940E 19A6 call memcpy_P ; R20:R21 - len; R22:R23 - *src; R24:R25 - *dst Вот тут видна эмуляция - с адреса 0x300000 - Flash как данные, с адреса 0x400000 - ОЗУ. С адреса 0 - флеш как код. Собственно метки расставлены самописным скриптом - типа, ставишь курсор на первую команду, давишь кнопку - получаешь результат. И то, хорошо, что это результат компилятора, а не рукописная шняга, а то наверняка вручную пришлось бы бодаться... Короче, курите маны и будет счастье
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jun 11 2009, 07:58
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 22-06-07
Пользователь №: 28 620

|
Цитата(Rst7 @ Jun 11 2009, 11:33)  Галочки? Тьфу! Там для вменяемого результата скрипты надо писать. Чтобы, например, обрабатывало LDI Rx,LOW(adr) или HIGH(adr). Кроме того, надо эмулировать разные адресные пространства на линейной модели. Тогда можно на что-то надеяться. Будет типа такого Код ROM:1627 E140 ldi r20, (16) & 0xFF ROM:1628 E050 ldi r21, (16) >> 8 ROM:1629 E860 ldi r22, (byte_300180 & 0xFF) ROM:162A E071 ldi r23, (byte_300180 >> 8) ROM:162B E385 ldi r24, (byte_400135 & 0xFF) ROM:162C E091 ldi r25, (byte_400135 >> 8) ROM:162D 940E 19A6 call memcpy_P ; R20:R21 - len; R22:R23 - *src; R24:R25 - *dst Вот тут видна эмуляция - с адреса 0x300000 - Flash как данные, с адреса 0x400000 - ОЗУ. С адреса 0 - флеш как код. Собственно метки расставлены самописным скриптом - типа, ставишь курсор на первую команду, давишь кнопку - получаешь результат. И то, хорошо, что это результат компилятора, а не рукописная шняга, а то наверняка вручную пришлось бы бодаться... Короче, курите маны и будет счастье  Вобщем то спасибо большое за "всеобъемлющие советы",но вопросов стало на порядок больше  Маны курить не стал,покурил Pall Mall (правда много покурил  )и все встало на свои места! Вобщем дело было в том, что IDA почему то не вкуривает корректно HEX файлы,обозвал их BIN-ами,но при загрузке в IDA указывал что HEX.И о чудо,появился корректный ASM код!Пробовал на нескольких своих проектах и на слитой из ATmega16 прошивке.Сравнивал свой исходник с кодом в IDA, на первый взгляд довольно неплохо. Всем спасибо!
|
|
|
|
|
Jun 11 2009, 09:43
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 22-06-07
Пользователь №: 28 620

|
Цитата(Павлик @ Jun 11 2009, 15:08)  Юзаю IDA по надобности. Дизасемлирование еще не означает что получите полный исходный код , зато многие участки можно спереть без проблем. Да у меня вот такая проблема,есть схема девайса,есть прошивка,но LCD который применен в этом девайсе очень проблематично купить,вот и приходится расковыривать прошивку и адаптировать ее под другой LCD.
|
|
|
|
|
Jul 3 2009, 07:52
|

Участник

Группа: Участник
Сообщений: 23
Регистрация: 1-07-09
Пользователь №: 50 799

|
AVR dasm by Sotв исходниках сайт автора вроде как умерр
--------------------
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|