Загрузчик ATmega328PB

Спасибо за идею, не знал о нём.

TL866 купи. С твоими способностями - 146% пригадицца.

1 лайк

Есть 3 камня 2 с нано и 1 с уно, и все 3 не определяет усбиапс? С подключеным кварцем?

а что с датами сообщений в этой теме ?))) или это только у меня ?)))

в Avrdude.conf поменять сигнатуру: (найти поиском), а тип оставить ATmega328P, может это?

part parent “m328”
id = “m328p”;
desc = “ATmega328P”;
signature = 0x1e 0x95 0x16;

Я по инструкции добавил данные и в файл atmel.ini и в avrdude.conf

part parent "m328"
id = "m328pb";
desc = "ATmega328PB";
signature = 0x1e 0x95 0x16;

ocdrev = 1;
;

тут походу микроконтроллер залочен и без высоковольтного программатора ни чего не сделать.

Лечим головную боль гильотиной? ))

Достаточно просто обновить avrdude - все нужные сигнатуры там есть

Я качал от сюда AVRDUDE_PROG
Последняя версия Версия: 3.3 (22.01.2021), и там ATmega328PB я не нашёл.

Я говорил об avrdude - это консольная утилита, а AVRDUDE_PROG - сторонняя оболочка. Какая там версия avrdude - одному автору известно. Добавить в оболочку 328pb нужно отдельно и несложно - собственно, в atmel.ini. В avrdude.conf лучше не лазить - скачать свежую версию утилиты и заменить

1 лайк

вот тут есть хекс прошивочка если что)))
https://github.com/MCUdude/MiniCore/tree/master/avr/bootloaders/optiboot_flash/bootloaders/atmega328pb

avrdude -c usbasp -p m328pb -U flash:w:optiboot_atmega328pb.hex -U lfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0xFD:m

cбросить фьюзы:

avrdude -c usbasp -p m328pb -U lfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0xFD:m

если ардуина как исп залоченная на самую нижнюю скорость не шьёт, то камень 100500 залочен, кстати конденсатор 10 микрофарад там будет не лишним, у тебя его не было

Скачал, что пробовал

C:\tm2>avrdude -c usbasp -p m328pb -U lfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0xFD:m

avrdude error: cannot set sck period; please check for usbasp firmware update
avrdude error: program enable: target does not answer (0x01)
avrdude error: initialization failed, rc=-1
        - double check the connections and try again
        - use -B to set lower ISP clock frequency, e.g. -B 125kHz
        - use -F to override this check


avrdude done.  Thank you.
C:\tm2>avrdude -c usbasp -p m328pb -U lfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0xFD:m -B 125kHz

avrdude: set SCK frequency to 93750 Hz
avrdude error: cannot set sck period; please check for usbasp firmware update
avrdude error: program enable: target does not answer (0x01)
avrdude error: initialization failed, rc=-1
        - double check the connections and try again
        - use -B to set lower ISP clock frequency, e.g. -B 125kHz
        - use -F to override this check


avrdude done.  Thank you.
C:\tm2>avrdude -c usbasp -p m328pb -U lfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0xFD:m -F

avrdude error: cannot set sck period; please check for usbasp firmware update
avrdude error: program enable: target does not answer (0x01)
avrdude error: initialization failed, rc=-1
        - double check the connections and try again
        - use -B to set lower ISP clock frequency, e.g. -B 125kHz
avrdude: AVR device initialized and ready to accept instructions
avrdude: device signature = 0x000000 (retrying)
avrdude: device signature = 0x000000 (retrying)
avrdude: device signature = 0x000000
avrdude error: Yikes!  Invalid device signature.
avrdude warning: expected signature for ATmega328PB is 1E 95 16

avrdude done.  Thank you.
C:\tm2>avrdude -c usbasp -p m328pb -U lfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0xFD:m -B 125kHz -F

avrdude: set SCK frequency to 93750 Hz
avrdude error: cannot set sck period; please check for usbasp firmware update
avrdude error: program enable: target does not answer (0x01)
avrdude error: initialization failed, rc=-1
        - double check the connections and try again
        - use -B to set lower ISP clock frequency, e.g. -B 125kHz
avrdude: AVR device initialized and ready to accept instructions
avrdude: device signature = 0x000000 (retrying)
avrdude: device signature = 0x000000 (retrying)
avrdude: device signature = 0x000000
avrdude error: Yikes!  Invalid device signature.
avrdude warning: expected signature for ATmega328PB is 1E 95 16

avrdude done.  Thank you.


Поставил, не помогло

а скорость выставлял в скетче 128000/6

Да, тоже не помогло

// Configure SPI clock (in Hz).
// E.g. for an ATtiny @ 128 kHz: the datasheet states that both the high and low
// SPI clock pulse must be > 2 CPU cycles, so take 3 cycles i.e. divide target
// f_cpu by 6:
#define SPI_CLOCK            (128000/6)
//
// A clock slow enough for an ATtiny85 @ 1 MHz, is a reasonable default:

//#define SPI_CLOCK 		(1000000/6)
Ошибка при записи загрузчика.

а что прочиталось с чипа?
Есть еще предположение, что были выдраны с устройства где были залрограммированы на работу с кварцем, тогда надо подавать тактирующую частоту, ты поищи в скетче с какого вывода можно снимать, должно быть такое

У него припаяны на нану - кварц там есть. И кстати даже “залоченый” камень позволяет прочитать фюзы. Что бы он не читался надо или ресет отрубить или саму возможность внутрисхемного программирования. Ну или припаять через жопу :grinning_face:

1 лайк

ты видимо забыл как я Диме фьюзы помог выставить на 128 килогерц RC, только ардумно ас исп и достучались потом

а по ссылке https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json ядро точно устанавливали для ардуино идэ, и пробовали с этим установленным ядром загружать ?
я отказался от программаторов, и стараюсь прошивать ардуинкой… поддельные не знаю как определить, но возможно еще на 7ке у вас прошьется этим программатором))) но я бы попытался выпаять кварц еще перед этим…