Ошибка при загрузке скетча
- Войдите на сайт для отправки комментариев
Ср, 01/04/2020 - 00:22
Всем доброго времени суток. Имеется китайская Arduino Nano с чипом Atmel M328P U-CN. Подпаял к D13 через резистор 220 Ом и GND светодиод. Подключаю через провод mini-USB (5-контактов). Поставил для нее драйвер (CH341SER, 3.3.2011.11). Версия IDE - 1.8.12. ОС - Win 10 PRO. В IDE выбрал порт, на который ее винда повесила, плату Нано, Чип - ATMega328P (old bootloader, скорость 57600). Пробую залить скетч:
void setup() { // put your setup code here, to run once: pinMode(13, OUTPUT); } void loop() { // put your main code here, to run repeatedly: digitalWrite(13, HIGH); delay(300); digitalWrite(13, LOW); delay(1000); }
На что получаю следующее:
Скетч использует 932 байт (3%) памяти устройства. Всего доступно 30720 байт. Глобальные переменные используют 9 байт (0%) динамической памяти, оставляя 2039 байт для локальных переменных. Максимум: 2048 байт. C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM3 -b57600 -D -Uflash:w:C:\Users\A4F7~1\AppData\Local\Temp\arduino_build_246975/sketch_mar31a.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:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" Using Port : COM3 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: 2 Firmware Version: 1.16 Vtarget : 0.0 V Varef : 0.0 V Oscillator : Off SCK period : 0.1 us avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x1e950f (probably m328p) avrdude: reading input file "C:\Users\A4F7~1\AppData\Local\Temp\arduino_build_246975/sketch_mar31a.ino.hex" avrdude: writing flash (932 bytes): Writing | ################################################## | 100% 0.29s avrdude: 932 bytes of flash written avrdude: verifying flash memory against C:\Users\A4F7~1\AppData\Local\Temp\arduino_build_246975/sketch_mar31a.ino.hex: avrdude: load data flash data from input file C:\Users\A4F7~1\AppData\Local\Temp\arduino_build_246975/sketch_mar31a.ino.hex: avrdude: input file C:\Users\A4F7~1\AppData\Local\Temp\arduino_build_246975/sketch_mar31a.ino.hex contains 932 bytes avrdude: reading on-chip flash data: Reading | avrdude: stk500_recv(): programmer is not responding ######avrdude: stk500_recv(): programmer is not responding 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_recv(): programmer is not responding avrdude done. Thank you. выбранный последовательный порт не существует или плата не подключена к нему
Скетч он, и правда, заливает - ардуинка начинает мигать светодиодом на D13 и, почему-то светодиодом L (мигают в такт). Но почему возникает ошибка при обратном чтении...
ардуинка начинает мигать светодиодом на D13 и, почему-то светодиодом L (мигают в такт).
Так и должно быть, потому что светодиод L подпаян к D13. Свой можно было не паять.
Но почему возникает ошибка при обратном чтении...
Попробуйте поставить более старую версию IDE, например 1.8.5
Сделал - не помогает. Результат - тот же.
порт выбери правильный. и программатор.
порт выбери правильный. и программатор.
Если бы порт был выбран неправильно, прошивка бы не загрузилась. А у него ошибка при верификации после загрузки, флеш не считывается. А выбор программатора вообще не при чём, он же не через ISP прошивает.
Да, я с утра невнимателен. Смутило упоминание неверного порта и stk500 в выдаче
Есть ощущение, что он перезагружается сразу после записи скетча в него, поэтому IDE не может сделать верификацию. Да, не написал, что usb-преобразователь на моей китайской Arduino - CH340C. В чем может быть проблема?
Какая-то странность. Я обновил дрова для до последних с сайта wch-ic.com - сначала не помогло. Но когда стал заливать скетч, в который сам внес поправки (да, до этого я заливал копипасты с просторов - учусь еще) - все заработало. Всем откликнувшимся спасибо.