реклама на сайте
подробности

 
 
> Можно ли обойтись без кнопки в бутлодере, avr109 + avrOSP
alux
сообщение Jul 19 2007, 07:28
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 589
Регистрация: 24-04-05
Пользователь №: 4 447



... а то в приборе на панели кнопки "Reset" не предусмотрено, а разбирать прибор для перепрошивки как-то не практично. Вариант с WatchDog тоже не подходит. Т.е. по включению питания попадаем на загрузчик, анализировать причину сброса, и если в течении определенного времени не будет команд, то сброс по WD. Можно ли сделать так :
1)Вектор сброса и таблица прерываний в начале памяти программ
2)В прерывании UART анализировать входные данные. Если "P" - вход в режим программирования от OSP (avr911), то прыжок по адресу загрузчика, и обработка последующих команд. Если последующие команды не поступили, то можно ресет по WD. Т.е. прибор программируется только при подключении к терминалу и подачей соответствующей команды. Насколько это будет надежно? Как застраховаться от ложных срабатываний в случае использования UART в других целях?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sensor_ua
сообщение Jul 19 2007, 09:07
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



Если просто не хватает ног, а не в целях неразборности прибора, то описанный способ экономит один пин для получения сигнала о принудительном входе в бутлодырь после сброса.
Bbreak - это ошибочка - сигнал называется Break - выдаётся в COM-порт. Выглядит как длинный логический ноль, не помню сколько минимум, но вроде не меньше длительности 3-х байт. Виндовс умеет. Пользоваться можно только по месту, потому как (насколько я знаю), удалёно не передаётся. Нажимаете в проге кнопу - у Вас генерится Break, Вы перевключаете питание прибора, бутлодырь находит, что у него после сброса на входе Break, и не передаёт управление основной программе. Далее могут быть вариации с таймаутами и прочими способами выхода из бутлодыря


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
alux
сообщение Jul 19 2007, 10:06
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 589
Регистрация: 24-04-05
Пользователь №: 4 447



Цитата(sensor_ua @ Jul 19 2007, 12:07) *
Нажимаете в проге кнопу - у Вас генерится Break, Вы перевключаете питание прибора, бутлодырь находит, что у него после сброса на входе Break, и не передаёт управление основной программе. Далее могут быть вариации с таймаутами и прочими способами выхода из бутлодыря

Ну и чем этот вариант лучше, чем тот, что я описал в первом посте с WatchDog? Я ж говорил, чтобы без перевключения питания.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 07:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.01387 секунд с 7
ELECTRONIX ©2004-2016