Решил я через 7 лет знакомства с форумом заказать себе программатор USBasp, получил, для испытания есть только Mega2560, прошиваю через программатор Блинк из примеров, не работает, прошиваю загрузчик, и через загрузчик прошиваю Блинк, работает, прошиваю снова через программатор - не работает!
Как тут не быть дураком?
Стандартно: в какой среде осуществлялось? Приведите сообщения компилятора при загрузке с usbasp. Какую ошибку выдаёт?
Тем же программатором?
да, программатор USBasp, зашивает без ошибок, пришлось драйвера обновить, чтобы заработал, при загрузке загрузчика диод мигает, это видимо в новой версии загрузчика, изменяю параметры блинка заливаю штатно через компорт, блинк соответствует, заливаю этот же блинк через IDE - Скетч-загрузить через программатор, загружает, но блинк не работает, горит постоянно
А, так если программатор нормально заливает без IDE (в первом посте про это не было), то либо неправильно выбран тип программатора в IDE, либо это программатор неправильно сконфигурирован в файле programmers.txt
. Смотрите, разбирайтесь, найдёте - чудес не бывает.
Либо не верно лапа для мигания указана в программе…
нет, всё делаю через IDE, по пунктам среды IDE:
- Выбрал программатор - USBasp
- Из примеров выбрал - BlinkWithoutDelay
- Заливаю: Скетч - Загрузить через программатор (плата подключена через ISP)
- Заливает без ошибок но Не работает!
- Заливаю BOOT: Инструменты - Записать загрузчик
- Заливает без ошибок, светодиод мигает
- Переключаю на компорт, программатор (ISP разъём) отсоединён
- Заливаю: Загрузка (стрелочка на панели IDE)
- Работает
- Подключаю через ISP
- Заливаю: Скетч - Загрузить через программатор (плата подключена через ISP)
- Заливает без ошибок но Не работает! (горит постоянно)
А если долго подержать включенной плату?
без разницы!
Вот лог загрузки через программатор:
Спойлер
Скетч использует 1468 байт (0%) памяти устройства. Всего доступно 253952 байт.
Глобальные переменные используют 15 байт (0%) динамической памяти, оставляя 8177 байт для локальных переменных. Максимум: 8192 байт.
E:\arduino-1.8.19\portable\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude -CE:\arduino-1.8.19\portable\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf -v -patmega2560 -cusbasp -Pusb -Uflash:w:C:\Temp\arduino_build_995836/BlinkWithoutDelay.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 "E:\arduino-1.8.19\portable\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"
Using Port : usb
Using Programmer : usbasp
AVR Part : ATmega2560
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
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 10 8 0 no 4096 8 0 9000 9000 0x00 0x00
flash 65 10 256 0 yes 262144 256 1024 4500 4500 0x00 0x00
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
lock 0 0 0 0 no 1 0 0 9000 9000 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 : usbasp
Description : USBasp, http://www.fischl.de/usbasp/
avrdude: auto set sck period (because given equals null)
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9801 (probably m2560)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: auto set sck period (because given equals null)
avrdude: reading input file "C:\Temp\arduino_build_995836/BlinkWithoutDelay.ino.hex"
avrdude: writing flash (1468 bytes):
Writing | ################################################## | 100% 0.73s
avrdude: 1468 bytes of flash written
avrdude: verifying flash memory against C:\Temp\arduino_build_995836/BlinkWithoutDelay.ino.hex:
avrdude: load data flash data from input file C:\Temp\arduino_build_995836/BlinkWithoutDelay.ino.hex:
avrdude: input file C:\Temp\arduino_build_995836/BlinkWithoutDelay.ino.hex contains 1468 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.40s
avrdude: verifying ...
avrdude: 1468 bytes of flash verified
avrdude done. Thank you.
Естественно, после записи через программатор перестаёт шиться через ком порт, загрузчик то тю-тю
Ничего не понял. В прошлый раз я понял так: если залить программатором безо всякого IDE (программой avrdude), то работает. Если нет, то попробуйте так и скажите, работает или нет.
Значит заливает скетч без загрузчика. А потом МК обращается туда, где должен быть загрузчик, и натыкается на пустоту ))
Можешь подправить фьюзы, должно заработать
Не знаю с чем связано, но те свистки, которые заказывал у китайцев, сначала пришлось перешивать другой прошивкой
У меня два свистка, перепрошивка не понадобилась ни одному
У меня так же. Третий перешил последней пошивкой, и пожалел об этом. Начались непонятные сбои. Обратно вернуть не удалось, не нашел китайской.
А я заранее бэкап сделал и откатился!
А Ардуино ИДЕ в списке поддерживает stk500?
Я сколько не пытался бэкапить прошивки с китайских устройств - ни разу не вышло. Каку Вас то получилось???

А я заранее бэкап сделал и откатился!
К сожалению не подумал об этом , понадеялся на дату.