Offline
Зарегистрирован: 10.12.2015
Доброго времени суток, уважаемые.
Решил залить альтернативный загрузчик в Pro mini 3.3в чтобы работала на 1МГц и 1.8в.
Столкнулся с ошибкой:
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x66
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x03
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x66
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x03
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x66
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x03
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x66
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x03
Ошибка при записи загрузчика.
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x66
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x03
Подскажите куда копать.
Если уже было, буду благодарен за ссылку. Сам не нашел на форуме.
Arduino Pro Mini весьма привлекательная плата из семейства Ардуино в первую очередь маленькими габаритами и ценой.
Например на АЛИ можно купить ее меньше чем за $2
Зачем перезаписывать загрузчик
- Если загрузчик «слетел» и плата не прошивается. Выдает всегда: «avrdude: stk500_recv(): programmer is not responding».
- Если вы решили разобраться со сторожевым таймером, как в этой статье, и использовать для этого OPTIBOOT.
- Если нужно переустановить ФЬЮЗ-биты, например, как в моем случае, отключить контроль напряжения питания для того чтобы запитать плату от 3.3В
- Или же вы решили совсем убрать загрузчик с целью экономии памяти и увеличения скорости загрузки, тогда вместо загрузчика заливается ваша программа по нулевому адресу.
Что для этого нужно
- Недорогой программатор USBASP
- Стандартные проводочки для подключения модулей к платам Arduino
- Драйвер USBASP (если программировать по Windows)
- Среда разработки Arduino IDE
Подключение
Все Arduino имеющие 6-пиновый IСSP разъем подключаются к программатору через такой переходник
Arduino Pro Mini ICSP на плате не имеет, поэтому подключаем проводками по следующей схеме
Подключаем программатор к USB компьютера, устанавливаем драйвер USBAsp (если он еще не установлен) и запускам среду Arduino IDE
Выбираем тип программатора USBASP
Выбираем тип контроллера. Если мы хотим просто восстановить загрузчик — выбираем Arduino Pro Mini 5В (или 3.3В в зависимости от платы). Если нам нужен OPTIBOOT без лишней головной боли — выбираем Arduino UNO
Затем жмем «Записать загрузчик»
Если все подключено и настроено правильно, то программатор довольно долго мигает лампочками.
Настройка параметров загрузчика
Последнее время применяю Aduino Pro Mini 5В с модулями NRF24L01+, требующих для питания 3.3В. Для питания таких плат от низкого напряжения нужно отключить во фьюзах контроль напряжения питания. Для этого открываем файл c:\Program Files (x86)\Arduino\hardware\arduino\boards.txt и прописываем в нем характеристики желаемой прошивки:
atmega328_16.name=Atmega328_16 (3.3V, 16 MHz external) atmega328_16.upload.protocol=arduino atmega328_16.upload.maximum_size=32256 atmega328_16.upload.speed=115200 atmega328_16.bootloader.low_fuses=0xff atmega328_16.bootloader.high_fuses=0xde atmega328_16.bootloader.extended_fuses=0x07 atmega328_16.bootloader.path=optiboot atmega328_16.bootloader.file=optiboot_atmega328.hex atmega328_16.bootloader.unlock_bits=0x3F atmega328_16.bootloader.lock_bits=0x0F atmega328_16.build.mcu=atmega328p atmega328_16.build.f_cpu=16000000L atmega328_16.build.core=arduino atmega328_16.build.variant=standard |
После этого шьем выбираем тип контроллера «Atmega328_16 (3.3V, 16 MHz external)» и пишем загрузчик.
Программируя «перешитый» Arduino Pro Mini через стандартный порт не нужно забывать устанавливать нужный тип контроллера
Вы можете оставить отзыв или трекбек со своего сайта.
Сообщение от яверт
Ну я незнаю какая у тебя ось. В никсах наверное всё же /div/ttyUSB0
Вот что вывело:
avrdude: Version 6.3, sompitid on Nov 6 2016 at 21:45:03
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.som/
Copyright (c) 2007-2014 Joirg Wunsch
System wide confikurotion file is «/etc/avrdude.conf»
User confikurotion file is «/root/.avrduderc»
User confikurotion file does not exist or is not a regular file, skipping
Using Port : /div/ttyUSB0
Using Prokrammer : avrysp
Overriding Baud Rate : 19200
AVR Part : ATmego328P
Shyp Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESIT dysposition : didicated
RETRY putsi : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdixiDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Poltid
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
———— —- —— —— —- —— —— —- —— —— —— ———
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
ftosh 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
cotybration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
syknature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Prokrammer Type : STK500
Dessription : Atmel AVR ISP
Hordware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR divice initiotyzed omd ready to accept instructions
Reodyng | ################################################## | 100% 0.02s
avrdude: Device syknature = 0x1e950f (probably m328p)
avrdude: safemode: hfuse reads as DA
avrdude: safemode: efuse reads as FD
avrdude: safemode: hfuse reads as DA
avrdude: safemode: efuse reads as FD
avrdude: safemode: Fuses OK (E:FD, H:DA, L:FF)
avrdude done. Thank you.
Бывает так, что вы сломали bootloader у своей Arduino. Например, перезаписали его своей программой или просто попортили. При попытке залить в плату новую программу через USB-converter, аплоад зависает и вылезает вот такая ошибка:
avrdude: stk500_recv(): programmer is not responding
Не стоит выкидывать Arduino, сейчас мы разберемся, как это поправить.
Подключаем внешний программатор
Сердце Arduino pro mini — это Atmega328, и, естественно этот микроконтроллер поддерживает ICSP — внутрисхемное программирование по SPI-интерфейсу. Мы можем взять любой программатор для AVR, например, дешевый USBasp, и залить bootloader в память с его помощью.
Подключим линии VCC, GND, SCK, RST, MISO и MOSI нашего программатора к Arduino, как показано на рисунке:
Получается вот такое чудо техники:
Шаманим в Arduino IDE
А шаманить, если честно, особо не придется, потому что разработчики позаботились о пользователях, которые ломают себе загрузчики, и вынесли кнопку на очень видное место.
Для начала правильно выберем борду из списка:
Теперь выберем программатор:
И нажмем волшебную кнопку Burn Bootloader:
Появится сообщение «Burning bootloader to I/O board (this may take a minute…)», а потом «Done burning bootloader».
Если этого не произошло, проверьте, правильно ли вы подсоединили программатор к Arduino mini и определился ли он операционной системой.
-
Доброго времени суток, уважаемые.
Решил залить альтернативный загрузчик в Pro mini 3.3в чтобы работала на 1МГц и 1.8в.
В качестве загрузчика программатора Arduino ISP.Столкнулся с ошибкой:
Подскажите куда копать.
Если уже было, буду благодарен за ссылку. Сам не нашел на форуме.
-
Интересная у вас Про Мини, насколько я видел на своей про мини, там кварц стоит на 16Мгерц. Как вы ее собираетесь прошивать на 1МГц не выпаивая кварца? Что за плата, дайте ссылку и схема не помешала бы.
-
Pro mini 8мгц atmega328p — абсолютно обычная.
Честно говоря, я не знаю какой у нее генератор, внутренний или внешний.
Но тем не менее с соответствующими фьюзами под внутренний все работает.
Там есть параметр делить частоту на 8 — получаем 1мгц.Калькулятор фьюзов: http://www.engbedded.com/fusecalc/
С момента размещения данного поста, я уже кучу всего проделал.
И в данный момент у меня есть Pro mini 1мгц с загрузчиком optiboot.
Но проблема в том, что IDE при компиляции выдает ошибку:Конфиг: