Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Bootloader AVR109 протокол
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Alt.F4
Пишу бутлодер по AVR109.
Никак не вкурю, что надо ответить на запрос кода поддерживаемого мк "t" (Return Supported Device Codes).
Перерыл пол-инета, но так и не нашел эти Device Codes.
Спасибо.
aaarrr
Некоторые древние коды можно найти в avr910.asm Более свежие (если, конечно, этот термин применим к седой старине) выдираются из AVRProg'а.

Но лучше прикрутить свой протокол и не мучиться.
Alt.F4
Цитата
Но лучше прикрутить свой протокол и не мучиться.
Я б с удовольствием, но для PC никогда не писал...
ukpyr
Цитата
Никак не вкурю, что надо ответить на запрос кода поддерживаемого мк "t"
видимо Device ID вашего контроллера
Alt.F4
Кто работал с AVRprog?
Никак не могу понять что за команда 0x3A (':') при попытке чтения фьюзов? В AVR109 такая не упоминается.
Пробовал заюзать avrdude, тот вообще при чтении фюзов шлет команды на чтение епрома и выдает ошибку адресации от программатора.

Написал бутлоадер по протоколу AVR109, а теперь не знаю чем под виндой его заюзать... 05.gif
V_G
А откуда взяли 0x3A?
У меня бутлодыри для Atmega128,32, xmega32A4 нормально работают с AVRprog и этот байт не обрабатывают. Точнее, на все непонятные байты дают ответ вопросительным знаком
_Артём_
Цитата(Alt.F4 @ Mar 2 2012, 19:49) *
Написал бутлоадер по протоколу AVR109, а теперь не знаю чем под виндой его заюзать... 05.gif

Думаю AVRStudio может: меню Tools\AVRProg.
Возможно что поддержка есть в CodevisionAVR и ImagecraftAVR.
aaarrr
':' - универсальная команда. Следующие за ней 3 байта отправляются в SPI, назад возвращается значение, полученное после передачи четвертого (don't care) байта + 0x0d.
Alt.F4
Цитата
':' - универсальная команда. Следующие за ней 3 байта отправляются в SPI, назад возвращается значение, полученное после передачи четвертого (don't care) байта + 0x0d.
Ага, значит я неправильно представился. На запрос типа программатора 'p' возварщаю 'S' как в образце, но тогда AVRprog думает что я общаюсь с МК по SPI.
Как же тогда ему сказать что это бутлоадер? Описаниe протокола весьма и весьма скудное.

Добавлено:
Ответил на 'p' символом 'B' и вроде перестал слать ':'.
Буду разбираться дальше.

Добавлено:
Заметил интересную вещь: при записи каждого болка во флэш AVRprog постоянно шлет адрес, хотя указал, что работает автоинкремент. Но при верификации же блоков, адрес шлет только один раз в самом начале.

P.S. Кстати, можно ли скорость поднять хотя бы до 115200?
Alt.F4
Столкнулся с проблемой.
Маленькую прошивку до 1Кб вроде заливает без ошибок.
Попробовал 30Кб залить, и где-то неправильно пишет (верификацию проходит, но есть вероятность что она также неправильно считывается).
Пробовал читать прошивку и сравнивать с исходной - разные форматы, что в итоге просто анрил...
Может кто в курсе, как сверить два HEX'а, один полученный компилятором, а другой - прочитанный с МК? Явно где-то бага с адресацией.
aaarrr
Сконвертируйте в bin и сравните при помощи fc.
Alt.F4
Курю логи работы AVRprog и Disassembler AVRstudio.
Я что-то не понял, какого *** AVRprog что-то пишет в конец памяти, если там студия там ничего не скомпилировала?
Нажмите для просмотра прикрепленного файла
aaarrr
Цитата(Alt.F4 @ Mar 16 2012, 10:04) *
Я что-то не понял, какого *** AVRprog что-то пишет в конец памяти, если там студия там ничего не скомпилировала?

А оно пишется, или же просто не было на этом месте старое стерто?
Alt.F4
Забыл обнулить таймер в основной проге перед инициализацией на работу в режиме СТС, который используется и в bootloader'e.
Правда просимулировать в AVRstudio ситуацию, когда TCNT стал больше OCR, не получается, TCNT автоматом сбрасывается.
Я так понял, что он будет щелкать до FF и там остановиться?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.