Проблема прошивки Arduino Pro mini через USBasp

dokgim
Offline
Зарегистрирован: 28.09.2015

Доброго времени суток всем!

Прошу вашей помощи в прошивке Arduino Pro Mini. Целый день бьюсь, а результата ноль!

Заказывал платку из китая. Точнее две платки одна Arduino Nano и Pro mini (ATmega168/5V/16Mhz). Так же для прошивки было заказано два программатора USBasp 2.0 т.к. по отзывам больше всего понравились людям. Nano оказалось может шить сама себя, потому я долгое время не брался за программаторы и pro mini. Но пришло время... Прочитав кучу литературы в интернете собрал на монтажке модуль подключения программатора к нужным потам pro mini. Все пропаял и прозвонил, получилось все надежно и прочно. Поставил драйвер на программатор и принялся шить блинк как IDE выдала ошибку: Найден неправильный микроконтроллер. Вы указали правильную плату в меню Инструменты -> Плата?

Arduino: 1.6.5 (Windows 7), Плата"Arduino Pro or Pro Mini, ATmega168 (5V, 16 MHz)"

avrdude: warning: cannot set sck period. please check for usbasp firmware update.
 
avrdude: Expected signature for ATmega168 is 1E 94 06
 
         Double check chip, or use -F to override this check.
 
Собирал по схеме: 
 
При подключении на Pro Mini горел светодиод питания и все. перекинул GND на крайнюю левую ногу шлейфа и при подключении плата начала еще моргать синим светодиодом(вроде это как раз нормальный режим работы платы) но при прошивке все та же ошибка. В интернете нет ровным счетом ничего адекватного что это может быть. 
Спасибо за внимание, буду ждать ваших советов!
Клапауций 070
Offline
Зарегистрирован: 26.09.2015

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

"Вгрузить" или "Загрузить с помощью программатора"?

если правильную, то считай сигнатуру с контроллера - соответсвует ли.

пример считывания сигнатуры в файл:

avrdude -p ATtiny2313 -c usbasp -U signature:r:signature.txt:h

 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

..........please check for usbasp firmware update........
Сначала нужно перешить USBasp

.........cannot set sck period.......
Он не может снизить частоту 

Клапауций 070
Offline
Зарегистрирован: 26.09.2015

trembo пишет:

..........please check for usbasp firmware update........
Сначала нужно перешить USBasp

.........cannot set sck period.......
Он не может снизить частоту 

чем и зачем перешивать? - последняя актуальная прошивка выдаёт это сообщение, это сообщение ни на что не влияет.

 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

....давно это было....

У меня все  сразу  перешитые с фицхл.де и не выдают этого сообщения ( а  это не ошибка).
Влияет.
Чтобы ключ -В работал
Берём два, одним шьём другого, выводит сообщение, но шьёт,  затем наоборот, но  уже без сообщения.
http://www.fischl.de/usbasp/
Там ещё надо перемычку воткнуть на том кого шьём.....

А в первом сообщении:   Expected signature for ATmega168 is 1E 94 06

А где считанная сигнатура?????  
Считать не смог?
Рэсет не прошёл? (Пинцетиком попробовать)
Рэсет кто-то держит? (Раз моргает- значит вычёркиваем)
Сигналы перепутаны? ( Мультик в руки -  и до проца)
Джампер питания на 3.3 Вольта стоит?

Загадка, однако.......

........перекинул GND на крайнюю левую ногу шлейфа и при подключении плата начала еще моргать синим светодиодом........

Были варианты и прошивки USBASP где на две ножки рядом с питанием были выведены Rx иTx от Atmega8
http://varzazaliam.blogas.lt/files/2010/10/pinbelegung_zielschaltung.png

поэтому всегда беру крайнюю землю

 

dokgim
Offline
Зарегистрирован: 28.09.2015

Вот уже сижу теперь дома ковыряю. Пытался понять как считать сигнатуру, почитал мануалы... Вроде дошло что нужно поставить AVR Studio 4. Сказано - сделано. Точной инструкции по считыванию вроде как нет, нашел инструкцию по прошиванию загрузчика, там вроде как надо было считать чтото, попробовал сделать, не нашел платы программатора в настройках подключения (tools>programm AVR>connect). На работе ставил прогу с какого то кривого сайта, там программатор был на выбор usbasp mkII, но при конекте все зависало намертво. Дома поставил версию 4.16 с оф сайта. Там вообще нет этого прогроматора, только ISP но насколько я понимаю это другое. Короче как считать сигнатуру я так и не понял, но думаю что это может быть реальной причиной такого поведения.

Если ктото сможет дать более полные инструкции по получению сигнатуры, я буду рад!

По поводу варианта прошивки USBasp'a думаю вы попали в точку, потому что пока я не подключил землю к крайнему разъему у меня на ардуино горел только красный светодиод, после начал моргать синий.

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

По поводу вольтажа... плата вроде 5V, я перемычку на USBasp не трогал, она стояла на 5V. Вот сейчас попробовал передернуть на 3V, эфект тот же... 

Кстати когда после компиляции IDE перед тем как выдать ошибку на платках программатора и один раз моргает светодиод на прием помойму.

Пока это все... Блин такая маленькая плата и такая проблемная. Надо было две Nano Брать. Хотя для них пришлось толи у арабов то ли у китайцев дрова брать на прошивальщик, зато работает безотказно и намного проще конечно. Хотя nano при внешнем питании не может выдавать 3.3v... Кстати кто знает модули расчитаные на 3.3v можно питать от 5 вольт ардуино nano? Я по привычке сначала гироскоп воткнул в 5v когда тока подключал, а потом прочитал что ему нужно 3.3v... Но модуль не сгорел, нормально работал потом. Я вот и думаю, принципиально ли это? Просто не хочется расшивать кабель USB, а датчики вешать нужно.

З.Ы. Кстати кварц в Arduino Pro Mini 16Mhz а в USBasp 12Mhz. В этом может быть проблема?

Клапауций 070
Offline
Зарегистрирован: 26.09.2015

dokgim пишет:

Пытался понять как считать сигнатуру, почитал мануалы...

какие мануалы? - одна строчка.

avrdude -p ATtiny2313 -c usbasp -U signature:r:signature.txt:h

dokgim пишет:
Вроде дошло что нужно поставить AVR Studio 4.

нет - нужно купить бубен.

dokgim
Offline
Зарегистрирован: 28.09.2015

Клапауций 070 пишет:

dokgim пишет:

Пытался понять как считать сигнатуру, почитал мануалы...

какие мануалы? - одна строчка.

avrdude -p ATtiny2313 -c usbasp -U signature:r:signature.txt:h

dokgim пишет:
Вроде дошло что нужно поставить AVR Studio 4.

нет - нужно купить бубен.

Это я прекрасно понял что всего то одна строчка, непонятно куда она... Я написал ее в командрой строке, написал на столе, пошел написал на стене в туалете, написал гречкой в тарелке с ужином... Думаю татуху делать или нет?

На бубне тоже писал, может у меня бубен плохой. Как прошить бубен кто знает?

Блин я не погуглил кстати по поводу самой строчки, надо бы, может найду ответ...

dokgim
Offline
Зарегистрирован: 28.09.2015

Вроде нашел. Используя поиск вышел на программу SinaProg с помощью нее чтото получил помойму...

avrdude -C avrdude.conf -c usbasp -p m168 -q



avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x1e940b
avrdude: Expected signature for ATMEGA168 is 1E 94 06

 

Клапауций 070
Offline
Зарегистрирован: 26.09.2015

dokgim пишет:

Блин я не погуглил кстати по поводу самой строчки, надо бы, может найду ответ...

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

а, то студию ставить, что бы сигнатуру считать - нашёл, а дудкой пользоваться - не нашёл.

dokgim
Offline
Зарегистрирован: 28.09.2015

Клапауций 070 пишет:

dokgim пишет:

Блин я не погуглил кстати по поводу самой строчки, надо бы, может найду ответ...

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

а, то студию ставить, что бы сигнатуру считать - нашёл, а дудкой пользоваться - не нашёл.

Ну короче вроде считал... получается у нас следующее... 

avrdude: Device signature = 0x1e 94 0b

avrdude: Expected signature for ATMEGA168 is 1E 94 06

Насколько я понял у меня неправильная сигнатуры чипа стоит в плате. Что с этим можно сделать?

 

Клапауций 070
Offline
Зарегистрирован: 26.09.2015

dokgim пишет:

Насколько я понял у меня неправильная сигнатуры чипа стоит в плате. Что с этим можно сделать?

ну, снова берёшь 0x1e940b и идёшь в гугл - там тебе скажут, что МК у тебя ATMEGA168P

dokgim
Offline
Зарегистрирован: 28.09.2015

Да я как бы был в курсе что у меня ATMEGA168PA... Так и само описание говорило о том что там стоит такой чип. Теперь я понял что оригинальные pro mini работают на mega168 и сигнатура там отичается от mega168pa... Только от этого не легче, я до сих пор не понял как это исправить... Пока гуглю но толкового не нашел ничего пока. В IDE при выборе процессора нет возможностивыбрать ничего проме просто mega168 или mega 328...

Клапауций 070
Offline
Зарегистрирован: 26.09.2015

ну, смотри https://www.google.com/search?q=arduino+ATMEGA168P

ты не поверишь!

http://arduino.ru/forum/programmirovanie/oshibka-podpisi-atmega168pa-au

но это для старых версий ИДЕ - для новых тут

https://github.com/FastLED/FastLED/issues/163

 

Клапауций 070
Offline
Зарегистрирован: 26.09.2015
### ATmega168PA ###
atmega168pabb.name=ATmega168PA on a breadboard (8 MHz internal clock)

atmega168pabb.upload.protocol=arduino
atmega168pabb.upload.maximum_size=14336
atmega168pabb.upload.maximum_data_size=1024
atmega168pabb.upload.speed=19200
atmega168pabb.upload.tool=arduino:avrdude

atmega168pabb.bootloader.tool=arduino:avrdude
atmega168pabb.bootloader.low_fuses=0xE2
atmega168pabb.bootloader.high_fuses=0xDE
atmega168pabb.bootloader.extended_fuses=0x05
atmega168pabb.bootloader.file=ATmegaBOOT_168_pro_8MHz.hex
atmega168pabb.bootloader.unlock_bits=0x3F
atmega168pabb.bootloader.lock_bits=0x0F

atmega168pabb.build.mcu=atmega168p
atmega168pabb.build.f_cpu=8000000L
atmega168pabb.build.core=arduino:arduino
atmega168pabb.build.variant=arduino:standard

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

dokgim
Offline
Зарегистрирован: 28.09.2015

Все, спасибо большое! Разобрался! Оказывается там файл с настройками есть(avrdude.conf), где надо было просто поправить сигнатуру для m168! Все началось шиться! Хотя в файле дочерним объектом выступал m168p с правильной сигнатурой, непонятно почему не заработаботало изначально, возможно потому что у меня m168pa. Но это уже не важно, главное я могу снова вернуться к своему проекту!)

Огромное спасибо! Тему можно закрывать!

Клапауций 070
Offline
Зарегистрирован: 26.09.2015

dokgim пишет:

Все, спасибо большое! Разобрался! Оказывается там файл с настройками есть(avrdude.conf), где надо было просто поправить сигнатуру для m168! Все началось шиться! Хотя в файле дочерним объектом выступал m168p с правильной сигнатурой, непонятно почему не заработаботало изначально, возможно потому что у меня m168pa. Но это уже не важно, главное я могу снова вернуться к своему проекту!)

Огромное спасибо! Тему можно закрывать!

нет - теперь у тебя дудка на сигнатуру m168 будет ругаться.

выше читай - добавь секцию в boards.txt

a5021
Offline
Зарегистрирован: 07.07.2013

dokgim пишет:

З.Ы. Кстати кварц в Arduino Pro Mini 16Mhz а в USBasp 12Mhz. В этом может быть проблема?

12мгц нужны для тактирования USB. Никакой другой не пойдет.

Клапауций 070
Offline
Зарегистрирован: 26.09.2015

a5021 пишет:

12мгц нужны для тактирования USB. Никакой другой не пойдет.

с чего бы это вдруг?

This is the Readme file to Objective Development's firmware-only USB driver
for Atmel AVR microcontrollers. For more information please visit
 
CPU CORE CLOCK FREQUENCY
========================
We supply assembler modules for clock frequencies of 12 MHz, 12.8 MHz, 15 MHz,
16 MHz, 16.5 MHz 18 MHz and 20 MHz. Other clock rates are not supported. The
actual clock rate must be configured in usbconfig.h.
trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011
ImaSoft
ImaSoft аватар
Offline
Зарегистрирован: 22.09.2015

Народ, а кто подскажет как в IDE Arduino...ы при прошивке bootloadre...а, программа шила фъюзы с локированной памятью?

По умолчанию всегда берется из boards.txt профиль "xxx.bootloader.unlock_bits=0x3F", но там же есть и строка с локированным значением "xxx.bootloader.lock_bits=0x0F", так как IDE заставить брать именно локированный профиль? при прошивке bootloadre...а?

Я обошел это просто заменив фъюз с "xxx.bootloader.unlock_bits=0x3F" на "xxx.bootloader.unlock_bits=0x0F", все заработало, но мне такой подход не нравится, если есть опция в boards.txt, значит как-то можно переключать где-то как шить фъюзы...

п.с. На всякий случай, у меня IDE_v1.6.6

Мой профиль для ARDUINO pro mini(ATmega328p 16мГц 5в)

##############################################################
promini.name=Arduino Pro Mini(ATmega328p 5v 16MHz OptiBoot Lock)
 
promini.upload.tool=avrdude
promini.upload.protocol=arduino
 
promini.bootloader.tool=avrdude
promini.bootloader.low_fuses=0xff
#promini.bootloader.unlock_bits=0x3F
promini.bootloader.unlock_bits=0x0F
promini.bootloader.lock_bits=0x0F
 
promini.upload.tool=avrdude
promini.upload.protocol=arduino
promini.upload.maximum_size=32256
promini.upload.maximum_data_size=2048
promini.upload.speed=115200
 
promini.bootloader.high_fuses=0xDE
promini.bootloader.extended_fuses=0x05
promini.bootloader.file=optiboot/optiboot_atmega328-Mini.hex
 
promini.build.mcu=atmega328p
promini.build.f_cpu=16000000L
promini.build.board=AVR_UNO
promini.build.core=arduino
promini.build.variant=standard
 
###############################################################
Клапауций 911
Offline
Зарегистрирован: 18.10.2015

ImaSoft пишет:

Я обошел это просто заменив фъюз с "xxx.bootloader.unlock_bits=0x3F" на "xxx.bootloader.unlock_bits=0x0F", все заработало, но мне такой подход не нравится, если есть опция в boards.txt, значит как-то можно переключать где-то как шить фъюзы...

теперь у тебя команда unlock_bits выполняет lock_bits

потому, что:

pro.bootloader.unlock_bits=0x3F
pro.bootloader.lock_bits=0x0F
 
и, никак иначе для этого типа контроллера.
 
порядок заливки загрузчика:
разлочивается контроллер - 0x3F
шьются фьюзы
шьётся загрузчик
залочивается контроллер - 0x0F
всё.

 

ImaSoft
ImaSoft аватар
Offline
Зарегистрирован: 22.09.2015

Клапауций 911 пишет:

порядок заливки загрузчика:

разлочивается контроллер - 0x3F
шьются фьюзы
шьётся загрузчик
залочивается контроллер - 0x0F
всё.

Из опыта программирования контроллеров Attiny13-15 AT90S2313 Attiny2313 итд... 

Первая операция (разлочивается контроллер - 0x3F) как вы описали, выполняется не так, подается команда стереть контроллер, он автоматом и разлочивается, потом шъются фъюзы конфигуратора high,extended, заливается bootloader, а потом шьются фъюзы локирования

Но вопрос вы, наверное, не поняли, как заставить IDE брать по умолчанию не "xxx.bootloader.unlock_bits=0x3F" а именно строку "xxx.bootloader.unlock_bits=0x0F"?

п.с. Кстате с вашего ответа я понял что вы хотите сказать что после прошивке с моего профиля нельзя будет повторно прошить bootloader? Забегу в перед, все повторно шъется как часы без проблем...

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

Но вопрос вы, наверное, не поняли, как заставить IDE брать по умолчанию не "xxx.bootloader.unlock_bits=0x3F" а именно строку "xxx.bootloader.unlock_bits=0x0F"?

это вы не поняли

0x3F - разлочивает контроллер, невозможно этой командой выполнить ничего, кроме разлочивания контроллера.

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

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

*просто включите в Дуино ИДЕ подробный лог и посмотрите, что у вас происходит, что бы не спорить на пустом месте.

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

проверил чисто для себя на примере atmega8

avrdude -CD:\Program Files mini\arduino-1.0.6\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega8 -cusbasp -Pusb -e -Ulock:w:0x3F:m -Uhfuse:w:0xca:m -Ulfuse:w:0xdf:m 

стираем, разлочиваем, шьём фьюзы

avrdude -CD:\Program Files mini\arduino-1.0.6\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega8 -cusbasp -Pusb -Uflash:w:D:\Program Files mini\arduino-1.0.6\hardware\arduino\bootloaders\atmega8\ATmegaBOOT-prod-firmware-2009-11-07.hex:i -Ulock:w:0x0F:m 

шьём загрузчик, лочим.

ImaSoft
ImaSoft аватар
Offline
Зарегистрирован: 22.09.2015

Клапауций 911 пишет:

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

Чтобы по умолчанию, при прошивке bootloadera вся память (FLASH, EEPROM ) была залочена...

п.с. Сейчас по эксперементировал и сразу ошибочку нашел у себя!

Для локирования не 0х0F а 0х0С

##############################################################
promini.name=Arduino Pro Mini(ATmega328p 5v 16MHz OptiBoot Lock)
 
promini.upload.tool=avrdude
promini.upload.protocol=arduino
 
promini.bootloader.tool=avrdude
promini.bootloader.low_fuses=0xff
#promini.bootloader.unlock_bits=0x3F
promini.bootloader.unlock_bits=0x0C
promini.bootloader.lock_bits=0x0C
 
promini.upload.tool=avrdude
promini.upload.protocol=arduino
promini.upload.maximum_size=32256
promini.upload.maximum_data_size=2048
promini.upload.speed=115200
 
promini.bootloader.high_fuses=0xDE
promini.bootloader.extended_fuses=0x05
promini.bootloader.file=optiboot/optiboot_atmega328-Mini.hex
 
promini.build.mcu=atmega328p
promini.build.f_cpu=16000000L
promini.build.board=AVR_UNO
promini.build.core=arduino
promini.build.variant=standard
 
###############################################################

 

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

ImaSoft пишет:

Чтобы по умолчанию, при прошивке bootloadera вся память (FLASH, EEPROM ) была залочена...

и, как ты будешь шить скетч и писать в EEPROM ?

ImaSoft пишет:

Для локирования не 0х0F а 0х0С

все лохи, а ты - Дъартаньян.

ImaSoft
ImaSoft аватар
Offline
Зарегистрирован: 22.09.2015

Клапауций 911 пишет:

ImaSoft пишет:

Чтобы по умолчанию, при прошивке bootloadera вся память (FLASH, EEPROM ) была залочена...

и, как ты будешь шить скетч и писать в EEPROM ?

ImaSoft пишет:

Для локирования не 0х0F а 0х0С

все лохи, а ты - Дъартаньян.

Зачем вы грубите?

Через UART все прекрасно шъется через BootLoader-Стандартно в IDE ARDUINO..ы (когда чип локирован) внутресхемно, но если содрать код с АРДУИНКИ то как я думаю, уже не получится...

Может конечно по UART считать можно как-то, но не думаю что это возможно, хотя...

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

ImaSoft пишет:

Зачем вы грубите?

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

promini.bootloader.unlock_bits=0x0C
promini.bootloader.lock_bits=0x0C
 
совместите в своём автомобиле ручной тормоз с педалью "газ" и подумайте, что у вас произойдёт.
Клапауций 911
Offline
Зарегистрирован: 18.10.2015

ImaSoft пишет:

содрать код с АРДУИНКИ то как я думаю, уже не получится...

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

ImaSoft
ImaSoft аватар
Offline
Зарегистрирован: 22.09.2015

Клапауций 911 пишет:

ImaSoft пишет:

Зачем вы грубите?

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

promini.bootloader.unlock_bits=0x0C
promini.bootloader.lock_bits=0x0C
 
совместите в своём автомобиле ручной тормоз с педалью "газ" и подумайте, что у вас произойдёт.

Еще раз вам говорю что при прошивке IDE игнорирует строку "promini.bootloader.lock_bits=0x0C" она что есть что ее нет он берет данные с "promini.bootloader.unlock_bits=0x0C"

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

ImaSoft пишет:

Еще раз вам говорю что при прошивке IDE игнорирует строку "promini.bootloader.lock_bits=0x0C" она что есть что ее нет он берет данные с "promini.bootloader.unlock_bits=0x0C"

а, как вы узнаёте, что у вас происходит, если lock_bits=unlock_bits=0x0C

попробуйте для напоржать и фьюзы прописать 0x0C

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

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

https://www.arduino.cc/en/Hacking/Bootloader?from=Tutorial.Bootloader

ImaSoft
ImaSoft аватар
Offline
Зарегистрирован: 22.09.2015

Клапауций 911 пишет:

ImaSoft пишет:

Еще раз вам говорю что при прошивке IDE игнорирует строку "promini.bootloader.lock_bits=0x0C" она что есть что ее нет он берет данные с "promini.bootloader.unlock_bits=0x0C"

а, как вы узнаёте, что у вас происходит, если lock_bits=unlock_bits=0x0C

попробуйте для напоржать и фьюзы прописать 0x0C

У нас с вами беседа зашла в тупик... Либо вы меня не понимаете либо меня не хотите понять и моего вопроса, который я озвучил в самом начале нашей дискусии...

Сейчас я видео коротенькое делаю, где все наглядно видно что все работает при локированной ARDUINO все шъется по UART и работает...

 

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

RE: Это мне не зачем читать я там и так все давно прочитал

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

ImaSoft пишет:

Сейчас я видео коротенькое делаю, где все наглядно видно что все работает при локированной ARDUINO все шъется по UART и работает...

сиськи будут на видео?

я говорил, что достаточно логов Дуино ИДЕ, что бы аргументированно разговаривать.

я говорил, что если(я не проверял и ничего утверждать не буду) по UART полностью контроллер заливает скетчи, то что запретит слить с контроллера хекс средствами загрузчика?

зачем эти бессмысленные танцы с бубнами?

ImaSoft
ImaSoft аватар
Offline
Зарегистрирован: 22.09.2015

Клапауций 911 пишет:

ImaSoft пишет:

Сейчас я видео коротенькое делаю, где все наглядно видно что все работает при локированной ARDUINO все шъется по UART и работает...

сиськи будут на видео?

Нет, не будет!

Возможно, комму-то пригодится!

https://www.youtube.com/watch?v=252MYGym6xc&feature=youtu.be

п.с. Основной вопрос остался открытым, как при прошивке в IDE bootloader..а, в конфиге boards.txt не меняя строку "promini.bootloader.unlock_bits=0x3F" на "promini.bootloader.unlock_bits=0x0C"(для лакирования контроллера) прошить чип и он по умолчанию был локированным, возможно, где-то есть опция скрытая, для включения данной возможности... Еще раз повторюсь что при стандартной прошивке bootloadera контроллер остается не за лакированным!!! И любой через программатор USB(asp)isp сможет спокойно считать вашу программу...

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

я же тебе говорю, что нужно сделать:

*.bootloader.lock_bits=0x0C

 

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

ок. а, нафига это всё? что бы было что?

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

ещё раз, чисто для себя, что бы понять, нафига.

стираем чип

D:\Program Files mini\avrdude-5.11-Patch7610>avrdude -p atmega8 -c usbasp -e

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.11s

avrdude: Device signature = 0x1e9307
avrdude: erasing chip

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

читаем лок-фьюзы

D:\Program Files mini\avrdude-5.11-Patch7610>avrdude -p atmega8 -c usbasp -U lock:r:con:h

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.13s

avrdude: Device signature = 0x1e9307
avrdude: reading lock memory:

Reading | ################################################## | 100% 0.03s

avrdude: writing output file "con"
0x3f

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

делаем *.bootloader.lock_bits=0x0C и загружаем загрузчик посредством Дуино ИДЕ

сначала разлочивается

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3F:
avrdude: load data lock data from input file 0x3F:
avrdude: input file 0x3F contains 1 bytes
avrdude: reading on-chip lock data:

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

avrdude: verifying ...
avrdude: 1 bytes of lock verified

затем, залочивается

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x0C:
avrdude: load data lock data from input file 0x0C:
avrdude: input file 0x0C contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of lock verified

перепроверяем

D:\Program Files mini\avrdude-5.11-Patch7610>avrdude -p atmega8 -c usbasp -U lock:r:con:h

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.13s

avrdude: Device signature = 0x1e9307
avrdude: current erase-rewrite cycle count is -50462977 (if being tracked)
avrdude: reading lock memory:

Reading | ################################################## | 100% 0.02s

avrdude: writing output file "con"
0xc

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

кто в курсе, что желает ImaSoft ?

ImaSoft
ImaSoft аватар
Offline
Зарегистрирован: 22.09.2015

Клапауций 911 пишет:

кто в курсе, что желает ImaSoft ?

ХА, вот я и нашел секрет, в чем мы друг друга не поняли!

 

Чего же вы молчите что ...

 

Вернее, почему в профильном файле boards.txt, для UNO указано не правильное значение(promini.bootloader.lock_bits=0x0F) лакирования чипа? Вот это меня и запутало!

 

Посмотрел лог AVRdube, действительно он в самом конце прошивает значение для лакирования чипа, только вот если зашить 0х0F то не чего не за лакируется, а вот 0х0С (получается 0хСС)  все как надо, чип получается лакированным!

 

п.с. Все мой вопрос снимается с повестки дня, все, оказывается, шьется, но бракописатели ARDUINO...ы не те значения в профиле указали!

Посмотрел, в каких профилях не правильно указанно значение для ATmega328p... 

uno.name=Arduino/Genuino Uno(328p)

mini.name=Arduino Mini(328p)

nano.name=Arduino Nano(328p)

pro.name=Arduino Pro or Pro Mini(328p 5v 16mHz)

 

ImaSoft
ImaSoft аватар
Offline
Зарегистрирован: 22.09.2015

Народ еще вопрос возник!

Чем отличаются Bootloader...ы для UNO(optiboot_atmega328.hex) и Mini(pro)(optiboot_atmega328-Mini.hex), сравнил их в bin виде, они полностью разные, но в работе разницы между ними не вижу?

slider
Offline
Зарегистрирован: 17.06.2014

ImaSoft пишет:

Народ еще вопрос возник!

Чем отличаются Bootloader...ы для UNO(optiboot_atmega328.hex) и Mini(pro)(optiboot_atmega328-Mini.hex), сравнил их в bin виде, они полностью разные, но в работе разницы между ними не вижу?


тож присоединяюсь к вопросу. ведь скетчи не зальются пока плату правильно не выберешь.
может быть это пережиток дип и планара? для про мини разрешено использовать А6 А7 ? Хотя есть дешевые УНО, там тож атмега328 в планарном корпусе стоит, и как в про мини выведены А6 и А7.

ImaSoft
ImaSoft аватар
Offline
Зарегистрирован: 22.09.2015

slider пишет:

и как в про мини выведены А6 и А7.

Я пробовал шить bootloader optiboot_atmega328-Mini.hex на UNO китайскую, вроде все работает, и на Pro Mini bootloader optiboot_atmega328.hex, тоже работает, но вот A6 и A7 не проверял, не используются они у меня!

п.с. Еще для инфы, может коммуто будет интерестна, у меня китайская UNO...а http://ru.aliexpress.com/item/high-quality-UNO-R3-MEGA328P-CH340-CH340G-for-Arduino-UNO-R3-USB-CABLE/32272110284.html?adminSeq=206203646&shopNumber=837425 так вот где-то ранее в мануалах я читал что для настоящей итальянской UNO...ы в фъюзах выстален Бровн-детектор на 4.3в, а на моей 2.7в...

 

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

ImaSoft пишет:

ХА, вот я и нашел секрет, в чем мы друг друга не поняли!

поделись со мной этим секретом.

ImaSoft пишет:

Чего же вы молчите что ...

потому, что я в 25/10/2015 - 14:06 отсутсвую на форуме.

ImaSoft пишет:

Вернее, почему в профильном файле boards.txt, для UNO указано не правильное значение(promini.bootloader.lock_bits=0x0F) лакирования чипа? Вот это меня и запутало!

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

читай внимательно bootloader.lock_bits - что по твоему должна выполнять эта команда?

общий лок контроллера или загрузчика?

ImaSoft пишет:

Посмотрел лог AVRdube, действительно он в самом конце прошивает значение для лакирования чипа,

возможно как-то иначе?

ImaSoft пишет:

только вот если зашить 0х0F то не чего не за лакируется,

лочится загрузочная область для защиты загрузчика от тебя.

ImaSoft пишет:

а вот 0х0С (получается 0хСС)  все как надо, чип получается лакированным!

полный лок чипа 0хС0, а не 0х0С

ImaSoft пишет:

п.с. Все мой вопрос снимается с повестки дня, все, оказывается, шьется, но бракописатели ARDUINO...ы не те значения в профиле указали!

я же говорил, что ты - Дъартаньян.

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

дубль

ImaSoft
ImaSoft аватар
Offline
Зарегистрирован: 22.09.2015

Клапауций 911 пишет:

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

читай внимательно bootloader.lock_bits - что по твоему должна выполнять эта команда?

общий лок контроллера или загрузчика?

возможно как-то иначе?

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

полный лок чипа 0хС0, а не 0х0С

RE: Проверю

Вот это уже конструктивная помощь в разжовывании пошла, с 0x0F пасибочки, как-то сразу и не дошло, уперся что чип должен полность локироваться...

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

ImaSoft пишет:

Вот это уже конструктивная помощь в разжовывании пошла, с 0x0F пасибочки, как-то сразу и не дошло, уперся что чип должен полность локироваться...

почитай эту статью http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR109.htm

то, что ты чуть иначе залочил МК, не значит, что пейсатели дуино ошиблись.

ImaSoft
ImaSoft аватар
Offline
Зарегистрирован: 22.09.2015

Клапауций 911 пишет:

почитай эту статью http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR109.htm

Вот это позновательно.