реклама на сайте
подробности

 
 
> Дисассемблер команд AVR
sergeyip
сообщение Nov 24 2006, 16:44
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 251
Регистрация: 15-12-05
Из: Москва
Пользователь №: 12 247



Здравствуйте Орлы. Нет ли у ког нибудь Дисассемлера команд AVR. Или ссылка в сети. Очень уж не хочется писать его самому smile.gif
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 18)
Igor26
сообщение Nov 24 2006, 17:34
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544



Цитата(sergeyip @ Nov 24 2006, 16:44) *
Здравствуйте Орлы. Нет ли у ког нибудь Дисассемлера команд AVR. Или ссылка в сети. Очень уж не хочется писать его самому smile.gif

http://www.atmel.ru/Software/Software.htm
Посмотрите здесь. Сам не пробовал.
http://www.atmel.ru/Software/Software.htm
Go to the top of the page
 
+Quote Post
Petka
сообщение Nov 26 2006, 14:12
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(sergeyip @ Nov 24 2006, 16:44) *
Здравствуйте Орлы. Нет ли у ког нибудь Дисассемлера команд AVR. Или ссылка в сети. Очень уж не хочется писать его самому smile.gif


IDA pro. Вещь!
Go to the top of the page
 
+Quote Post
Nanobyte
сообщение Nov 26 2006, 22:20
Сообщение #4


За битами по регистрам гоняюсь
***

Группа: Свой
Сообщений: 457
Регистрация: 24-04-06
Из: Таганрог
Пользователь №: 16 446



Здесь, на форуме, уже несколько раз обсуждались дисассемблеры. Поиск даёт кучу результатов.
http://electronix.ru/forum/index.php?act=S...%EC%E1%EB%E5%F0


--------------------
Курсор влево, курсор вправо - считается хакерством. FORMAT C: производится без предупреждения
Go to the top of the page
 
+Quote Post
muravei
сообщение Nov 27 2006, 20:35
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



А, разве, АВР Студия не дизассемблирует?
Go to the top of the page
 
+Quote Post
Alex_Pol
сообщение Nov 28 2006, 10:34
Сообщение #6


Частый гость
**

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



Цитата(muravei @ Nov 27 2006, 19:35) *
А, разве, АВР Студия не дизассемблирует?
Вот именно. На мой взгляд самый вменяемый дизассемблер.
Go to the top of the page
 
+Quote Post
Семён
сообщение Nov 28 2006, 10:51
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 196
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 922



Цитата(Alex_Pol @ Nov 28 2006, 10:34) *
Цитата(muravei @ Nov 27 2006, 19:35) *

А, разве, АВР Студия не дизассемблирует?
Вот именно. На мой взгляд самый вменяемый дизассемблер.

ИМХО: Не спорю дизассемблер неплохой в качестве посмотреть, как работает код. Но если детально захотите разобраться с программой функций явно не хватает. Например, автоматическое изменение всех меток из представления «метка 0005», на осмысленный вид «View_menu»


--------------------
Тяжелое детство - 8-битные игрушки на 8-дюемовых дискетах
Go to the top of the page
 
+Quote Post
Wild007
сообщение Nov 28 2006, 12:18
Сообщение #8


Местный
***

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



[/quote]
ИМХО: Не спорю дизассемблер неплохой в качестве посмотреть, как работает код. Но если детально захотите разобраться с программой функций явно не хватает. Например, автоматическое изменение всех меток из представления «метка 0005», на осмысленный вид «View_menu»
[/quote]
Ну автоматическое -- это вы уже загнули. Для таких замен можно воспользоваться любым текстовым редактором или MS WORD smile.gif


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post
Семён
сообщение Nov 28 2006, 12:34
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 196
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 922



Цитата(Wild007 @ Nov 28 2006, 12:18) *
Ну автоматическое -- это вы уже загнули. Для таких замен можно воспользоваться любым текстовым редактором или MS WORD smile.gif

Не всегда удобно скакать из одной программы в другую программу. Когда основной критерий время доработки чужой программы (да еще без наличия исходников)


--------------------
Тяжелое детство - 8-битные игрушки на 8-дюемовых дискетах
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Nov 28 2006, 14:01
Сообщение #10


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(Семён @ Nov 28 2006, 11:34) *
Цитата(Wild007 @ Nov 28 2006, 12:18) *

Ну автоматическое -- это вы уже загнули. Для таких замен можно воспользоваться любым текстовым редактором или MS WORD smile.gif

Не всегда удобно скакать из одной программы в другую программу. Когда основной критерий время доработки чужой программы (да еще без наличия исходников)

Почти автоматически замена символьных имён меток делается в IDA.
Go to the top of the page
 
+Quote Post
sergeyip
сообщение Nov 28 2006, 14:44
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 251
Регистрация: 15-12-05
Из: Москва
Пользователь №: 12 247



Большое спасибо мужики, мне этого достаточно. Успехов Вам и всех благ smile.gif
Go to the top of the page
 
+Quote Post
Tcom
сообщение Nov 28 2006, 15:37
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 360
Регистрация: 3-01-06
Из: Украина Запорожская обл.
Пользователь №: 12 792



В AVR Studio есть встроенный диз асемблер.
Просто открой студией код который в HEX формате и увидеш диз. ас. код!
Удачи!
Go to the top of the page
 
+Quote Post
sally
сообщение Jun 11 2009, 03:59
Сообщение #13


Участник
*

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



Цитата(Petka @ Nov 26 2006, 20:12) *
IDA pro. Вещь!

Вы пробовали дизассеблировать в IDA Pro код для какой нибудь ATmega(конкретно ATmega 16)?
У меня что то не выходит,выдает такую фигню,близко не совпадает с исходником,начиная с векторов прерываний!Может что то я не так делаю,может в IDA нужно где то галочки поставить или снять?
Заранее благодарен!
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jun 11 2009, 05:33
Сообщение #14


Йа моск ;)
******

Группа: Модераторы
Сообщений: 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 - флеш как код. Собственно метки расставлены самописным скриптом - типа, ставишь курсор на первую команду, давишь кнопку - получаешь результат. И то, хорошо, что это результат компилятора, а не рукописная шняга, а то наверняка вручную пришлось бы бодаться...

Короче, курите маны и будет счастье smile.gif


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
sally
сообщение Jun 11 2009, 07:58
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 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 - флеш как код. Собственно метки расставлены самописным скриптом - типа, ставишь курсор на первую команду, давишь кнопку - получаешь результат. И то, хорошо, что это результат компилятора, а не рукописная шняга, а то наверняка вручную пришлось бы бодаться...

Короче, курите маны и будет счастье smile.gif

Вобщем то спасибо большое за "всеобъемлющие советы",но вопросов стало на порядок больше biggrin.gif
Маны курить не стал,покурил Pall Mall (правда много покурил rolleyes.gif )и все встало на свои места!
Вобщем дело было в том, что IDA почему то не вкуривает корректно HEX файлы,обозвал их BIN-ами,но при загрузке в IDA указывал что HEX.И о чудо,появился корректный ASM код!Пробовал на нескольких своих проектах и на слитой из ATmega16 прошивке.Сравнивал свой исходник с кодом в IDA, на первый взгляд довольно неплохо.
Всем спасибо!
Go to the top of the page
 
+Quote Post
pavel-pervomaysk
сообщение Jun 11 2009, 09:08
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 253
Регистрация: 28-12-07
Из: Украина г. Первомайск
Пользователь №: 33 716



Юзаю IDA по надобности. Дизасемлирование еще не означает что получите полный исходный код , зато многие участки можно спереть без проблем.
Go to the top of the page
 
+Quote Post
sally
сообщение Jun 11 2009, 09:43
Сообщение #17


Участник
*

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



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

Да у меня вот такая проблема,есть схема девайса,есть прошивка,но LCD который применен в этом девайсе очень проблематично купить,вот и приходится расковыривать прошивку и адаптировать ее под другой LCD.
Go to the top of the page
 
+Quote Post
Nuts_
сообщение Jul 3 2009, 07:52
Сообщение #18


Участник
*

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



AVR dasm by Sot
в исходниках

сайт автора вроде как умерр


--------------------
Go to the top of the page
 
+Quote Post
Арташес
сообщение Jul 3 2009, 15:09
Сообщение #19


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 16-06-07
Из: Армения
Пользователь №: 28 476



Еще можно воспользоваться AVR SIMULATOR IDE фирмы Oshonsoft. В нее встроен нужный функционал.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 17:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01577 секунд с 7
ELECTRONIX ©2004-2016