Фьюзы защиты от чтения, но не от записи Arduino mega

Roman2344
Offline
Зарегистрирован: 09.09.2015

Вообщем хочу что бы через программатор ставлю фьюзы защиты, но сейчас все ставлю фьюзы защиты, а какие поставить именно только что бы читать прошивку нельзя было, а перезаписывать прошивку можно было? Я так понимаю это связано с LB1 LB2 атмеги 2560?

Roman2344
Offline
Зарегистрирован: 09.09.2015

Перезаписывать прошивку имеется ввиду не стирая кристал.

Roman2344
Offline
Зарегистрирован: 09.09.2015

Хотя почитав я понял что вроде как нет только фьюзов от чтения.

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

Измените в boards.txt строку с "mega.bootloader.lock_bits=0x0F" на "mego.bootloader.lock_bits=0x0C", прошейте bootloader в среде Arduino и прочитать нельзя будет программу, а програмировать можно будет по UART как обычно в среде Arduino...

п.с. Если не в курсе как прошить Bootloader то вот вам >видео<

Roman2344
Offline
Зарегистрирован: 09.09.2015

Спасибо.

Roman2344
Offline
Зарегистрирован: 09.09.2015

Бутлоадер я в курсе не один раз заливал, я просто раньше как делал прошивку заливал через ардуино ИДЕ и потом ставил фьюзы защиты

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

Roman2344 пишет:

заливал через ардуино ИДЕ и потом ставил фьюзы защиты

Ооо гемор...

Roman2344
Offline
Зарегистрирован: 09.09.2015

Хотя и на программаторе это адресс подобрал уже спасибо

Roman2344
Offline
Зарегистрирован: 09.09.2015

Ну а бутлоадер по времени заливается тоже не быстро).

Roman2344
Offline
Зарегистрирован: 09.09.2015

Поменял в файле адрес на С так теперь ошибка при записи бутлоадера 

Arduino: 1.6.5 Hourly Build 2015/05/24 09:48 (Windows 7), Плата"Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

 
avrdude: invalid byte value (0x0Cmega.build.f_cpu=16000000L) specified for immediate mode
 
avrdude: read from file '0x0Cmega.build.f_cpu=16000000L' failed
 
Ошибка при записи загрузчика
 
  Это сообщение будет содержать больше информации чем
  "Отображать вывод во время компиляции"
  включено в Файл > Настройки
 
Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Ну вы же видите, что там две строчки слиплись в кучу, разделите их энтером. Внимательно редактируйте файл с настройками.

Roman2344
Offline
Зарегистрирован: 09.09.2015

Так оно изначально в этом файле всё вместе без пробела, хотя попробую. Спасибо, через программатор по адрессу 0C всё как мне нужно

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Roman2344 пишет:

Так оно изначально в этом файле всё вместе без пробела, хотя попробую. 

Видимо стандартный виндовый блокнот такой корявый (или какой-то хитрый формат у файла), не пользуйтесь ним. У меня в блокноте тоже всё в кучу слиплось, а в Notepad++  всё нормально с разделителями.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Jeka_M пишет:

Видимо стандартный виндовый блокнот такой корявый (или какой-то хитрый формат у файла)

Файл настроек в *nix-стиле, где переводы строки - это одиночные \n, а не \r\n, как в винде. Поэтому в стандартном блокноте всё и слипается.

Roman2344
Offline
Зарегистрирован: 09.09.2015

Ясно спасибо).

Roman2344
Offline
Зарегистрирован: 09.09.2015

Поменял в  boards.txt строку с "mega.bootloader.lock_bits=0x0F" на "mego.bootloader.lock_bits=0x0C", прошил bootloader в среде Arduino, считываю адрес в AVRdude показывает 0F, если отдельно прошиваю(ставлю адрес фьюзов защиты 0C) и считываю фьюзы программатором ардуино мегу то все нормально, видимо в ардуино иде защита от изменения фьюзов защиты так как платформа эта бесплатная, что скажете? 

Andrey12
Andrey12 аватар
Offline
Зарегистрирован: 26.12.2014

Roman2344 пишет:

Поменял в  boards.txt строку с "mega.bootloader.lock_bits=0x0F" на "mego.bootloader.lock_bits=0x0C", прошил bootloader в среде Arduino, считываю адрес в AVRdude показывает 0F, если отдельно прошиваю(ставлю адрес фьюзов защиты 0C) и считываю фьюзы программатором ардуино мегу то все нормально, видимо в ардуино иде защита от изменения фьюзов защиты так как платформа эта бесплатная, что скажете? 

mega.bootloader.lock_bits=0x0F
mego.bootloader.lock_bits=0x0C

Это только тут ошибка или в  boards.txt  тоже? mega а не mego

Roman2344
Offline
Зарегистрирован: 09.09.2015

Сейчас вот так 

 
mega.bootloader.unlock_bits=0x3F
mega.bootloader.lock_bits=0x0C
и ничего программатором считываю 0F
Клапауций 232
Offline
Зарегистрирован: 05.04.2016

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

Roman2344
Offline
Зарегистрирован: 09.09.2015

А по делу?

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

Roman2344 пишет:

А по делу?

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

 

Roman2344
Offline
Зарегистрирован: 09.09.2015

Ну а когда я заливаю код через ардуино иде, потом через программатор ставлю 0C фьюзы защиты, и потом перезаливаю код через ардуино иде фьюзы потом считываю программатором они как были 0С так и остаются, а так как в этом файле меняю как писали выше в ардуино иде и перезаписываю загрузчик ардуино и сразу считываю фьюзы программатором, при этом не заливая код через ардуино иде, а они как былыи 0F так и остаются.

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

Roman2344 пишет:

Ну а когда я заливаю код через ардуино иде, потом через программатор ставлю 0C фьюзы защиты, и потом перезаливаю код через ардуино иде фьюзы потом считываю программатором они как были 0С так и остаются, а так как в этом файле меняю как писали выше в ардуино иде и перезаписываю загрузчик ардуино и сразу считываю фьюзы программатором, при этом не заливая код через ардуино иде, а они как былыи 0F так и остаются.

ты можешь внятно описать, что ты делаешь и зачем?

например:

1. ставлю фьюз такой-то и ожидаю, что произойдёт следующее.

2. ставлю фьюз такой-то и он меняется на... после того, как я сделал это...