|
вопрос по fuse |
|
|
|
Dec 20 2007, 11:50
|

Частый гость
 
Группа: Участник
Сообщений: 106
Регистрация: 12-05-05
Пользователь №: 4 946

|
Есть ли возможность провить fuse прямо с программы тут прикол в том что давичи я отдовал партию своих приборов и перед отдачей решил проверить не оставил ли я доступ к прошивке из 50 устройст 2 оказались полность с открытой прошивкой ( а она денег стоит ) так вот можна ли изменять fuse на лету или хотябы прочитать их конкретно интересуют Lock и BootLock
|
|
|
|
|
Dec 20 2007, 12:02
|

Частый гость
 
Группа: Участник
Сообщений: 106
Регистрация: 12-05-05
Пользователь №: 4 946

|
Цитата(vesago @ Dec 20 2007, 15:54)  Никак нельзя. Вот по этому я и полюбил консольные программаторы. Прописал в батнике нужные фузы и только тискаешь на батник. ВО БЛИН ПОПАЛ так можно и зароботка лишится
|
|
|
|
|
Dec 20 2007, 15:03
|
Тутэйшы
   
Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263

|
Гм, действительно. Век живи - век учись... Код #define _SPM_GET_LOCKBITS() \ __AddrToZByteToSPMCR_LPM((void __flash*)0x0001, 0x09)
#define _SPM_GET_FUSEBITS() \ __AddrToZByteToSPMCR_LPM((void __flash*)0x0000, 0x09)
|
|
|
|
Guest_Цыкетчик_*
|
Sep 24 2008, 10:02
|
Guests

|
Цитата(a123-flex @ Dec 23 2007, 00:17)  может подскажете еще форму для set_fuse_bits  Такой нет. И быть не иожет. По определению. Поскольку в системе команд AVR есть команды программирования (т.е. изменения с '1' на '0') LOCK-битов: BLB11,BLB10,BLB01,BLB00 защиты секции программы и секции загрузчика (но нет команд "разлочивания", т.е. изменения LOCK-битов с '0' на '1'). Также нет команд изменения FUSE-битов. Также нет команд программирования / стирания LOCK-битов защиты от "считывания/записи программатором": LB1,LB2. Так что если Вы при прошивке девайса не запрограммировали LOCK-биты LB1 и LB2 и отдали девайс заказчику, то Ваша прога залочить сама себя от считывания программатором уже не сможет и заказчику ничто не помешает считать Вашу прошивку программатором P.S. Для тех кто не в курсе LOCK- и FUSE-биты - разные вещи.
|
|
|
|
Guest_Цыкетчик_*
|
Sep 24 2008, 13:39
|
Guests

|
Цитата(Цыкетчик @ Sep 24 2008, 14:02)  Так что если Вы при прошивке девайса не запрограммировали LOCK-биты LB1 и LB2 и отдали девайс заказчику, то Ваша прога залочить сама себя от считывания программатором уже не сможет и заказчику ничто не помешает считать Вашу прошивку программатором Хотя можно сделать вот что. Прога при запуске считывает LOCK-биты LB1 и LB2. И если они не запрограммированы (не равны '0') стирают самую себя во FLASH. Поэтому если заказчик считает прошивку, то он увидет только $FFFF во всех ячейках
|
|
|
|
|
Sep 24 2008, 14:07
|
Участник

Группа: Участник
Сообщений: 50
Регистрация: 16-04-05
Из: СПб
Пользователь №: 4 208

|
Цитата(Цыкетчик @ Sep 24 2008, 17:39)  Хотя можно сделать вот что. Прога при запуске считывает LOCK-биты LB1 и LB2. И если они не запрограммированы (не равны '0') стирают самую себя во FLASH. Поэтому если заказчик считает прошивку, то он увидет только $FFFF во всех ячейках Ну, стирать-то не обязательно. После прошивки должна следовать проверка функционирования изделия. Достаточно после анализа LOCK бит чем-нибудь этот факт проиндицировать и отказаться правильно работать.
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|