Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 19.01.2016
Сообщений: 1

Дизассемблирование прошивки для МК Atmega8

19.01.2016, 23:23. Показов 2127. Ответов 5

Студворк — интернет-сервис помощи студентам
Здравствуйте, такая ситуация я студент и дипломный проект уже делается устройство Часы на ГРИ и вот имеется прошивка для МК Atmega8 но он в 16ном коде, а нужно в коде языка assembler и с комментариями. Помогите в такой ситуации, я уже пытался что-то ковырять на тему дизассемблирование и в прогах тыркать код но выходит ересь... прикрепил файл прошивки... (сам я с языком ассемблер почти нуль) Спасибо за отзывчивость
Вложения
Тип файла: zip Soft.zip (7.4 Кб, 16 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.01.2016, 23:23
Ответы с готовыми решениями:

Дизассемблирование прошивки
Нашел я вот такую плату на Atmega8a-au: Подключил к USBasm, и прогой Khazama AVR Programmer слил флешку. Получился у меня вот...

Ошибка прошивки Atmega8, ткните в ошибку пож
Помогите пожалуйста. 3 дня ковырялся в прошивке для МК Atmega8A. В Atmel Studio все нормально, пошагово проходит всю программу как...

Разница между ATMEGA8-16AI и ATMEGA8-16AU
Кто подскажет, в чем разница между ATMEGA8-16AI и ATMEGA8-16AU. Смотрю в Платане цены между ними разнятся аж в 3 раза.

5
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
20.01.2016, 08:38
1. Быстрей свой код написать, чем коментарии к чужому.
2. Если прошивка писалась на СИ, то в ассемблере не зная принципов трансляции кода и не плохого уровня знания ассемблера не разобраться.
3. Вообще декомпеляции и восстановления прошивки требует больший объём знаний, чем написание оной.

Не по теме:

Цитата Сообщение от Luteron Посмотреть сообщение
дипломный проект уже делается устройство Часы на ГРИ
божешь ты мой, когда я учился, на старших курсах его как курсовой бы не приняли.

0
20.01.2016, 08:56

Не по теме:

Цитата Сообщение от Витальич Посмотреть сообщение
божешь ты мой, когда я учился, на старших курсах его как курсовой бы не приняли.
Если это средне-техническое а не высшее то на дипломный потянет, еще даже уверен что ТС заплатил неплохую сумму за эту работу :)

0
1184 / 673 / 113
Регистрация: 15.05.2012
Сообщений: 4,086
20.01.2016, 10:58
Цитата Сообщение от Luteron Посмотреть сообщение
нужно в коде языка assembler и с комментариями
Вот начало:
Кликните здесь для просмотра всего текста
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
; reassembly of "Sunny_clock_12.hex"
; created by ReAVR V3.2.0
; at 2016/01/20 - 11:53:53
; for ICCAVR assembler
;---------------------------------------
; AVR_TYPE=<unknown>
; FLASH_SIZE=8KB
; SRAM_START=0x60
;---------------------------------------
    .area   text
;; older iccavr need different setup:
;;  .area   text (abs,ovr)
;;  .org    0x0000
;---------------------------------------
; byte constants:
;
k00 = 0x00  ;
k01 = 0x01  ;
k02 = 0x02  ;
k03 = 0x03  ;
k04 = 0x04  ;
k05 = 0x05  ;
k06 = 0x06  ;
k07 = 0x07  ;
k08 = 0x08  ;
k09 = 0x09  ;
k0A = 0x0A  ;
k0B = 0x0B  ;
k0C = 0x0C  ;
k0D = 0x0D  ;
k0F = 0x0F  ;
k10 = 0x10  ;
k11 = 0x11  ;
k12 = 0x12  ;
k14 = 0x14  ;
k15 = 0x15  ;
k16 = 0x16  ;
k18 = 0x18  ;
k1B = 0x1B  ;
k1C = 0x1C  ;
k1D = 0x1D  ;
k1E = 0x1E  ;
k1F = 0x1F  ;
k20 = 0x20  ; ' '
k22 = 0x22  ; '"'
k26 = 0x26  ; '&'
k27 = 0x27  ; '''
k28 = 0x28  ; '('
k29 = 0x29  ; ')'
k2A = 0x2A  ; '*'
k2F = 0x2F  ; '/'
k30 = 0x30  ; '0'
k32 = 0x32  ; '2'
k35 = 0x35  ; '5'
k38 = 0x38  ; '8'
k39 = 0x39  ; '9'
k3A = 0x3A  ; ':'
k3C = 0x3C  ; '<'
k40 = 0x40  ; '@'
k41 = 0x41  ; 'A'
k58 = 0x58  ; 'X'
k5F = 0x5F  ; '_'
k60 = 0x60  ; '`'
k61 = 0x61  ; 'a'
k62 = 0x62  ; 'b'
k63 = 0x63  ; 'c'
k64 = 0x64  ; 'd'
k65 = 0x65  ; 'e'
k66 = 0x66  ; 'f'
k6F = 0x6F  ; 'o'
k78 = 0x78  ; 'x'
k79 = 0x79  ; 'y'
k7A = 0x7A  ; 'z'
k7B = 0x7B  ; '{'
k7E = 0x7E  ; '~'
k7F = 0x7F  ; ''
k80 = 0x80  ;
k81 = 0x81  ;
k82 = 0x82  ;
k83 = 0x83  ;
k85 = 0x85  ;
k86 = 0x86  ;
k8E = 0x8E  ;
k92 = 0x92  ;
k97 = 0x97  ;
k98 = 0x98  ;
k9E = 0x9E  ;
kA0 = 0xA0  ; '*'
kA4 = 0xA4  ; '¤'
kA6 = 0xA6  ; '¦'
kA8 = 0xA8  ; 'Ё'
kA9 = 0xA9  ; '©'
kAA = 0xAA  ; 'Є'
kAC = 0xAC  ; '¬'
kAE = 0xAE  ; '®'
kB0 = 0xB0  ; '°'
kB2 = 0xB2  ; 'І'
kB3 = 0xB3  ; 'і'
kB6 = 0xB6  ; '¶'
kB7 = 0xB7  ; '·'
kB8 = 0xB8  ; 'ё'
kB9 = 0xB9  ; '№'
kBB = 0xBB  ; '»'
kBC = 0xBC  ; 'ј'
kBD = 0xBD  ; 'Ѕ'
kBF = 0xBF  ; 'ї'
kC1 = 0xC1  ; 'Б'
kC2 = 0xC2  ; 'В'
kC6 = 0xC6  ; 'Ж'
kC7 = 0xC7  ; 'З'
kC8 = 0xC8  ; 'И'
kC9 = 0xC9  ; 'Й'
kCE = 0xCE  ; 'О'
kCF = 0xCF  ; 'П'
kD0 = 0xD0  ; 'Р'
kD1 = 0xD1  ; 'С'
kD2 = 0xD2  ; 'Т'
kD3 = 0xD3  ; 'У'
kD4 = 0xD4  ; 'Ф'
kD5 = 0xD5  ; 'Х'
kD6 = 0xD6  ; 'Ц'
kDB = 0xDB  ; 'Ы'
kDE = 0xDE  ; 'Ю'
kE1 = 0xE1  ; 'б'
kE4 = 0xE4  ; 'д'
kE5 = 0xE5  ; 'е'
kE8 = 0xE8  ; 'и'
kE9 = 0xE9  ; 'й'
kEA = 0xEA  ; 'к'
kEB = 0xEB  ; 'л'
kEC = 0xEC  ; 'м'
kED = 0xED  ; 'н'
kEE = 0xEE  ; 'о'
kF0 = 0xF0  ; 'р'
kF6 = 0xF6  ; 'ц'
kF7 = 0xF7  ; 'ч'
kFA = 0xFA  ; 'ъ'
kFB = 0xFB  ; 'ы'
kFE = 0xFE  ; 'ю'
kFF = 0xFF  ; 'я'
;
; io register addresses:
;
p04 = 0x04
p05 = 0x05
p06 = 0x06
p07 = 0x07
p11 = 0x11
p12 = 0x12
p13 = 0x13
p14 = 0x14
p15 = 0x15
p17 = 0x17
p18 = 0x18
p1C = 0x1C
p1D = 0x1D
p1E = 0x1E
p1F = 0x1F
p21 = 0x21
p34 = 0x34
p3D = 0x3D
p3E = 0x3E
p3F = 0x3F
;
; pointer offsets:
;
o00 = 0x00
o01 = 0x01
o02 = 0x02
o03 = 0x03
;
; bit numbers:
;
b0  = 0x00
b1  = 0x01
b2  = 0x02
b3  = 0x03
b4  = 0x04
b5  = 0x05
b6  = 0x06
b7  = 0x07
;---------------------------------------
;
L0000:
    rjmp    __start ; L0013
;   ----------- jump on last line
    reti
;----------------------*
; pc=0x2(0x4)
;
    reti
;----------------------*
; pc=0x3(0x6)
;
    reti

Осталось каменты разрисовать. Но проще - нарисовать с нуля на основе схемы.
1
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
20.01.2016, 11:07
pyzhman,

Не по теме:

интересно, я один понял подтекст :D

0
1184 / 673 / 113
Регистрация: 15.05.2012
Сообщений: 4,086
20.01.2016, 11:40
Ну дык листинг и приведен с целью показать
Цитата Сообщение от Luteron Посмотреть сообщение
ересь
дизассемблирования. Остальное (подтекст) - дело ТС.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.01.2016, 11:40
Помогаю со студенческими работами здесь

Восстановление прошивки прошивки snr-s2950-24g
По глупости удалил файлы boot.rom nos.img (только не спрашивайте зачем) Заходит только в boot Перепробовал ВСЕ описанные способы...

Платка для Atmega8
.....

bootloader для atmega8
Пытаюсь разобраться с бутлоадером, но что то плохо получается записывать флэш. #include &lt;avr/io.h&gt; #include &lt;avr/iom8.h&gt; ...

Помогите с компиляцией для atmega8
Камрады, помогите а лучше научите компилировать проекты. Нужно скомпилировать это для atmega8. А я даже представить не могу как это...

Книга для программирования atmega8 на СИ
Здравствуйте! Поиски в интернете информации о программирование AVR не увенчались успехом и поэтому я хотел бы узнать у знатоков есть ли...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru