реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> вопрос по fuse
MicronSys
сообщение Dec 20 2007, 11:50
Сообщение #1


Частый гость
**

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



Есть ли возможность провить fuse прямо с программы
тут прикол в том что давичи я отдовал партию своих приборов
и перед отдачей решил проверить не оставил ли я доступ к прошивке
из 50 устройст 2 оказались полность с открытой прошивкой ( а она денег стоит )

так вот можна ли изменять fuse на лету или хотябы прочитать их
конкретно интересуют Lock и BootLock help.gif
Go to the top of the page
 
+Quote Post
vesago
сообщение Dec 20 2007, 11:54
Сообщение #2


Тутэйшы
****

Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263



Никак нельзя. Вот по этому я и полюбил консольные программаторы. Прописал в батнике нужные фузы и только тискаешь на батник.
Go to the top of the page
 
+Quote Post
MicronSys
сообщение Dec 20 2007, 12:02
Сообщение #3


Частый гость
**

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



Цитата(vesago @ Dec 20 2007, 15:54) *
Никак нельзя. Вот по этому я и полюбил консольные программаторы. Прописал в батнике нужные фузы и только тискаешь на батник.


ВО БЛИН ПОПАЛ
так можно и зароботка лишится
Go to the top of the page
 
+Quote Post
vesago
сообщение Dec 20 2007, 12:15
Сообщение #4


Тутэйшы
****

Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263



Я думаю, маловероятно, что юзер будет пытаться слить прошивку дабы клонировать железку.
Go to the top of the page
 
+Quote Post
andrvisht
сообщение Dec 20 2007, 12:21
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 298
Регистрация: 29-08-05
Пользователь №: 8 064



Цитата(MicronSys @ Dec 20 2007, 16:02) *
ВО БЛИН ПОПАЛ
так можно и зароботка лишится

прочитать можно, в IAR в файле <intrinsics.h> есть функции, а где-то в этом форуме была подобная тема. Если не найдете попробую поискать в сохраненных. Пробовал читать, читалось smile.gif
Go to the top of the page
 
+Quote Post
vesago
сообщение Dec 20 2007, 15:03
Сообщение #6


Тутэйшы
****

Группа: Свой
Сообщений: 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)
Go to the top of the page
 
+Quote Post
arttab
сообщение Dec 21 2007, 01:04
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



Насколько помню про самопрограммиравание AVR, то fuse можно изменить. Гляньте первоисточники.


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
MicronSys
сообщение Dec 21 2007, 09:45
Сообщение #8


Частый гость
**

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



да это хорошо
а можит кто то подскажит как это сделать в winavr
Go to the top of the page
 
+Quote Post
a123-flex
сообщение Dec 22 2007, 20:17
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884



Цитата(&-rey @ Dec 20 2007, 15:21) *
прочитать можно, в IAR в файле <intrinsics.h> есть функции, а где-то в этом форуме была подобная тема. Если не найдете попробую поискать в сохраненных. Пробовал читать, читалось smile.gif



может подскажете еще форму для set_fuse_bits smile.gif


--------------------
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.
Go to the top of the page
 
+Quote Post
man with no name
сообщение Dec 22 2007, 21:13
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 158
Регистрация: 6-08-07
Из: Moscow
Пользователь №: 29 586



см. avr/boot.h Там есть __boot_lock_bits_set
Go to the top of the page
 
+Quote Post
Guest_Цыкетчик_*
сообщение Sep 24 2008, 10:02
Сообщение #11





Guests






Цитата(a123-flex @ Dec 23 2007, 00:17) *
может подскажете еще форму для set_fuse_bits smile.gif

Такой нет. И быть не иожет. По определению. Поскольку в системе команд AVR есть команды программирования (т.е. изменения с '1' на '0') LOCK-битов: BLB11,BLB10,BLB01,BLB00 защиты секции программы и секции загрузчика (но нет команд "разлочивания", т.е. изменения LOCK-битов с '0' на '1'). Также нет команд изменения FUSE-битов. Также нет команд программирования / стирания LOCK-битов защиты от "считывания/записи программатором": LB1,LB2. Так что если Вы при прошивке девайса не запрограммировали LOCK-биты LB1 и LB2 и отдали девайс заказчику, то Ваша прога залочить сама себя от считывания программатором уже не сможет и заказчику ничто не помешает считать Вашу прошивку программатором

P.S. Для тех кто не в курсе LOCK- и FUSE-биты - разные вещи.
Go to the top of the page
 
+Quote Post
Guest_Цыкетчик_*
сообщение Sep 24 2008, 13:39
Сообщение #12





Guests






Цитата(Цыкетчик @ Sep 24 2008, 14:02) *
Так что если Вы при прошивке девайса не запрограммировали LOCK-биты LB1 и LB2 и отдали девайс заказчику, то Ваша прога залочить сама себя от считывания программатором уже не сможет и заказчику ничто не помешает считать Вашу прошивку программатором

Хотя можно сделать вот что. Прога при запуске считывает LOCK-биты LB1 и LB2. И если они не запрограммированы (не равны '0') стирают самую себя во FLASH. Поэтому если заказчик считает прошивку, то он увидет только $FFFF во всех ячейках
Go to the top of the page
 
+Quote Post
defunct
сообщение Sep 24 2008, 13:59
Сообщение #13


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Цыкетчик @ Sep 24 2008, 13:02) *
Поскольку в системе команд AVR есть команды программирования (т.е. изменения с '1' на '0') LOCK-битов: BLB11,BLB10,BLB01,BLB00 защиты секции программы и секции загрузчика (но нет команд "разлочивания", т.е. изменения LOCK-битов с '0' на '1').


.....
Так что если Вы при прошивке девайса не запрограммировали LOCK-биты LB1 и LB2 и отдали девайс заказчику, то Ваша прога залочить сама себя от считывания программатором уже не сможет и заказчику ничто не помешает считать Вашу прошивку программатором

Какая-то глобальная нестыковка получается.
Есть команды залочивания, но почему-то нельзя ими пользователься.
Уж будьте добры, лучше цитаты из ДШ приводите. ;>
Go to the top of the page
 
+Quote Post
bill_vs
сообщение Sep 24 2008, 14:07
Сообщение #14


Участник
*

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



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

Ну, стирать-то не обязательно. После прошивки должна следовать проверка функционирования изделия. Достаточно после анализа LOCK бит чем-нибудь этот факт проиндицировать и отказаться правильно работать.
Go to the top of the page
 
+Quote Post
defunct
сообщение Sep 24 2008, 14:14
Сообщение #15


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(bill_vs @ Sep 24 2008, 17:07) *
Ну, стирать-то не обязательно. После прошивки должна следовать проверка функционирования изделия. Достаточно после анализа LOCK бит чем-нибудь этот факт проиндицировать и отказаться правильно работать.

вообще достаточно автоматизировать процесс прошивки.
bat'ник которым фузы, локи, и бутлоадер прошиваются одновременно.

И не тратить флеш память на код чтения локов в программе. Для бутлоадера каждое слово флеш критично.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 15:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01499 секунд с 7
ELECTRONIX ©2004-2016