![]() |
|
Модераторы: PILOT, ManiaK, Mazzi |
![]()
|
|
| Коляй |
|
|||
|
Unregistered |
Ребята, пособите у кого есть машинные коды команд для этого кристала? Дока то есть, но там я ни-чо не понимаю. Приходится сначала похожую команду найти или несколько команд с разными регистрами, а потом экспериментально уже подбирать какой надо. Неудобно. Ещё есть ли в природе какой-нибудь редактор попроще? А то в АВР-Студио не поменять ничего (файл НЕХ). Приходится в Студио работать, а изменения вносить Пони-Прог - ом, что тоже не удобно, в Пони-Прог адреса надо удваивать и байты каждый раз местами переставлять и обратно не забывать перед сохранением.
З.Ы. Я не программист, просто возникла необходимость демо-прошивку чуть доработать. Так что прошу сильно не ругаться и отнестись снисходительно к моим, может быть, детским вопросам. |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Вопрос не детский. Изменить bin файл под свои нужды это не так просто. Я вообще уважаю тех у кого это получается хорошо, таких правда немного.
Короче тебе нужно провести приличную работу, а именно: 1) получить бин-файл 2) загнать его в дисассемблер и получить ассемблерный исходник 3) попытаться определить и назвать метки, процедуры, прерывания, область констант, чтобы уловить структуру программы. 4) изменить то, что необходимо. 5) откомпилировать код и перепрошить кристалл. СУВ. ЗЫ. Утилита дисассемлера: тут -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Спасибо большое! Попробую поразбираться.
|
|||
|
||||
| Коляй |
|
|||
|
Unregistered |
Вот попробовал одну команду перевести в коды. Самая обычная - загрузка регистра константой LDI. И сразу увидел сколько заморочек. Команда состоит 4-х значного кода. Первый знак - буква Е, второй - первое (16) число загружаемой константы. Третий - номер регистра от 0 до F(что соответствует регистрам от 16 до 31), и четвёртый - второе число константы. Например, записать в регистр 17 константу BC - EB1C. Другие команды уже как то по-другому.
С завистью вспоминаю систему команд на 8080, когда было всё просто и понятно. И по цвету всё отличалось и на двойном листе умещалось. |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Во первых не четырехзначного а двухбайтового.
Во вторых AVR менее распространен чем х80, поэтому отладочные штуковины тоже малораспространены. Система команд АВР весьма гибкая, и позволяет делать очень много (если не почти все), все сделано для пользователя, для компиляторов. Ядро так вообще замечательное 16 РОН, + 16РОН с неполной математикой. Это просто здорово! СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| Коляй |
|
|||
|
Unregistered |
Какой же всё таки язык лучше начать изучать Си или АСЕМ? Или оба потихоньку? Вчера взял примеры на AVR123.by.ru попробовал написать в СИ короткую программку - 8 светодиодов включает через порт B. Провозился до обеда. А потом то же самое на АСЕМе сделал за час, только правильнее. Диоды включаются по порядку 1,2,3... а не так как там было 1,2,1и2,3,... Мой код занял около 15 строчек, а тот что СИ откомпеллил заметно больше, причём пять команд CALL совершенно непонятных. Или может в СИ надо грамотно писать по особому порядку? А главное что в АСМе всё просто и понятно. Это при том что я не соображаю в программировании вообще и не разу ничего не писал сам.
|
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Сначала лучше учить асм, потом Си, потому что на Си писать объемные программы быстрее, и отлаживать программы на Си быстрее. Зная асм, всегда можно предугадать во что(в какой ассебмлерный кусок) траслируется то или иное действие на Си.
СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| Коляй |
|
|||
|
Unregistered |
Спасибо.
|
|||
|
||||
| Коляй. |
|
|||
|
Unregistered |
А что в AVR-studio4 аналог. компоратор не поддерживается? (2313) А то включены в компораторе "захват таймера1 по переключению" и ничего не происходит как не включай. Пилот, и спасибо за утилитки! Должен признать - очень полезные "штучки" оказались! |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
На здоровье!
В AVR-Studio должна быть вся периферия выбранного контроллера. СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
![]()
|
| Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |