Проблема с прошивкой ATmega168p
- Войдите на сайт для отправки комментариев
Чт, 21/04/2016 - 09:00
Здравствуйте,
купил в китае Arduino Pro Mini 168p
Столкнулся с проблемой его прошивки, поменял в boots.txt
diecimila.build.mcu=atmega168 на diecimila.build.mcu=atmega168p
Через SPI контроллер прошивается нормально, НО через USB-TTL конвертер не хочет и выдает ошибку сингатур, характерную для МК ATmega168.
Как я понимаю, через SPI я прошил в 168p бутлоадер от 168. Как можно изменить бутлоадер, подправив сигнатуры? И вообще, где можно почитать (желательно на русском) про то, как написать свой бутлоадер.
Вячеслав21, какое отношение диакимала имеет к про мини?
Никакаого, кроме того, что в тех платах используется тот же МК atmega168p. Это взято с темы на форуме, у меня данное изменение сделано в pro.menu.cpu.8MHzatmega168.build.mcu=atmega168p
Там в логе идёт расшифровка ошибки типа:
expected signature ........
И что там написано?
http://arduino.ru/forum/programmirovanie/oshibka-podpisi-atmega168pa-au#comment-164814
http://arduino.ru/forum/programmirovanie/oshibka-podpisi-atmega168pa-au?page=1#comment-164894
На работе не могу дословно написать код ошибки, но через SPI шьется без проблем, а через ttl выскакивает та же ошибка, что и до изменения 168 на 168р.
наверное avrdude: Expected signature for ATMEGA168p is 1E 94 0B
Именно эту тему я изучил полностью
Кроме того, меня смущает
pro.menu.cpu.8MHzatmega168.bootloader.file=atmega/ATmegaBOOT_168_pro_8MHz.hex
То есть он заливает бутлоадер от 168 МК
Как платы приехали, прошивалось все нормально, значит правильный бутлоадер где-то есть.
Родилась идея прошить в МК бутлоадер от 168 через SPI и поменять отбратно на
pro.menu.cpu.8MHzatmega168.build.mcu=atmega168
вдруг заработает
Вы сначала с сигнатурой разберитесь. А только потом дальше топайте....
Ну а "вдруг" - обычно не работает!
Если не сложно, не могли бы вы пояснить, что определяет сигнатуру микроконтроллера? Она зависит от бутлоадера?
Если хотите почитать - это пожалуйста, а вот писать ... Вы системный программист? Если да (или готовы стать таковым), то нет проблем. Если нет, то подумайте пять раз о трудоёмкости задачи. Дело в том, что прежде, чем у Вас получится надежно работающий бутлоадер, Вы должны будете таковым стать - т.е. выучиться на системного программиста. Никакие ссылки на непинайтеяновичёк не прокатят. Не та задача. Все непинайтеяновички идут лесом.
Спасибо за статью
Если не сложно, не могли бы вы пояснить, что определяет сигнатуру микроконтроллера? Она зависит от бутлоадера?
Сигнатура микроконтроллера жестко зашита на заводе в сам микроконтроллер, изменить её нельзя. Arduino IDE (а точнее Avrdude) перед прошивкой считывает и проверяет эту сигнатуру с той, которая указана в файле avrdude.conf (_папка_arduino_ide_\hardware\tools\avr\etc\avrdude.conf). Если сигнатура не совпадает - прошивать откажется.
Сюда посмотрели ?
http://arduino.ru/forum/programmirovanie/oshibka-podpisi-atmega168pa-au?...
Допишите вашу сигнатуру, ту, которую он скушает, ведь процессор тот-же....
Спасибо, вечером попробую, отпишусь
И еще вопрос, купил одновременно 2 Pro Mini, у одной из них нулевая сигнатура. Это можно вылечить?
Это значит что она просто не считалась.
Считайте её сначала SPI программатором.
Проверяйте проводкИ....
Проводки- это значит от ног процессора ( а не платы) до ног программатора.
И главное - "ресет" должен работать ( и его кондёр)
Хорошо, внимательно все посмотрю
Может быть Вы мне тогда и подскажите еще кое что.
В планах хотелось бы реализовать возможность загрузки во флеш память микроконтроллера программ через i2c. Для этого я как понимаю нужен специфический бутлоадер. Его нужно либо делать, либо искать готовый. Можете подсказать в каком направлении копать?
А именно:
1. Где можно найти бутлоадер, который согласится прошивать по i2c,
2. Какие функции должен выполнять прошивающий микроконтроллер, с учетом того, что hex файл находится на sd карте,
3. Возможно ли прошивать несколько контроллеров, подцепленных к шине i2c.
Огромное спасибо за помощь.
Вы с места в карьер полетели.
3. Возможно.
1,2. Сложно.
Что с места в карьер согласен. Но по крайней мере пока есть желание этим заняться. Может быть у Вас есть информация, где можно достать небходимую информацию?