|
дизассемблерование atmega |
|
|
|
Nov 12 2011, 12:48
|
Местный
  
Группа: Участник
Сообщений: 214
Регистрация: 19-07-07
Пользователь №: 29 228

|
Подскажите, пожалуйста, чем дизассемблеровать atmeg'у? пробывал IDA, не нашел этого проца(может плохо искал?), пробывал AVRStudio, получислось, но не совсем удобно, например, вызов процедуры RCALL PC - 0x076F, мне не понятно куда прыгает программа, хотелось бы сразу получить код с метками, и желательно с именами Регистров типа UBRR? дизассемблер может такое сделать?или все прийдется делать ручками?
--------------------
Нет повести печальнее на свете, чем повесть о хреновом интернете.
|
|
|
|
|
 |
Ответов
|
Nov 15 2011, 12:08
|
Местный
  
Группа: Участник
Сообщений: 214
Регистрация: 19-07-07
Пользователь №: 29 228

|
Если честно я точно не знаю тип МК, где то в районе мега168, мега168 мега8
я нашел все команды OUT в программе, их не много, обращение к регистрам USART идет только после сброса RESET, во все регистры записывается ноль
может такое быть, что при инициализции USARt, обращение идет как к ячейки памяти, а не через команду OUT?
--------------------
Нет повести печальнее на свете, чем повесть о хреновом интернете.
|
|
|
|
|
Nov 15 2011, 12:49
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(coolibin @ Nov 15 2011, 16:08)  может такое быть, что при инициализции USARt, обращение идет как к ячейки памяти, а не через команду OUT? Никто проделать такое не возброняет! Более того, в некоторых МК иное и невозможно: например, в mega128 регистры USART1 вообще не имеют адресации через область ввода-вывода (т.е. обратиться к ним можно только как к ячейкам памяти)... Цитата(coolibin @ Nov 15 2011, 16:08)  где то в районе мега168, мега168 мега8 Вы бы точнее определились: в m168 (в отличии от m8) регистры USART лежат за пределами области ввода-вывода! Т.е. если МК - m168, то команд OUT при инициализации USART Вы не найдете!
|
|
|
|
|
Nov 15 2011, 13:47
|
Местный
  
Группа: Участник
Сообщений: 214
Регистрация: 19-07-07
Пользователь №: 29 228

|
Цитата(Палыч @ Nov 15 2011, 14:49)  ... Вы бы точнее определились: в m168 (в отличии от m8) регистры USART лежат за пределами области ввода-вывода! Т.е. если МК - m168, то команд OUT при инициализации USART Вы не найдете! тип МК это тоже загадка, по подозрениям это atmega168, но когда дизасмлю ИДА выводит много строк типа out 0x39, r16 где число(в данном случае 0x39) выделено красным, я так понимаю не может определить регистр к которому обращается программа, когда дизасмлю как atmega8 такого нет а может USART работать в режиме mbus, т. е. на одной линии и прием и посылка? или это уже ручками?
Сообщение отредактировал coolibin - Nov 15 2011, 14:01
--------------------
Нет повести печальнее на свете, чем повесть о хреновом интернете.
|
|
|
|
|
Nov 15 2011, 15:24
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(coolibin @ Nov 15 2011, 17:47)  тип МК это тоже загадка, по подозрениям это atmega168, но когда дизасмлю ИДА выводит много строк типа out 0x39, r16 где число(в данном случае 0x39) выделено красным, я так понимаю не может определить регистр к которому обращается программа, когда дизасмлю как atmega8 такого нет Да, действительно, в m168 адрес ввода-вывода 0х39 значится как "Reserved" Цитата(coolibin @ Nov 15 2011, 17:47)  а может USART работать в режиме mbus, т. е. на одной линии и прием и посылка? или это уже ручками? Ручками.
|
|
|
|
Сообщений в этой теме
coolibin дизассемблерование atmega Nov 12 2011, 12:48 Палыч Цитата(coolibin @ Nov 12 2011, 16:48) про... Nov 12 2011, 13:05 coolibin А не подскажите, как найти часть кода где идет ини... Nov 14 2011, 13:16 ILYAUL Цитата(coolibin @ Nov 14 2011, 17:16) А н... Nov 14 2011, 13:39  coolibin Цитата(ILYAUL @ Nov 14 2011, 15:39) Там ж... Nov 15 2011, 11:19   Палыч Цитата(coolibin @ Nov 15 2011, 15:19) чег... Nov 15 2011, 11:46
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|