Avrdude stk500 disable protocol error expect 0x14 resp 0x00

Первая загрузка прошивки на Arduino, решение проблем

Первая загрузка прошивки

Содержание

  • 1 Подключение платы
  • 2 Выбор и настройка платы
  • 3 Загрузка прошивки
  • 4 Ошибка компиляции
  • 5 Ошибка загрузки

Подключение платы


Плата подключается к компьютеру по USB, на ней должны замигать светодиоды. Если этого не произошло:

  • Неисправен USB кабель
  • Неисправен USB порт компьютера
  • Неисправен USB порт Arduino
  • Попробуйте другой компьютер, чтобы исключить часть проблем из списка
  • Попробуйте другую плату (желательно новую), чтобы исключить часть проблем из списка
  • На плате Arduino сгорел входной диод по линии USB из-за короткого замыкания, устроенного пользователем при сборке схемы
  • Плата Arduino сгорела полностью из-за неправильного подключения пользователем внешнего питания или короткого замыкания

Компьютер издаст характерный сигнал подключения нового оборудования, а при первом подключении появится окошко “Установка нового оборудования”. Если этого не произошло:

  • См. предыдущий список неисправностей
  • Кабель должен быть data-кабелем, а не “зарядным”
  • Кабель желательно втыкать напрямую в компьютер, а не через USB-хаб
  • Не установлены драйверы Arduino (во время установки IDE или из папки с программой), вернитесь к установке.

В списке портов (Arduino IDE/Инструменты/Порт) появится новый порт, обычно COM3. Если этого не произошло:

  • См. предыдущий список неисправностей
  • Некорректно установлен драйвер CH341 из предыдущего урока
  • Если список портов вообще неактивен – драйвер Arduino установлен некорректно, вернитесь к установке
  • Возникла системная ошибка, обратитесь к знакомому компьютерщику

Выбор и настройка платы


  • В наборе используется Arduino Nano, выбираем в ИнструментыПлатаArduino Nano
  • На данный момент в микроконтроллер китайских плат зашит “старый” загрузчик, поэтому далее выбираем ИнструментыПроцессорATmega328p (Old Bootloader)
    • Если вам по какой-то причине пришлют платы с новым загрузчиком – прошивка не загрузится (будет минутная загрузка и ошибка), можно попробовать сменить пункт Процессор на ATmega328p
  • Теперь выбираем порт, к которому подключена плата. COM1 – в большинстве случаев системный порт, у вас должен появиться ещё один (обычно COM3)

Загрузка прошивки


“Загрузка” прошивки происходит в два этапа – компиляция и непосредственно загрузка в микроконтроллер. Компиляция – проверка кода на наличие ошибок, её можно запустить, нажав кнопку с символом галочки в верхнем меню программы. Компилировать код можно даже не подключая плату к компьютеру! При нажатии на кнопку с символом стрелочки начнётся компиляция, а затем загрузка скомпилированного кода в плату.

Вставьте следующий код с полной заменой содержимого в IDE и загрузите его. Должен начать мигать светодиод L на плате, это означает что все программы настроены верно и можно переходить к работе с набором!

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, 0);
  delay(300);
  digitalWrite(LED_BUILTIN, 1);
  delay(300);
}

Ошибка компиляции


Возникает на этапе сборки и компиляции прошивки. Ошибки компиляции вызваны проблемами в коде прошивки, то есть проблема сугубо программная. Слева от кнопки “загрузить” есть кнопка с галочкой – проверка. Во время проверки производится компиляция прошивки и выявляются ошибки, если таковые имеются. Ардуино в этом случае может быть вообще не подключена к компьютеру.

  • В некоторых случаях ошибка возникает при наличии кириллицы (русских букв) в пути к папке со скетчем. Решение: завести для скетчей отдельную папочку в корне диска с английским названием.
  • В чёрном окошке в самом низу Arduino IDE можно прочитать полный текст ошибки и понять, куда копать
  • В скачанных с интернета готовых скетчах часто возникает ошибка с описанием <название файла>.h no such file or directory. Это означает, что в скетче используется библиотека <название файла>, и нужно положить её в Program Files/Arduino/libraries/. Ко всем моим проектам всегда идёт папочка с использованными библиотеками, которые нужно установить. Также библиотеки всегда можно поискать в гугле по <название файла>.
  • При использовании каких-то особых библиотек, методов или функций, ошибкой может стать неправильно выбранная плата в “Инструменты/плата“. Пример: прошивки с библиотекой Mouse.h или Keyboard.h компилируются только для Leonardo и Micro.
  • Если прошивку пишете вы, то любые синтаксические ошибки в коде будут подсвечены, а снизу в чёрном окошке можно прочитать более детальное описание, в чём собственно косяк. Обычно указывается строка, в которой сделана ошибка, также эта строка подсвечивается красным.
  • Иногда причиной ошибки бывает слишком старая, или слишком новая версия Arduino IDE. Читайте комментарии разработчика скетча.
  • Ошибка недостаточно свободного места возникает по вполне понятным причинам. Оптимизация: статическая память – память, занимаемая кодом (циклы, функции). Динамическая память занята переменными.

Ошибка загрузки


Возникает на этапе, когда прошивка собрана, скомпилирована, в ней нет критических ошибок, и производится загрузка в плату по кабелю. Ошибка может возникать как по причине неисправностей железа, так и из-за настроек программы и драйверов.

  • Если неправильно выбран COM порт – прошивка не загрузится с ошибкой avrdude: ser_open(): can’t open device. Вернитесь к пункту “Выбор и настройка платы” этого урока и убедитесь в том, что выбор порта активен и при подключении платы появляется новый.
  • Большинство проблем при загрузке, вызванных “зависанием” ардуины или загрузчика, лечатся полным отключением Ардуины от питания. Потом вставляем USB и по новой прошиваем.
  • Причиной ошибки загрузки может быть неправильно выбранная плата в “Инструменты/Плата”, а также неправильно выбранный процессор в “Инструменты/Процессор”.
  • Если у вас открыт монитор COM порта в другом окне Arduino IDE или плата общается через СОМ порт с другой программой (Ambibox, HWmonitor, SerialPortPlotter и т.д.), то вы получите ошибку загрузки, потому что порт занят. Отключитесь от порта или закройте другие окна и программы.
  • Если у вас задействованы пины RX или TX – отключите от них всё! По этим пинам Arduino общается с компьютером, в том числе для загрузки прошивки.
  • Если в описании ошибки встречается bootloader is not responding и not in sync, а все предыдущие пункты этого списка проверены – с вероятностью 95% микроконтроллер сломался. Оставшиеся 5% – “слетел” загрузчик, и его можно прошить заново.
  • Если появилась красная надпись avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00, но прошивка по факту загрузилась – возможно проблемы с USB кабелем/портом/гнездом на плате Arduino, можно попробовать другой кабель или порт.

Полезный пример?

I’m running into a bizarre problem. I’ve got a custom board using an Atmega328P, running off the internal oscillator. From Atmel studio, I’ve successfully uploaded the standard optiboot bootloader (optiboot_atmega328.hex) and burned the appropriate fuses (hfuse = 0xDE, lfuse = 0xE2, extended_fuse = 0x05). As per an arduino forum post, I added the following entry to boards.txt:

atmega328_384_8.name=ATmega328 Optiboot @ 38,400baud w/ 8MHz Int. RC Osc.

atmega328_384_8.upload.protocol=arduino
atmega328_384_8.upload.maximum_size=30720
atmega328_384_8.upload.speed=57600 
atmega328_384_8.upload.tool=avrdude 

atmega328_384_8.bootloader.low_fuses=0xE2
atmega328_384_8.bootloader.high_fuses=0xDE
atmega328_384_8.bootloader.extended_fuses=0x05
atmega328_384_8.bootloader.path=optiboot
atmega328_384_8.bootloader.file=optiboot_atmega328.hex
atmega328_384_8.bootloader.unlock_bits=0x3F
atmega328_384_8.bootloader.lock_bits=0x0F

atmega328_384_8.build.mcu=atmega328p
atmega328_384_8.build.f_cpu=8000000L
atmega328_384_8.build.core=arduino
atmega328_384_8.build.variant=standard

Note here, I’ve modified the upload speed to 57600 baud to «fool» it into the right upload speed given an 8MHz oscillator.

I can now successfully upload sketches from the Arduino IDE (1.6.3) on the lab windows machine, but when I try from my Mac (various IDE versions have been tried), I get the following protocol error:

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0xe0

Here’s the full trace:

/Applications/Arduino-1.6.8.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino-1.6.8.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -carduino -P/dev/cu.usbserial-AH02F0KI -b57600 -D -Uflash:w:/var/folders/db/hw2v9r6j7qj_w9gh3qkhh_580000gr/T/build53eb1895270295360d41549eaf6e0624.tmp/sketch_apr19a.ino.hex:i 

avrdude: Version 6.0.1, compiled on Apr 14 2015 at 16:30:25
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/Applications/Arduino-1.6.8.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/npisenti/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/cu.usbserial-AH02F0KI
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           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
           flash         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
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : Arduino
         Description     : Arduino

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0xe0

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x00

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0xe0

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x00
         Hardware Version: -1538883332
         Firmware Version: 6291456.-1538883332

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0xe0

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0xe0

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0xe0

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x00

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0xe0
         Vtarget         : 322122165.6 V
         Varef           : 275608114.4 V
         Oscillator      : 0.001 Hz
         SCK period      : 368336.6 us


avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0xe0

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x00
avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0xe0
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: stk500_disable(): protocol error, expect=0x14, resp=0xe0

avrdude done.  Thank you.

Problem uploading to board.  See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

On Windows, the «successful» full trace from avrdude is:

Sketch uses 1,974 bytes (6%) of program storage space. Maximum is 30,720 bytes.
Global variables use 192 bytes of dynamic memory.
C:arduino-1.6.3hardwaretoolsavr/bin/avrdude -CC:arduino-1.6.3hardwaretoolsavr/etc/avrdude.conf -v -patmega328p -carduino -PCOM10 -b57600 -D -Uflash:w:C:UsersGENERA~1AppDataLocalTempbuild1097250116669309732.tmp/sketch_apr19a.cpp.hex:i 

avrdude: Version 6.0.1, compiled on Mar 30 2015 at 14:56:06
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:arduino-1.6.3hardwaretoolsavr/etc/avrdude.conf"

         Using Port                    : COM10
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           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
           flash         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
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : Arduino
         Description     : Arduino
         Hardware Version: 3
         Firmware Version: 4.4
         Vtarget         : 0.3 V
         Varef           : 0.3 V
         Oscillator      : 28.800 kHz
         SCK period      : 3.3 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e950f
avrdude: reading input file "C:UsersGENERA~1AppDataLocalTempbuild1097250116669309732.tmp/sketch_apr19a.cpp.hex"
avrdude: writing flash (1974 bytes):

Writing | ################################################## | 100% 0.77s

avrdude: 1974 bytes of flash written
avrdude: verifying flash memory against C:UsersGENERA~1AppDataLocalTempbuild1097250116669309732.tmp/sketch_apr19a.cpp.hex:
avrdude: load data flash data from input file C:UsersGENERA~1AppDataLocalTempbuild1097250116669309732.tmp/sketch_apr19a.cpp.hex:
avrdude: input file C:UsersGENERA~1AppDataLocalTempbuild1097250116669309732.tmp/sketch_apr19a.cpp.hex contains 1974 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.86s

avrdude: verifying ...
avrdude: 1974 bytes of flash verified

avrdude done.  Thank you.

In both cases, I’m using the FTDI friend from Adafruit; at first I figured it must be a driver issue, but I’ve installed the latest FTDI drivers and doesn’t seem to help. Besides, I can successfully get text dumped from the ucontroller onto the serial port from a sketch previously uploaded on the windows machine.

Any help would be greatly appreciated!

Содержание

  1. Первая загрузка прошивки
  2. Подключение платы
  3. Выбор и настройка платы
  4. Загрузка прошивки
  5. Ошибка компиляции
  6. Ошибка загрузки
  7. Arduino uno protocol error
  8. KvaksMan
  9. Fleshdeck
  10. KvaksMan
  11. Arduino uno protocol error

Первая загрузка прошивки

Подключение платы

Плата подключается к компьютеру по USB, на ней должны замигать светодиоды. Если этого не произошло:

  • Неисправен USB кабель
  • Неисправен USB порт компьютера
  • Неисправен USB порт Arduino
  • Попробуйте другой компьютер, чтобы исключить часть проблем из списка
  • Попробуйте другую плату (желательно новую), чтобы исключить часть проблем из списка
  • На плате Arduino сгорел входной диод по линии USB из-за короткого замыкания, устроенного пользователем при сборке схемы
  • Плата Arduino сгорела полностью из-за неправильного подключения пользователем внешнего питания или короткого замыкания

Компьютер издаст характерный сигнал подключения нового оборудования, а при первом подключении появится окошко “Установка нового оборудования”. Если этого не произошло:

  • См. предыдущий список неисправностей
  • Кабель должен быть data-кабелем, а не “зарядным”
  • Кабель желательно втыкать напрямую в компьютер, а не через USB-хаб
  • Не установлены драйверы Arduino (во время установки IDE или из папки с программой), вернитесь к установке.

В списке портов (Arduino IDE/Инструменты/Порт) появится новый порт, обычно COM3. Если этого не произошло:

  • См. предыдущий список неисправностей
  • Некорректно установлен драйвер CH341 из предыдущего урока
  • Если список портов вообще неактивен – драйвер Arduino установлен некорректно, вернитесь к установке
  • Возникла системная ошибка, обратитесь к знакомому компьютерщику

Выбор и настройка платы

  • В наборе используется Arduino Nano, выбираем в ИнструментыПлатаArduino Nano
  • На данный момент в микроконтроллер китайских плат зашит “старый” загрузчик, поэтому далее выбираем ИнструментыПроцессорATmega328p (Old Bootloader)
    • Если вам по какой-то причине пришлют платы с новым загрузчиком – прошивка не загрузится (будет минутная загрузка и ошибка), можно попробовать сменить пункт Процессор на ATmega328p
  • Теперь выбираем порт, к которому подключена плата. COM1 – в большинстве случаев системный порт, у вас должен появиться ещё один (обычно COM3)

Загрузка прошивки

“Загрузка” прошивки происходит в два этапа – компиляция и непосредственно загрузка в микроконтроллер. Компиляция – проверка кода на наличие ошибок, её можно запустить, нажав кнопку с символом галочки в верхнем меню программы. Компилировать код можно даже не подключая плату к компьютеру! При нажатии на кнопку с символом стрелочки начнётся компиляция, а затем загрузка скомпилированного кода в плату.

Вставьте следующий код с полной заменой содержимого в IDE и загрузите его. Должен начать мигать светодиод L на плате, это означает что все программы настроены верно и можно переходить к работе с набором!

Ошибка компиляции

Возникает на этапе сборки и компиляции прошивки. Ошибки компиляции вызваны проблемами в коде прошивки, то есть проблема сугубо программная. Слева от кнопки “загрузить” есть кнопка с галочкой – проверка. Во время проверки производится компиляция прошивки и выявляются ошибки, если таковые имеются. Ардуино в этом случае может быть вообще не подключена к компьютеру.

  • В некоторых случаях ошибка возникает при наличии кириллицы (русских букв) в пути к папке со скетчем. Решение: завести для скетчей отдельную папочку в корне диска с английским названием.
  • В чёрном окошке в самом низу Arduino IDE можно прочитать полный текстошибки и понять, куда копать
  • В скачанных с интернета готовых скетчах часто возникает ошибка с описанием .h no such file or directory. Это означает, что в скетче используется библиотека , и нужно положить её в Program Files/Arduino/libraries/. Ко всем моим проектам всегда идёт папочка с использованными библиотеками, которые нужно установить. Также библиотеки всегда можно поискать в гугле по .
  • При использовании каких-то особых библиотек, методов или функций, ошибкой может стать неправильно выбранная плата в “Инструменты/плата“. Пример: прошивки с библиотекой Mouse.h или Keyboard.h компилируются только для Leonardo и Micro.
  • Если прошивку пишете вы, то любые синтаксические ошибки в коде будут подсвечены, а снизу в чёрном окошке можно прочитать более детальное описание, в чём собственно косяк. Обычно указывается строка, в которой сделана ошибка, также эта строка подсвечивается красным.
  • Иногда причиной ошибки бывает слишком старая, или слишком новая версия Arduino IDE. Читайте комментарии разработчика скетча.
  • Ошибка недостаточно свободного места возникает по вполне понятным причинам. Оптимизация: статическая память – память, занимаемая кодом (циклы, функции). Динамическая память занята переменными.

Ошибка загрузки

Возникает на этапе, когда прошивка собрана, скомпилирована, в ней нет критических ошибок, и производится загрузка в плату по кабелю. Ошибка может возникать как по причине неисправностей железа, так и из-за настроек программы и драйверов.

  • Если неправильно выбран COM порт – прошивка не загрузится с ошибкой avrdude: ser_open(): can’t open device. Вернитесь к пункту “Выбор и настройка платы” этого урока и убедитесь в том, что выбор порта активен и при подключении платы появляется новый.
  • Большинство проблем при загрузке, вызванных “зависанием” ардуины или загрузчика, лечатся полным отключением Ардуины от питания. Потом вставляем USB и по новой прошиваем.
  • Причиной ошибки загрузки может быть неправильно выбранная плата в “Инструменты/Плата”, а также неправильно выбранный процессор в “Инструменты/Процессор”.
  • Если у вас открыт монитор COM порта в другом окне Arduino IDE или плата общается через СОМ порт с другой программой (Ambibox, HWmonitor, SerialPortPlotter и т.д.), то вы получите ошибку загрузки, потому что порт занят. Отключитесь от порта или закройте другие окна и программы.
  • Если у вас задействованы пины RX или TX – отключите от них всё! По этим пинам Arduino общается с компьютером, в том числе для загрузки прошивки.
  • Если в описании ошибки встречается bootloader is not responding и not in sync, а все предыдущие пункты этого списка проверены – с вероятностью 95% микроконтроллер сломался. Оставшиеся 5% – “слетел” загрузчик, и его можно прошить заново.
  • Если появилась красная надпись avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00, но прошивка по факту загрузилась – возможно проблемы с USB кабелем/портом/гнездом на плате Arduino, можно попробовать другой кабель или порт.

Источник

Arduino uno protocol error

KvaksMan

Загрузил Arduino ISP для Arduino nano,
при нажатии записать загрузчик выдаёт ошибку:
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x15

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01
avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

avrdude: stk500_disable(): unknown response=0x12
Ошибка при записи загрузчика.

Fleshdeck

KvaksMan

Теперь ошибка:
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xf9
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x15
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x15

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01
avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

avrdude: stk500_disable(): unknown response=0x12
Ошибка при записи загрузчика.

Источник

Arduino uno protocol error

Здравствуйте, у меня проблема такая же как и всех.
Нано не хочет заливать скетчи
естественно покурив сайт Гайвера, изучив ошибки и скачав все дрова какие только нужны ничего не помогло.
пробовал и на вин7 и на вин10
далее
мания преследования паники и придумав себе что что-то с лодырем, нашел у знакомого загрузчик — стал лечить ардуинку.
USBasp тоже с дровами,определяется норм проводочками соединил нано и usbasp — не прошивается,не заливается

на нано при загрузке скетчей слабенько мигает диод RX

Arduino: 1.8.0 (Windows 10), Плата:»Arduino Nano, ATmega328P (Old Bootloader)»

Detecting libraries used.
«C:UserssokolmcAppDataLocalArduino15packagesarduinotoolsavr-gcc7.3.0-atmel3.6.1-arduino7/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10800 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:UserssokolmcAppDataLocalArduino15packagesarduinohardwareavr1.8.3coresarduino» «-IC:UserssokolmcAppDataLocalArduino15packagesarduinohardwareavr1.8.3variantseightanaloginputs» «C:UserssokolmcAppDataLocalTemparduino_build_745347sketchsketch_jun28a.ino.cpp» -o «nul»
Generating function prototypes.
«C:UserssokolmcAppDataLocalArduino15packagesarduinotoolsavr-gcc7.3.0-atmel3.6.1-arduino7/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10800 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:UserssokolmcAppDataLocalArduino15packagesarduinohardwareavr1.8.3coresarduino» «-IC:UserssokolmcAppDataLocalArduino15packagesarduinohardwareavr1.8.3variantseightanaloginputs» «C:UserssokolmcAppDataLocalTemparduino_build_745347sketchsketch_jun28a.ino.cpp» -o «C:UserssokolmcAppDataLocalTemparduino_build_745347preprocctags_target_for_gcc_minus_e.cpp»
«C:Program Files (x86)Arduinotools-builderctags5.8-arduino11/ctags» -u —language-force=c++ -f — —c++-kinds=svpf —fields=KSTtzns —line-directives «C:UserssokolmcAppDataLocalTemparduino_build_745347preprocctags_target_for_gcc_minus_e.cpp»
Компиляция скетча.
«C:UserssokolmcAppDataLocalArduino15packagesarduinotoolsavr-gcc7.3.0-atmel3.6.1-arduino7/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -f328p -DF_CPIC:UserssokolmcAppDataLocalArduino15packagesarduinohardwareavr1.8.3coresarduino» «-IC:UuggableUSB.cpp» -o «C:UserssokolDARDUINO=10800 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:UserssokolmcDARDUINO=10800 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:UserssokolmcAppDataLocalArduino15packagesarduinohardwareavr1.8.3coresarduino» «-IC:UserssokolmcAppDataLocalArduino15packagesarduinohardwareavr1.8.3variantseightanaloginputs» «C:UserssokolmcAppDataLocalArduino15packagesarduinohardwareavr1.8.3coresarduinonew.cpp» -o «C:UserssokolmcAppDataLocalTemparduino_build_745347corenew.cpp.o»
«C:UserssokolmcAppDataLocalArduino15packagesarduinotoolsavr-gcc7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar» rcs «C:UserssokolmcAppDataLocalTemparduino_build_745347corecore.a» «C:UserssokolmcAppDataLocalTemparduino_build_745347corewiring_pulse.S.o»
«C:UserssokolmcAppDataLocalTemparduino_build_745347corecore.a» «C:UserssokolmcAppDataLocalTemparduino_build_745347coreabi.cpp.o»
«C:UserssokolmcAppDataLocalArduino15packagesarduinotoolsavr-gcc7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar» rcs «C:UserssokolmcAppDataLocalTemparduino_build_745347corecore.a» «C:UserssokolmcAppDataLocalTemparduino_build_745347coremain.cpp.o»
«C:UserssokolmcAppDataLocalArduino15packagesarduinotoolsavr-gcc7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar» rcs «C:UserssokolmcAppDataLocalTemparduino_build_745347corecore.a» «C:UserssokolmcAppDataLocalTemparduino_build_745347corenew.cpp.o»
Linking everything together.
«C:UserssokolmcAppDataLocalArduino15packagesarduinotoolsavr-gcc7.3.0-atmel3.6.1-arduino7/bin/avr-gcc» -w -Os -g -flto -fuse-linker-plugin -Wl,—gc-sections -mmcu=atmega328p -o «C:UserssokolmcAppDataLocalTemparduino_build_745347/sketch_jun28a.ino.elf» «C:UserssokolmcAppDataLocalTemparduino_build_745347sketchsketch_jun28a.ino.cpp.o» «C:UserssokolmcAppDataLocalTemparduino_build_745347/corecore.a» «-LC:UserssokolmcAppDataLocalTemparduino_build_745347» -lm
«C:UserssokolmcAppDataLocalArduino15packagesarduinotoolsavr-gcc7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy» -O ihex -j .eeprom —set-section-flags=.eeprom=alloc,load —no-change-warnings —change-section-lma .eeprom=0 «C:UserssokolmcAppDataLocalTemparduino_build_745347/sketch_jun28a.ino.elf» «C:UserssokolmcAppDataLocalTemparduino_build_745347/sketch_jun28a.ino.eep»
«C:UserssokolmcAppDataLocalArduino15packagesarduinotoolsavr-gcc7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy» -O ihex -R .eeprom «C:UserssokolmcAppDataLocalTemparduino_build_745347/sketch_jun28a.ino.elf» «C:UserssokolmcAppDataLocalTemparduino_build_745347/sketch_jun28a.ino.hex»
Скетч использует 444 байт (1%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 9 байт (0%) динамической памяти, оставляя 2039 байт для локальных переменных. Максимум: 2048 байт.
C:UserssokolmcAppDataLocalArduino15packagesarduinotoolsavrdude6.3.0-arduino17/bin/avrdude -CC:UserssokolmcAppDataLocalArduino15packagesarduinotoolsavrdude6.3.0-arduino17/etc/avrdude.conf -v -patmega328p -carduino -PCOM26 -b57600 -D -Uflash:w:C:UserssokolmcAppDataLocalTemparduino_build_745347/sketch_jun28a.ino.hex:i

avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch

System wide configuration file is «C:UserssokolmcAppDataLocalArduino15packagesarduinotoolsavrdude6.3.0-arduino17/etc/avrdude.conf»

Using Port : COM26
Using Programmer : arduino
Overriding Baud Rate : 57600
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x6c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x6c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x6c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x6c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x6c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x6c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x6c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x6c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x6c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x6c

Источник

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

1 2009-07-07 03:05:25

  • Alecseyyy
  • Новый участник
  • Неактивен
  • Зарегистрирован: 2009-07-07
  • Сообщений: 3

Тема: Не работает :(

Только что купил сиё чудо, но что-то никак неразберусь :( английский знаю плохо и поэтому не могу понять что за ошибка. (рассматривается на офф сайте)

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00

выдаёт при попытке что либо залить.

русская win xp
порты вроде правильно выставлены
лампочти мигают
L постоянно мигает, иногда вместе с ней и TX при загрузке мегает и RX недолго, потом эта ошибка

2 Ответ от Alecseyyy 2009-07-07 16:54:04

  • Alecseyyy
  • Новый участник
  • Неактивен
  • Зарегистрирован: 2009-07-07
  • Сообщений: 3

Re: Не работает :(

Прошу прощения, всё прекрастно работает, всё из-за несовсем точной инструкции.
нашёл на офф сайте инструкцию и благополучно всё сделал.
для тех у кого такая же проблема, необходими просто делать всё по порядку.
1 запускаем прогр обеспеч
2 нажимаем на стрелочку типа плей
3 пишем код проги
4 нажимаем на кнопочку на плате (этого я не делал, как пишут на офф сайте это необходимо для того чтобы плата была в состоянии готовности принять)
5 нажимаем на заливку прошивки
6 получаем сообщение что всё успешно и радуемся

3 Ответ от Admin 2009-07-07 20:15:21

  • Admin
  • Administrator
  • Неактивен
  • Зарегистрирован: 2009-04-18
  • Сообщений: 54

Re: Не работает :(

Ваше описание очень похоже на поведение Arduino NG (http://arduino.cc/en/uploads/Main/ArduinoNG.jpg).
Если это действительно она, то все верно — необходимо делать сброс перед загрузкой программы.

4 Ответ от Alecseyyy 2009-07-07 22:41:39

  • Alecseyyy
  • Новый участник
  • Неактивен
  • Зарегистрирован: 2009-07-07
  • Сообщений: 3

Re: Не работает :(

вот ещё дополнение, самое главное, при использовании последних «дров» надо было выбрать в Tools — Board — … ATmega168 (по умолчанию выставилось 328 :( )

5 Ответ от djv 2009-07-08 18:27:53 (2009-07-08 18:40:42 отредактировано djv)

  • djv
  • Новый участник
  • Неактивен
  • Зарегистрирован: 2009-07-08
  • Сообщений: 1

Re: Не работает :(

такая же проблема появилась после нескольких загрузок прошивок,  хотя последняя залитая прошивка работает
Freeduino Through-Hole.
OS ubuntu 8.10, xp.

6 Ответ от Admin 2009-07-12 23:07:28

  • Admin
  • Administrator
  • Неактивен
  • Зарегистрирован: 2009-04-18
  • Сообщений: 54

Re: Не работает :(

Alecseyyy пишет:

вот ещё дополнение, самое главное, при использовании последних «дров» надо было выбрать в Tools — Board — … ATmega168 (по умолчанию выставилось 328 :( )

Нас все-таки интересует, какой вариант микроконтроллера у Вас?
Ваше описание очень похоже на поведение Arduino NG
(http://arduino.cc/en/uploads/Main/ArduinoNG.jpg).
Современные варианты Freeduino / Arduino не требуют нажатия кнопки Reset для перепрошивки.

djv пишет:

такая же проблема появилась после нескольких загрузок прошивок,  хотя последняя залитая прошивка работает

Высылаемые нами платы проходят тестирование всех функций перед отправкой, и до сих пор
никаких сбоев не было. Не могли бы Вы подробнее описать проблемы, с которыми столкнулись? Хочется увидеть последовательность действий, состояние светодиодов и т.д.
С обсуждением этих или иных технических вопросов также можете обращаться на e-mail.

7 Ответ от pashay 2009-07-22 16:34:29 (2009-07-22 16:34:46 отредактировано pashay)

  • pashay
  • Новый участник
  • Неактивен
  • Зарегистрирован: 2009-07-22
  • Сообщений: 3

Re: Не работает :(

Alecseyyy пишет:

Только что купил сиё чудо, но что-то никак неразберусь :( английский знаю плохо и поэтому не могу понять что за ошибка. (рассматривается на офф сайте)

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00

выдаёт при попытке что либо залить.

русская win xp
порты вроде правильно выставлены
лампочти мигают
L постоянно мигает, иногда вместе с ней и TX при загрузке мегает и RX недолго, потом эта ошибка

Та же хрень. Раньше все работало. Все перепробовал. В чем дело?

8 Ответ от pashay 2009-07-22 16:40:06

  • pashay
  • Новый участник
  • Неактивен
  • Зарегистрирован: 2009-07-22
  • Сообщений: 3

Re: Не работает :(

Разобрался. Надо правильно устанавливать виртуальный com-порт в случае если у вас на компе есть USB- мышь или клава.

9 Ответ от Admin 2009-07-30 15:02:10

  • Admin
  • Administrator
  • Неактивен
  • Зарегистрирован: 2009-04-18
  • Сообщений: 54

Re: Не работает :(

pashay пишет:

Разобрался. Надо правильно устанавливать виртуальный com-порт в случае если у вас на компе есть USB- мышь или клава.

Опишите пожалуйста поподробнее возникшие проблемы, найденные Вами их причины и способы устранения.

10 Ответ от pashay 2009-08-03 16:15:19

  • pashay
  • Новый участник
  • Неактивен
  • Зарегистрирован: 2009-07-22
  • Сообщений: 3

Re: Не работает :(

Admin пишет:

pashay пишет:

Разобрался. Надо правильно устанавливать виртуальный com-порт в случае если у вас на компе есть USB- мышь или клава.

Опишите пожалуйста поподробнее возникшие проблемы, найденные Вами их причины и способы устранения.

Все просто.
Виртуальный com-порт ,указанный нами при инсталляции, появляется в списке оборудования ТОЛЬКО после подключения платы к USB (если он не занят другим устройством в данный момент. В этом случае его надо освободить.) Если сначала загрузить среду разработки (IDE), то она подхватит УЖЕ имеющийся COM-порт. Таковым у меня например был порт мышки и будет работать с ним даже после подключения последующего платы. Это хорошо видно по моргающим светодиодам на плате при прокрутке мыши. Этот глюк надо бы устранить разработчикам IDE.
Короче: сначала подключаем плату ЗАТЕМ грузим IDE. При необходимости проверяем порт.

11 Ответ от Admin 2009-08-04 13:33:08

  • Admin
  • Administrator
  • Неактивен
  • Зарегистрирован: 2009-04-18
  • Сообщений: 54

Re: Не работает :(

Ничего себе «просто»! :) Я таких хитростей не наблюдал, и повторить не смог.

Виртуальный com-порт ,указанный нами при инсталляции, появляется в списке оборудования ТОЛЬКО после подключения платы к USB (если он не занят другим устройством в данный момент. В этом случае его надо освободить.) Если сначала загрузить среду разработки (IDE), то она подхватит УЖЕ имеющийся COM-порт. Таковым у меня например был порт мышки и будет работать с ним даже после подключения последующего платы.

Все имеющиеся у меня в наличии USB-мышки представляются в системе как HID-устройства, и COM-портов не создают.
Можете написать модель мышки? А также версию операционной системы.

Это хорошо видно по моргающим светодиодам на плате при прокрутке мыши.

Удивительная какая-то ситуация!
Наблюдал подобное лет 10 назад, когда посадил одному человеку на одно прерывание ISA’шный модем и COM-порт (с мышью). Тогда было принято что COM1 и COM3 имеют одно прерывание, и COM2 с COM4 другое. Он мне звонит и сообщает, что «интернет работает только если мышью быстро двигать, а если мышью не двигать, то и странички не грузятся. Чем быстрее двигаешь мышью — тем быстрее интернет».
Я сначала не поверил — думал розыгрыш какой-то.
…может пришлете скриншот с диспетчером устройств нам на e-mail?

12 Ответ от Athlocatle 2009-08-19 23:28:46

  • Athlocatle
  • Новый участник
  • Неактивен
  • Зарегистрирован: 2009-07-07
  • Сообщений: 8

Re: Не работает :(

Admin пишет:

Высылаемые нами платы проходят тестирование всех функций перед отправкой, и до сих пор
никаких сбоев не было. Не могли бы Вы подробнее описать проблемы, с которыми столкнулись?

При попытке залить скетч в freeduino2009 (USB), получал устойчивое
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding

Как-то не верилось, что могут быть проблемы с железом. Благо дело, что я приобрёл кроме 2009 ещё и MaxSerial. Спаял кабель, подключил к com-порту — залилось в лучшем виде. Перестановка микросхем с платы на плату показала, что микросхемы исправны. Это уже легче. В итоге включил паяльник и просто пропаял наиболее вероятный элемент — кварц, после чего всё заработало.

Внимание, вопросы.
Как вы объясните сей факт?
Какой флюс вы применяете для пайки?

13 Ответ от Сергей Деменков 2009-08-22 11:36:05

  • Сергей Деменков
  • Участник
  • Неактивен
  • Зарегистрирован: 2009-06-23
  • Сообщений: 84

Re: Не работает :(

Athlocatle пишет:

Admin пишет:

Высылаемые нами платы проходят тестирование всех функций перед отправкой, и до сих пор
никаких сбоев не было. Не могли бы Вы подробнее описать проблемы, с которыми столкнулись?

При попытке залить скетч в freeduino2009 (USB), получал устойчивое
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding

Как-то не верилось, что могут быть проблемы с железом. Благо дело, что я приобрёл кроме 2009 ещё и MaxSerial. Спаял кабель, подключил к com-порту — залилось в лучшем виде. Перестановка микросхем с платы на плату показала, что микросхемы исправны. Это уже легче. В итоге включил паяльник и просто пропаял наиболее вероятный элемент — кварц, после чего всё заработало.

Внимание, вопросы.
Как вы объясните сей факт?
Какой флюс вы применяете для пайки?

Ни хр… себе! Холодный пай, что ли был (такое бывает — вроде работает, потом потрес и не работает :))))? А по поводу флюса, что-то я непонял — это как повлиять может (активный — отмывают же) ?  В любом случае вопросы интересные, посмотрим, что ответят :)))

14 Ответ от Athlocatle 2009-08-22 21:21:52

  • Athlocatle
  • Новый участник
  • Неактивен
  • Зарегистрирован: 2009-07-07
  • Сообщений: 8

Re: Не работает :(

Сергей Деменков пишет:

А по поводу флюса, что-то я непонял — это как повлиять может (активный — отмывают же) ?

Флюс применяется для растворения оксидной плёнки на спаиваемых поверхностях. Активный растворяет хорошо, детали спаиваются моментально, но если недостаточно хорошо промыть место пайки, через некоторое время (обычно от года и более) возможно образование окислов и/или солей внутри спая, вследствие чего теряется контакт. Пассивный флюс растворяет оксидную плёнку и жировые загрязнения похуже, поэтому пайка изначально может получиться ненадёжной, если не выдержана технология пайки (обязательное лужение выводов; в советские времена это требование соблюдалось неукоснительно почти везде, как сейчас дела обстоят — не знаю).

Поэтому и спрашиваю насчёт флюса. Много других вопросов, правда, задавать не стал.

15 Ответ от Admin 2009-08-24 16:58:55

  • Admin
  • Administrator
  • Неактивен
  • Зарегистрирован: 2009-04-18
  • Сообщений: 54

Re: Не работает :(

Athlocatle пишет:

В итоге включил паяльник и просто пропаял наиболее вероятный элемент — кварц, после чего всё заработало.
Внимание, вопросы.
Как вы объясните сей факт?
Какой флюс вы применяете для пайки?

При ручной пайке используем припой и флюсы InterFlux — серьезная компания — на нее грешить вроде не приходится.
Наверное есть какая-то вероятность некачественного кварца.
Как я уже писал, перед отправкой на плату заливается bootloader через разъем ICSP, затем проверяется работа чипа FTDI, и заливается тестовая прошивка уже через USB, после чего проверяется нормальная работа всех выводов.
Если Вас не затруднит, то просим направить плату нам на «разбор полетов», взамен можем выслать такую-же, либо вернуть деньги. Если согласны, пишите на e-mail — обсудим организацию этого процесса.
…»много других вопросов» тоже задавайте

16 Ответ от FIRSTQWERT 2009-11-16 19:40:41

  • FIRSTQWERT
  • Гость

Re: Не работает :(

Добрый день, приобрёл Freeduino Through-Hole Kit, спаял, подключаю, ставлю драйвера всё находится, определяется, вешается на виртуальный порт COM3. Запускаю программу, выбираю плату и порт, открываю пример с мигающим светодиодом, жму на кнопку upload, на плате 3 раза мигает RX, пауза, один раз мигает RX, в программе вываливается следующая ошибка:

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

Иногда, но очень редко, при заливке вместе с RX синхронно мигает и TX, тогда вываливается немного другая ошибка

avrdude: stk500_getsync(): not in sync: resp=0x30
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

Подскажите, чего делать? Пайку проверил 4 раза, программы пробовал 0017, 0016, 0011, подключал к другому компьютеру, драйвера переустанавливал, скачивал последние, ничего не помогает =((

17 Ответ от FIRSTQWERT 2009-11-16 19:47:05

  • FIRSTQWERT
  • Гость

Re: Не работает :(

Забыл указать что у меня XP SP3.
Питание на ногах атмеги проверил — есть.
Ещё вопрос — нажатие на кнопку резет должно как-либо отображаться на светодиодах?

18 Ответ от Athlocatle 2009-11-16 21:46:11

  • Athlocatle
  • Новый участник
  • Неактивен
  • Зарегистрирован: 2009-07-07
  • Сообщений: 8

Re: Не работает :(

Попробуйте пропаять кварц и конденсаторы вокруг — должно помочь. Мне, покрмере, помогло (правда, как выяснилось, ненадолго)

19 Ответ от FIRSTQWERT 2009-11-17 01:05:17

  • FIRSTQWERT
  • Новый участник
  • Неактивен
  • Зарегистрирован: 2009-11-16
  • Сообщений: 5

Re: Не работает :(

Всё, разобрался, дело и вправду было в кварце — толи не рабочий, толи я его перегрел, когда паял. Заменил на новый. Зато теперь всё работает =)

20 Ответ от Сергей 2010-12-17 00:58:06

  • Сергей
  • Гость

Re: Не работает :(

А у меня подобные сообщения вылазили, пока я перемычку на авторебут не поставил :)

21 Ответ от ivan_ivanovich 2011-08-11 02:11:49

  • ivan_ivanovich
  • Новый участник
  • Неактивен
  • Зарегистрирован: 2011-08-11
  • Сообщений: 1

Re: Не работает :(

У меня ошибка с кодами из первого поста:

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00

и невозможностью заливки прошивки возникала, когда в ide был неправильно выбран тип платы (по умолчанию в ide в tools->board  стоит Arduino Uno, а нужно было выбрать Arduino Duemilanove).

22 Ответ от enginseer 2011-09-14 18:10:59

  • enginseer
  • Новый участник
  • Неактивен
  • Зарегистрирован: 2011-09-13
  • Сообщений: 1

Re: Не работает :(

перестала работать Freeduino Through-Hole. при включении начинает мигать диод pin13(тот, который на плате), прошивка не заливается. проблема, собственно возникла при заливки новой программы. что с этим можно сделать?

23 Ответ от ilia.chel 2011-12-28 13:26:03

  • ilia.chel
  • Участник
  • Неактивен
  • Зарегистрирован: 2011-12-25
  • Сообщений: 20

Re: Не работает :(

Собрал я плату Freeduino MaxSerial Kit. Подключил переходник USB-COM. И через программу arduino-0017 попытался запустить простейший код из примеров программы. Нажал upload но в ответ через несколько секунд получил
Problem uploading to board.
И внизу написанно

Binary sketch size: 896 bytes (of a 30720 byte maximum)

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

Затем вытащил плату, а переходник оставил пишет все тоже самое. В настройках проверил порт и плату все правильно.
Это моя первая работа. Можете подсказать, что делать
После сборки платы я прочистил всю ее спиртом, и пинцетом удалил дефекты. я пробовал двумя способами с подачей на нее тока и без. При подаче на нее тока загораеться зеленый светодиод (PWR) и красный (13) мигает с некоторой переодичностью . Может ли повлиять то что мне на эту плату дали ATmega 328 и кварцевый резонатор вместо 16.000 как в документации. у меня был 16,0RG9 . И есть ли разнеца при сборке если я собирал по документации для atmega 168.
Сколько не пробую компьютор не дает ни каких признаков платы. Может дело в переходнике хотя он вроде тоже работает.
Может подскажете другую среду для програмирования у меня сейчас arduino-0017.
И еще может дело в том что я подключаю без провода ( COM )
Компьютор(USB)-Переходник(USB-COM)-Плата MaxSerial Kit.
При подключении не одно из выше названных устройств ни как не риагируют. Плата все так же горит зеленый и мигает красный.
Сегодня заметил что когда подключаю плату к компьютору красный светодиод (13) раз 10 очень часто  мигает. И потом опять начинает мигать с периодичностью 1 сек.

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Страница 1 из 3

  1. Пытался загрузить bootloader в «пустой» Mega328 камушек по инструкции с arduino.cc с помощью UNO. Убились оба. Осталась у меня единственная рабочая ардуинка и один 328 камушек. Спасите, что-ли…

  2. Все сделал по инструкции и вот что получил:

    Arduino: 1.5.6-r2 (Windows 7), Board: «Arduino Uno»

    avrdude: stk500_program_enable(): protocol error, expect=0x14, resp=0x50
    avrdude: initialization failed, rc=-1
    Double check connections and try again, or use -F to override
    this check.

    avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51
    processing.app.debug.RunnerException

    at cc.arduino.packages.uploaders.SerialUploader.burnBootloader(SerialUploader.java:305)

    at processing.app.Editor$47.run(Editor.java:2569)

    at java.awt.event.InvocationEvent.dispatch(Unknown Source)

    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)

    at java.awt.EventQueue.access$200(Unknown Source)

    at java.awt.EventQueue$3.run(Unknown Source)

    at java.awt.EventQueue$3.run(Unknown Source)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)

    at java.awt.EventQueue.dispatchEvent(Unknown Source)

    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

    at java.awt.EventDispatchThread.run(Unknown Source)

    Caused by: processing.app.debug.RunnerException: Проблема загрузки на плату. Для достижения дзен, курить http://www.arduino.cc/en/Guide/Troubleshooting#upload .

    at cc.arduino.packages.Uploader.executeUploadCommand(Uploader.java:111)

    at cc.arduino.packages.uploaders.SerialUploader.burnBootloader(SerialUploader.java:298)

    … 15 more

  3. Это свежая бета IDE, я теперь вообще всего боюсь.

  4. может стоит взять нормальный релиз, а не бету предназначенную для DUE

    может конечно не из за этого ошибка, но если у вас уна, то бету лучше не пользовать

    Последнее редактирование: 24 мар 2014

  5. Говорят, для УНО 1.0.х нужно использовать.
    Где-то тут на форуме была речь об этом.

  6. Вы правы, я много где накосячил и эту бету поставил потому, что со стабильным релизом (1.0.5 вроде) тоже не получилось «забутить» камушек. Коллеги, пожалуйста, распишите алгоритм действий записи bootloader`a в Mega328 подробно, как для чайника или, что лучше, для идиота. Заранее благодарен.

  7. так расписано в сети подробней некуда.
    в уну заливается ArduinoSPI
    из уны берется MOSI, MISO и SCK и втыкается в атмегу на её SPI (17,18,19 ноги), питание и общий в 7,8, ресет (1 нога) атмеги втыкаем в 10 выход уны.
    ну и про кварц на 16 мгц и два конденсатора на 10-22 пики не забываем..

    в блокноте выбираем программатор ArduinoSPI, выбераем плату, в которой используется 328 камень, компорт и заливаем загрузчик, всё

  8. Читайте НАШ форумЯ уже 100 раз писал во всех темах что и как например в соседней теме http://tinyurl.com/ooq894t


  9. acos

    acos
    Официальный гик
    Администратор

    Кстати, про кварц.
    Все хочу попробовать прошить сначала bootloader а затем фьюзы, напрямую батничком из дудки. При таком варианте вроде и кварц не нужен. После прошивке фьюзов может и ругнётся в конце, при проверке, но в итоге должно заработать. Или я не прав?

  10. Только без кварца он после прошивки фьюзов перестанет отзываться. А так да, можно.


  11. acos

    acos
    Официальный гик
    Администратор

    Вот мой батничек для записи бутлоадера с Arduino ISP. Сначала шьется бут, потом фьюзы. Кто будет пользоваться — обратите внимание на пути — у меня x86. Ну и ком порт естественно свой выставлять нужно.
    По сути — то же самое, что делает Arduino IDE при записи бута, за исключением того, что фьюзы пишутся в конце, поэтому кварц при записи не нужен.
    Попробовал залить на atmega328p без кварца — всё залилось, завелось на ардуине и даже не ругнулось почему-то

    Вложения:

    Последнее редактирование: 26 мар 2014

  12. Я так понял фьюзы отдельно прошивать не надо?Всё в НЕХ файле?


  13. acos

    acos
    Официальный гик
    Администратор

    Нет, фьюзы пишутся отдельно.
    Сам батник выглядит так:

    set comport=COM7

    «C:Program Files (x86)Arduino/hardware/tools/avr/bin/avrdude» -C «C:Program Files (x86)Arduino/hardware/tools/avr/etc/avrdude.conf» -p atmega328p -c avrisp -P %comport% -b 19200 -Uflash:w:optiboot_atmega328.hex:i -Ulock:w:0x0F:m

    «C:Program Files (x86)Arduino/hardware/tools/avr/bin/avrdude» -C «C:Program Files (x86)Arduino/hardware/tools/avr/etc/avrdude.conf» -p atmega328p -c avrisp -P %comport% -b 19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:m

    ping -n 105 127.0.0.1 > NUL

    set comport=COM7 — это просто переменная, куда мы пишем свой номер COM-порта

    Вторая строчка, вот с этим «Uflash:w:eek:ptiboot_atmega328.hex» — шьёт сам hex, это отдельная операция. После неё дудка завершает работу, и запускается второй раз в третьей строчке
    Третья строчка — прошивка фьюзов. «-Uefuse:w:0x05:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:m» — это они и есть. Всё остальное — просто пути до дудки и её настройки. Про них можно тут почитать http://www.nongnu.org/avrdude/user-manual/avrdude_4.html#Option-Descriptions

    Arduino IDE при прожиге бутлоадера сначала шьёт фьюзы, затем хекс. (Дальше просто домыслы — лень досконально проверять, но как-то так всё и происходит) После прошивки фьюзов дудка завершает работу, отпускает reset и контроллер ребутится, запускаясь с новыми настройками — тактирование от внешнего кварца и всё такое. Если кварца нет, то мы приплыли — контроллер не запустится и ISP не будет работать, hex не прошить.
    (Лирическое отступление) Контроллер с завода идёт с тактированием от внутреннего генератора на 8 мГц с предделителем на 8, итого 1 мГц. Если сначала прошить hex, то всё ок — он прошьётся и всё хорошо. Фьюзы будут старые и второй раз для прошивки фьюзов он нормально запустится и ISP будет работать. После прошивки фьюзов (если всё ок) контроллер можно смело втыкать в плату Arduino Uno (где кварц уже есть)

    ну и пинг тут только для того, чтобы было время потупить в вывод сообщений avrdude, иначе терминал закроется сразу, и толком не узнать — успех или нет

    Последнее редактирование: 26 мар 2014

  14. А! Ну я так и делал только прошивал программатором Громова сначала НЕХ потом фьюзы на Ардуинке уже с кварцем. С дудкой както сложно батники всякие.Я пишу нижний фьюз и верхний.


  15. acos

    acos
    Официальный гик
    Администратор

    А опыт есть? нормально в этом случае скетчи заливаются? UART работает? А то на UNO например, IDE заливает постоянно на 115200 бод — не уверен, что внутренний генератор такую скорость осилит.
    И да, чтоб 8 мГц получить, всё равно нужно фьюзы перешивать — как минимум CKDIV8 сбросить.

  16. Пробовал всё работает USART только иногда глючит вместо символов кракозяблы вылезают даже на 9600.Это от плохой термостабильности первый раз с таким столкнулся когда програмный USART на Тини13 гонял.Но если проц руками не трогать не дышать на него то работать будет.И конечно CKDIV8 сбросить.А логика нормально работает всё пищит мигает включается выключается.Но это если так-побаловаться.У меня просто кварца на 16 мГц сразу не нашлось вот и пришлось мутить теперь с кварцем всё как надо.

    Последнее редактирование: 28 мар 2014

  17. Да, спасибо, так и сделал, но, видать, с перепугу выбрал не UNO а NANO и теперь все мои камушки, как на ардуинах, так и без них, называются NANO. В каком-то смысле мне пофиг, но — непорядок. Возможно ли забутить их ещё раз, чтобы они все стали UNO?

Страница 1 из 3

I set up arduino IDE on mac computer and use Arduino uno with GSM module SIM800L EVB

I used following code block to send SMS through this module.

#include <GSM.h>

#define PINNUMBER ""

// initialize the library instance
GSM gsmAccess; // include a 'true' parameter for debug enabled
GSM_SMS sms;

// char array of the telephone number to send SMS
// change the number 1-212-555-1212 to a number
// you have access to
char remoteNumber[20]= "12125551212";  

// char array of the message
char txtMsg[200]="Test";

void setup()
{
  // initialize serial communications
  Serial.begin(9600);

  Serial.println("SMS Messages Sender");

  // connection state
  boolean notConnected = true;

  // Start GSM shield
  // If your SIM has PIN, pass it as a parameter of begin() in quotes
  while(notConnected)
  {
    if(gsmAccess.begin(PINNUMBER)==GSM_READY)
      notConnected = false;
    else
    {
      Serial.println("Not connected");
      delay(1000);
    }
  }
  Serial.println("GSM initialized");
  sendSMS();
}

void loop()
{
// nothing to see here
}

void sendSMS(){

  Serial.print("Message to mobile number: ");
  Serial.println(remoteNumber);

  // sms text
  Serial.println("SENDING");
  Serial.println();
  Serial.println("Message:");
  Serial.println(txtMsg);

  // send the message
  sms.beginSMS(remoteNumber);
  sms.print(txtMsg);
  sms.endSMS(); 
  Serial.println("nCOMPLETE!n");  
}

While i try this following error comes on the console. Consider this is the first time i use this technology. And not sure whether i have to set up any drivers to use GSM module.

avrdude: stk500_loadaddr(): (a) protocol error, expect=0x14, resp=0x00

avrdude: stk500_paged_load(): (a) protocol error, expect=0x14, resp=0x00
avrdude: stk500_cmd(): programmer is out of sync
avr_read(): error reading address 0x0000
    read operation not supported for memory "flash"
avrdude: failed to read all of flash memory, rc=-2
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00

What is the error? and what are the steps to fix it?

Понравилась статья? Поделить с друзьями:
  • Avrdude exe error could not find usb device with vid 0x1a86 pid 0x5512
  • Avrdude error programmer did not respond to command exit bootloader
  • Avrdude error could not find usbtiny device 0x2341 0x49 ошибка при записи загрузчика
  • Avrdude error could not find usbtiny device 0x1781 0xc9f
  • Avrdude error could not find usb device usbasp with vid 0x16c0 pid 0x5dc