Зашить бутлоадер arduino в новый 328p

Обсуждаем контроллеры компании Atmel.
Ответить
Ytm
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 160
Зарегистрирован: Ср окт 02, 2013 15:59:28
Откуда: Москва

Сообщение Ytm »

1. перепроверял уже ни одну сотню раз
2. Вот это уже интересней, только вот где это писать, и как правильно все это делать надо
4. У меня их 10 штук - все одинаково себя ведут

У меня программирование останавливается на этом как же он работает если после этого больше ничего не делает? Ну и опять же моих познаний не хватает для полноценной проверки :( Пытаюсь уйти от arduino IDE, но все тщетно:
extreme burner говорит "Fount USBasp on USB; Powering On...; Power On Failed; Cannon Communicate with Target Chip"
ProgISP говорит только "Chip Enable Program Error"
Какие то еще пробовал уже не помню - тоже ошибки и на 8 винде и на ноуте с xp

Еще если написать "avrdude -C ../etc/avrdude.conf -c avrisp -P COM4 -b 19200 -p m328p -v -F"
То отвечает

Код: Выделить всё

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.08s

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0

avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: Fuses OK

avrdude done.  Thank you.
Если добавить -B20 то ничего не меняется
Последний раз редактировалось Ytm Чт авг 28, 2014 09:19:27, всего редактировалось 1 раз.
Реклама
Родился
Сообщения: 9
Зарегистрирован: Сб июл 12, 2014 16:43:40
Откуда: Киров

Сообщение MaksKirov »

Про -B20 имею ввиду дописать консольной утилите avrdude
Контактная информация:
Реклама
Ytm
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 160
Зарегистрирован: Ср окт 02, 2013 15:59:28
Откуда: Москва

Сообщение Ytm »

В том то и проблема что я не знаю что там правильно писать нужно :( И нигде не могу найти инструкцию
Ytm
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 160
Зарегистрирован: Ср окт 02, 2013 15:59:28
Откуда: Москва

Сообщение Ytm »

Вот такая еще штука, не знаю поможет ли это все...
Из инструкции узнал как скачать код из чипа (но учитывая что все фьюзы он читает как 0 я сомневаюсь что это сработает как ожидается)

Код: Выделить всё

avrdude -C ../etc/avrdude.conf -c avrisp -P COM4 -b 19200 -p m328p -U flash:r:original_firmware328.bin:r
Получился следующий фаил, не знаю как его открыть можно посмотреть :( Но если верить ProgISP'у то там тоже одни нули
Не могу заттачить почему-то, вот так сслыкой: https://dl.dropboxusercontent.com/u/284 ... are328.bin

Вот допустим как прописать фьюзы через консоль? и какие прописать для ардуины - проверить изменится может хоть что-то

Блин еще фьюзы читает каждый раз по разному :(
СпойлерW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ---
-- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 36
00 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 45
00 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 45
00 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 : STK500
Description : Atmel AVR ISP
Hardware 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 device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.10s

avrdude: Device signature = 0xffffff
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0

avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: lfuse changed! Was ff, and is now 0
Would you like this fuse to be changed back? [y/n] n
avrdude: safemode: Fuses OK

avrdude done. Thank you.


C:\arduino-1.0.5\hardware\tools\avr\bin>avrdude -C ../etc/avrdude.conf -c avrisp
-P COM4 -b 19200 -p m328p -v -F

avrdude: Version 5.11, compiled on Sep 2 2011 at 19:38:36
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

System wide configuration file is "../etc/avrdude.conf"

Using Port : COM4
Using Programmer : avrisp
Overriding Baud Rate : 19200
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 Max
W ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ---
-- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 36
00 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 45
00 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 45
00 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 : STK500
Description : Atmel AVR ISP
Hardware 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 device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.07s

avrdude: Device signature = 0xffffff
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0

avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: Fuses OK

avrdude done. Thank you.


C:\arduino-1.0.5\hardware\tools\avr\bin>avrdude -C ../etc/avrdude.conf -c avrisp
-P COM4 -b 19200 -p m328p -v -F

avrdude: Version 5.11, compiled on Sep 2 2011 at 19:38:36
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

System wide configuration file is "../etc/avrdude.conf"

Using Port : COM4
Using Programmer : avrisp
Overriding Baud Rate : 19200
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 Max
W ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ---
-- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 36
00 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 45
00 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 45
00 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 : STK500
Description : Atmel AVR ISP
Hardware 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 device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.08s

avrdude: Device signature = 0xffffff
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as FF
avrdude: safemode: efuse reads as 7

avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: lfuse changed! Was ff, and is now 0
Would you like this fuse to be changed back? [y/n] n
avrdude: safemode: hfuse changed! Was ff, and is now 0
Would you like this fuse to be changed back? [y/n] n
avrdude: safemode: efuse changed! Was 7, and is now 0
Would you like this fuse to be changed back? [y/n] n
avrdude: safemode: Fuses OK

avrdude done. Thank you.


C:\arduino-1.0.5\hardware\tools\avr\bin>avrdude -C ../etc/avrdude.conf -c avrisp
-P COM4 -b 19200 -p m328p -v -F

avrdude: Version 5.11, compiled on Sep 2 2011 at 19:38:36
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

System wide configuration file is "../etc/avrdude.conf"

Using Port : COM4
Using Programmer : avrisp
Overriding Baud Rate : 19200
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 Max
W ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ---
-- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 36
00 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 45
00 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 45
00 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 : STK500
Description : Atmel AVR ISP
Hardware 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 device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.09s

avrdude: Device signature = 0xffffff
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0

avrdude: safemode: lfuse reads as 0
avrdude: safemode: Verify error - unable to read hfuse properly. Programmer may
not be reliable.
avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as FF
avrdude: safemode: efuse reads as 7
avrdude: safemode: lfuse changed! Was 0, and is now ff
Would you like this fuse to be changed back? [y/n]
Инструкции в инете почитаешь так все просто дальше некуда, а в действительности какой-то кошмар. Или все таки битые МК из китая прислали, а я тут мучаюсь...
Реклама
Эиком - электронные компоненты и радиодетали
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1641
Зарегистрирован: Пн авг 25, 2014 21:52:26
Откуда: Ленинград

Сообщение Baasil »

Открывать любым hex editor'ом. И таки да, нули там.
Реклама
Родился
Сообщения: 9
Зарегистрирован: Сб июл 12, 2014 16:43:40
Откуда: Киров

Сообщение MaksKirov »

Вот пример использования ключа через ардуино

Код: Выделить всё

avrdude -C avrdude.conf -c avrisp -P COM1 -b 19200 -p m328p  -U flash:w:имя_файла.hex -B20
Через usbasp ключ должен быть usbasp.
Фьюзы дописываем ключи так для атмеги 328:

Код: Выделить всё

-U hfuse:w:0xde:m -U efuse:w:0x5:m


И вообще можно так. Там показывает все команды и какие должны быть фьюзы для 328
Контактная информация:
Реклама
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Сообщение Morroc »

Мой usbasp так ведет себя только с реально дохлой мегой. При неправильном подключении или если у мк тактовая 1 мгц ругается вполне разумно - типа ошибка коммуникации, чип не найден или что то в этом роде, но 000 / fff не показывает.
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Ytm
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 160
Зарегистрирован: Ср окт 02, 2013 15:59:28
Откуда: Москва

Сообщение Ytm »

А как узнать на каком порту висит usbasp? С ардуиной просто - она в диспетчере устройств висит в COM портах, а этот гдето отдельно и порт там не указан :( или для него порт не надо указывать?
Родился
Сообщения: 9
Зарегистрирован: Сб июл 12, 2014 16:43:40
Откуда: Киров

Сообщение MaksKirov »

Ytm писал(а):А как узнать на каком порту висит usbasp? С ардуиной просто - она в диспетчере устройств висит в COM портах, а этот гдето отдельно и порт там не указан :( или для него порт не надо указывать?
Нет там ком порта
Контактная информация:
Ytm
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 160
Зарегистрирован: Ср окт 02, 2013 15:59:28
Откуда: Москва

Сообщение Ytm »

В общем... дай думаю рискну подключу к свистку заведомо рабочий 328p - sck ошибка вылезла, но фьюзы считались все равно и сигнатура нормальная... даже не пришлось -F писать. В общем теперь понятно что какие-то битые мне продали МК. Другой вопрос - можно ли с ними что-то сделать, или выкинуть и париться?
Родился
Сообщения: 9
Зарегистрирован: Сб июл 12, 2014 16:43:40
Откуда: Киров

Сообщение MaksKirov »

Ytm писал(а):В общем... дай думаю рискну подключу к свистку заведомо рабочий 328p - sck ошибка вылезла, но фьюзы считались все равно и сигнатура нормальная... даже не пришлось -F писать. В общем теперь понятно что какие-то битые мне продали МК. Другой вопрос - можно ли с ними что-то сделать, или выкинуть и париться?
"нерабочие" - это скорее всего с включенным делителем на 8 ,необходимо понижать скорость для их запуска через -B20 -я это уже выше писал.
Контактная информация:
Ytm
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 160
Зарегистрирован: Ср окт 02, 2013 15:59:28
Откуда: Москва

Сообщение Ytm »

Вот что мне ответило с -B20 и -F

Код: Выделить всё

avrdude: set SCK frequency to 32000 Hz
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 0F

avrdude done.  Thank you.
И еще вот

Код: Выделить всё

C:\arduino\hardware\tools\avr\bin>avrdude -C ..\etc\avrdude.conf -c usbasp -b 19200 -p m328p -U flash:w:ATmegaBOOT_168_atmega328.hex -B20 -F

avrdude: set SCK frequency to 32000 Hz
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed

         To disable this feature, specify the -D option.

avrdude done.  Thank you.
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Сообщение Morroc »

Похоже и правда на нерабочие. У меня 328P тоже с магаза такая кривая.
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Родился
Сообщения: 9
Зарегистрирован: Сб июл 12, 2014 16:43:40
Откуда: Киров

Сообщение MaksKirov »

Morroc писал(а):Похоже и правда на нерабочие. У меня 328P тоже с магаза такая кривая.
Не обязательно не рабочие , мне как-то пришли attiny13 5 штук , и как оказалось во всех был зашит мусор в фьюзах - получалось что где-то был выключен spi .а где-то reset. Исправлял собранным для этого специально высоковольтным программатором (фьюз доктор).

Для attiny схема такого программатора очень простая -немного ног. А вот для Atmeg надо подключать ВСЕ ноги.
Контактная информация:
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Сообщение Morroc »

Омг... интересная мысль, можно попробовать если много их.

Я себе на макетке делал, но пока пригодился всего один раз

Изображение
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Ytm
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 160
Зарегистрирован: Ср окт 02, 2013 15:59:28
Откуда: Москва

Сообщение Ytm »

А можно по подробнее про доктора этого? или для этого еще один программатор покупать нужно другого типа? это оно? Попробовать собрать такой?
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Сообщение Morroc »

Ну да, вот он на макетке и собран. По сути программатор, но вместо прошивки просто сбрасывает фьюзы мк в заводское состояние, работает автономно - ткнул мк (у меня был на другой макетке - проводами цеплял), запустил девайс, если загорелась зеленая - мк "сбросился", если красная - не получилось или неправильно подключен мк (но лучше смотреть что происходит по uart).

( только заметил, что кнопку и резистор в районе ресета куда то "унесло", вроде были :) )
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Ytm
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 160
Зарегистрирован: Ср окт 02, 2013 15:59:28
Откуда: Москва

Сообщение Ytm »

У меня не нашлось достаточного количества резюков на Ком, только smd - сижу плату травлю, надеюсь прокатит.
Родился
Сообщения: 9
Зарегистрирован: Сб июл 12, 2014 16:43:40
Откуда: Киров

Сообщение MaksKirov »

Ytm писал(а):У меня не нашлось достаточного количества резюков на Ком, только smd - сижу плату травлю, надеюсь прокатит.
Вообще , 1кОм резисторы там больше для страховки и можно обойтись и без их..
Контактная информация:
Ytm
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 160
Зарегистрирован: Ср окт 02, 2013 15:59:28
Откуда: Москва

Сообщение Ytm »

Поздно :)))
Ответить

Вернуться в «AVR»