Страница 1 из 1
STK500 BOOTLOADER
Добавлено: Пт май 25, 2012 10:54:15
clawham
Кто-нибудь пробывал разработки с этого сайта
http://www.procyonengineering.com/embed ... index.html как этот бут в работе?
интересует вопрос - как мне с иара из основной программы стартануть бут? не при резете а с определенной команды...
мега128 версия бута 1 ATmega128 STK500/UART 0 1Kword 16.000MHz
хочу перепрошивать удаленное устройство через блютуз
второй вопрос - можно ли rx/tx завести на одну линию rs485 без автоопределения направления....протокол это позволит или с ума сойдёт если увидит своё эхо?
Re: STK500 BOOTLOADER
Добавлено: Пт май 25, 2012 16:46:27
Филипович_Алексей
Элементарно: Есть команды перехода на определённый адрес флэша. Что то типа void (*funcptr)(void) = 0x0000; или rjump... Используется для перезапуска программы контроллера при возникновении ошибок
Точно не помню, тут гуглить нужно, но вместо 0х0000 записываете адрес начала секции загрузчика и прога переходит на него!

Re: STK500 BOOTLOADER
Добавлено: Пт май 25, 2012 16:50:24
Филипович_Алексей
По поводу RS485:
RS485 это только железо. Если ваша сеть состоит из ваших же устройств, в которых ваш же софт будет игнорировать эхо, то можно объединять. А вообще для таких целей есть приёмопередатчики с автоматическим определением направления передачи.
Видел ещё несложную схемку на резисторах, диоде и кондёре, которая драйвер на приём переключает при отсутствии передачи автоматом.
Re: STK500 BOOTLOADER
Добавлено: Пт май 25, 2012 17:51:07
Kavka
Во первых, этот бутлоадер работает по протоколу первой версии. загрузчик по второй версии протокола у них глючный (так и написано на сайте).
Во вторых, занимает 2-х килобайтный бутсектор.
В третьих, нет исходников.
В связи с выше изложенным я бы предложил следующее.
Смотреть "AVR Studio compatible Boot Loader" вот
тут
Работает по протоколу STK500 версии 2, может влезть в 1 килобайт, есть исходники.
Дальше решать вам.
Удачи.
Re: STK500 BOOTLOADER
Добавлено: Пт май 25, 2012 17:58:17
clawham
не ну я понял что из своего протокола я вызову функцию с асмовой вставкой типа jump и всё...
а что такого в версии 1? и мне пофиг на место - мега 128 имеет 192 килобайта ....
рс485 условность просто к этому контроллеру длинная линия проходящая рядом с силовыми кабелями и симисторными регуляторами...зашумлена...1цшку например регулярно сбоит(одна из пар в витой паре неэкранированной)
потому и хочу бут, потому и хочу немного разобраться...чем удобнее будет пользоваться...мегу взял с запасом для себя....на той же 485 шине будут 3-4 устройства - фотодатчика которые по запросу будут говорить состояние...тоесть непринципиально...а так-то всё своё...и авр студия мне не актуальна...я в иаре буду писать...
Re: STK500 BOOTLOADER
Добавлено: Пт май 25, 2012 19:49:53
Kavka
clawham писал(а):не ну я понял что из своего протокола я вызову функцию с асмовой вставкой типа jump и всё...
Да, загрузчик представляет из себя цельную законченную программу. Вы просто передаёте ей управление.
clawham писал(а):
а что такого в версии 1? и мне пофиг на место - мега 128 имеет 192 килобайта ....
Чего, чего 192 килобайта у ATmega128 ???
clawham писал(а):
рс485 условность просто к этому контроллеру длинная линия проходящая рядом с силовыми кабелями и симисторными регуляторами...зашумлена...1цшку например регулярно сбоит(одна из пар в витой паре неэкранированной)
потому и хочу бут, потому и хочу немного разобраться...чем удобнее будет пользоваться...мегу взял с запасом для себя....на той же 485 шине будут 3-4 устройства - фотодатчика которые по запросу будут говорить состояние...тоесть непринципиально...а так-то всё своё...и авр студия мне не актуальна...я в иаре буду писать...
А вот поэтому эти лоадеры
могут и не подойти. Причина - протоколы по которым они работают не рассчитаны на такое воздействие помех. Контроль целостности там очень слабенький, контрольная сумма 8-бит XOR, со всеми вытекающими.
Re: STK500 BOOTLOADER
Добавлено: Пт май 25, 2012 22:49:50
clawham
ну тоесть 131 кб ... впринципе нереально заполнить ничем кроме звука и картинок...
тоесть контроль хоть какой-то есть...добавь 485 и вуаля

дальность примерно 30-40 метров
думаю мож написать свой бут? не хоцца как-то разбираться с форматами хексов и технологиями программирования....хотя базовый функционал-ногодрыг бы не помешал...в качестве теста перед прошивкой...но по сути конечно нужно одно - простое и прозрачное программирование...не требующее доступа к девайсу...по тому же ком каналу...(а будет это блютуз или 485 ещё не решил...по прямой короче расстояние...пара плит перекрытия...
посмотрим
Re: STK500 BOOTLOADER
Добавлено: Вс май 27, 2012 19:02:37
Kavka
Kavka писал(а):тоесть контроль хоть какой-то есть...добавь 485 и вуаля
Любое чётное количество ошибок в битах с одинаковым номером в переданном пакете
не будет определено и вы получите неверную прошивку. Для надёжности надо или контрольную сумму "усиливать" при передаче пакетов, или проверять всю прошивку и, опять же, более "сильной" контрольной суммой.
clawham писал(а):ну тоесть 131 кб
Ну, вот это уже ближе к правде.
