Radus » 19 ноя 2013, 13:26
Привет!
Столкнулся с проблемой, не работают end-stop концевики.
Оказывается что у контроллера atmega644p включен JTAG fuse и поэтому те входы, куда подключены концевики не работают.
Пробуем прошивать в контроллер новые значения fuse, чтобы отключить JTAG но не получается.
Прошиваем через usb, программатором встроенным в бутлоадер stk500v1.
avrdude -C avrdude.conf -p m644p -c stk500v1 -P COM8 -b 57600 -U hfuse:w:0xDC:m
дальше avrdude пишет, что успешно записан 1 байт, но когда начинает проверять verify, то выдает ошибку - прочитанный байт не совпадает с записанным. И естественно новое значение fuse не прошивается.
Так вот вопрос, как можно через бутлоадер прошить новые fuse ? Или это нереально т.к. у бутлоадера нет доступа к той области памяти где хранятся фьюзы ?
compplusplus » 19 ноя 2013, 17:03
Radus писал(а):Привет!
Столкнулся с проблемой, не работают end-stop концевики.
Оказывается что у контроллера atmega644p включен JTAG fuse и поэтому те входы, куда подключены концевики не работают.
Пробуем прошивать в контроллер новые значения fuse, чтобы отключить JTAG но не получается.
Прошиваем через usb, программатором встроенным в бутлоадер stk500v1.
avrdude -C avrdude.conf -p m644p -c stk500v1 -P COM8 -b 57600 -U hfuse:w:0xDC:m
дальше avrdude пишет, что успешно записан 1 байт, но когда начинает проверять verify, то выдает ошибку - прочитанный байт не совпадает с записанным. И естественно новое значение fuse не прошивается.
Так вот вопрос, как можно через бутлоадер прошить новые fuse ? Или это нереально т.к. у бутлоадера нет доступа к той области памяти где хранятся фьюзы ?
Насколько я помню через бутлоадер фьюзы нельзя прошить, прийдется вам купить программатор
how_eee » 19 ноя 2013, 20:25
Известная проблема. Тоже сталкивался. Менял фьюзы программатором usbasp.
Также надо включить watchdog, а то периодически слетает прошивка. Но вот какое значение ставить точно не знаю. Пока живу так и раз в неделю перешиваю

baru » 23 ноя 2013, 23:00
how_eee писал(а):Но вот какое значение ставить точно не знаю.
Это поможет?
http://www.engbedded.com/fusecalcИ может быть, вы имели ввиду не watchdog, а brown-out detection?
Radus » 24 ноя 2013, 20:33
Спасибо за подсказки... пришлось найти железный программатор и с ним все получилось.
andreykyz » 24 ноя 2013, 21:27
Radus писал(а):дальше avrdude пишет, что успешно записан 1 байт, но когда начинает проверять verify, то выдает ошибку - прочитанный байт не совпадает с записанным. И естественно новое значение fuse не прошивается.
Купи себе USBASP за 150руб 00коп и будет тебе счастье. Вот
моя история успеха по замене битов-перемычек(fusebits)