MicronSys 0 20 декабря, 2007 Опубликовано 20 декабря, 2007 · Жалоба Есть ли возможность провить fuse прямо с программы тут прикол в том что давичи я отдовал партию своих приборов и перед отдачей решил проверить не оставил ли я доступ к прошивке из 50 устройст 2 оказались полность с открытой прошивкой ( а она денег стоит ) так вот можна ли изменять fuse на лету или хотябы прочитать их конкретно интересуют Lock и BootLock Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vesago 0 20 декабря, 2007 Опубликовано 20 декабря, 2007 · Жалоба Никак нельзя. Вот по этому я и полюбил консольные программаторы. Прописал в батнике нужные фузы и только тискаешь на батник. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MicronSys 0 20 декабря, 2007 Опубликовано 20 декабря, 2007 · Жалоба Никак нельзя. Вот по этому я и полюбил консольные программаторы. Прописал в батнике нужные фузы и только тискаешь на батник. ВО БЛИН ПОПАЛ так можно и зароботка лишится Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vesago 0 20 декабря, 2007 Опубликовано 20 декабря, 2007 · Жалоба Я думаю, маловероятно, что юзер будет пытаться слить прошивку дабы клонировать железку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
visht 0 20 декабря, 2007 Опубликовано 20 декабря, 2007 · Жалоба ВО БЛИН ПОПАЛ так можно и зароботка лишится прочитать можно, в IAR в файле <intrinsics.h> есть функции, а где-то в этом форуме была подобная тема. Если не найдете попробую поискать в сохраненных. Пробовал читать, читалось :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vesago 0 20 декабря, 2007 Опубликовано 20 декабря, 2007 · Жалоба Гм, действительно. Век живи - век учись... #define _SPM_GET_LOCKBITS() \ __AddrToZByteToSPMCR_LPM((void __flash*)0x0001, 0x09) #define _SPM_GET_FUSEBITS() \ __AddrToZByteToSPMCR_LPM((void __flash*)0x0000, 0x09) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
arttab 0 21 декабря, 2007 Опубликовано 21 декабря, 2007 · Жалоба Насколько помню про самопрограммиравание AVR, то fuse можно изменить. Гляньте первоисточники. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MicronSys 0 21 декабря, 2007 Опубликовано 21 декабря, 2007 · Жалоба да это хорошо а можит кто то подскажит как это сделать в winavr Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
a123-flex 0 22 декабря, 2007 Опубликовано 22 декабря, 2007 · Жалоба прочитать можно, в IAR в файле <intrinsics.h> есть функции, а где-то в этом форуме была подобная тема. Если не найдете попробую поискать в сохраненных. Пробовал читать, читалось :) может подскажете еще форму для set_fuse_bits :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
man with no name 0 22 декабря, 2007 Опубликовано 22 декабря, 2007 · Жалоба см. avr/boot.h Там есть __boot_lock_bits_set Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость Цыкетчик 24 сентября, 2008 Опубликовано 24 сентября, 2008 · Жалоба может подскажете еще форму для 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-биты - разные вещи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость Цыкетчик 24 сентября, 2008 Опубликовано 24 сентября, 2008 · Жалоба Так что если Вы при прошивке девайса не запрограммировали LOCK-биты LB1 и LB2 и отдали девайс заказчику, то Ваша прога залочить сама себя от считывания программатором уже не сможет и заказчику ничто не помешает считать Вашу прошивку программатором Хотя можно сделать вот что. Прога при запуске считывает LOCK-биты LB1 и LB2. И если они не запрограммированы (не равны '0') стирают самую себя во FLASH. Поэтому если заказчик считает прошивку, то он увидет только $FFFF во всех ячейках Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
defunct 0 24 сентября, 2008 Опубликовано 24 сентября, 2008 · Жалоба Поскольку в системе команд AVR есть команды программирования (т.е. изменения с '1' на '0') LOCK-битов: BLB11,BLB10,BLB01,BLB00 защиты секции программы и секции загрузчика (но нет команд "разлочивания", т.е. изменения LOCK-битов с '0' на '1'). ..... Так что если Вы при прошивке девайса не запрограммировали LOCK-биты LB1 и LB2 и отдали девайс заказчику, то Ваша прога залочить сама себя от считывания программатором уже не сможет и заказчику ничто не помешает считать Вашу прошивку программатором Какая-то глобальная нестыковка получается. Есть команды залочивания, но почему-то нельзя ими пользователься. Уж будьте добры, лучше цитаты из ДШ приводите. ;> Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bill_vs 0 24 сентября, 2008 Опубликовано 24 сентября, 2008 · Жалоба Хотя можно сделать вот что. Прога при запуске считывает LOCK-биты LB1 и LB2. И если они не запрограммированы (не равны '0') стирают самую себя во FLASH. Поэтому если заказчик считает прошивку, то он увидет только $FFFF во всех ячейках Ну, стирать-то не обязательно. После прошивки должна следовать проверка функционирования изделия. Достаточно после анализа LOCK бит чем-нибудь этот факт проиндицировать и отказаться правильно работать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
defunct 0 24 сентября, 2008 Опубликовано 24 сентября, 2008 · Жалоба Ну, стирать-то не обязательно. После прошивки должна следовать проверка функционирования изделия. Достаточно после анализа LOCK бит чем-нибудь этот факт проиндицировать и отказаться правильно работать. вообще достаточно автоматизировать процесс прошивки. bat'ник которым фузы, локи, и бутлоадер прошиваются одновременно. И не тратить флеш память на код чтения локов в программе. Для бутлоадера каждое слово флеш критично. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться