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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> разблокировка Code Protection через IAP, минимальные усилия
toweroff
сообщение Apr 21 2010, 07:25
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Есть устройство со связью с внешним миром через USB. Предполагается защищать содержимое флеши через CRP3.
Чтобы не городить огород с обновлением программы через канал передачи (в данном случае - USB), достаточно ли только во команде с РС стереть 0 сектор через IAP?
Конечно, программа станет нерабочей, но это неважно, главное - заработает JTAG, через него и зальется обновленный софт.
Если направление верное, то еще поврос такой - должен ли кусок кода, вызывающий функцию IAP, располагаться за пределами стираемого сектора? Ведь после стирания мне неважно правильное выполнение программы, главное, что содержимое по 0x1FC уничтожено
А если напрвление мысли неверное, то какое решение (максимально быстрое в плане выполнения) применимо в данном случае?
Спасибо!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 21 2010, 07:41
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(toweroff @ Apr 21 2010, 09:40) *
главное - заработает JTAG

Ну и разблокируйте JTAG прямо по команде без каких-то непонятных танцев с бубнами.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Nixon
сообщение Apr 21 2010, 07:54
Сообщение #3


Гуру
******

Группа: Админы
Сообщений: 2 736
Регистрация: 17-06-04
Из: Киев
Пользователь №: 48



Нулевой сектор не стирается из IAP. Читайте сноски к описанию команд IAP.


--------------------
Вам помочь или не мешать?
Go to the top of the page
 
+Quote Post
toweroff
сообщение Apr 21 2010, 08:03
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(zltigo @ Apr 21 2010, 11:56) *
Ну и разблокируйте JTAG прямо по команде без каких-то непонятных танцев с бубнами.

в этом случае ведь и чтение содержимого заработает? не совсем гуд, т.к. если кто-то случайно накопает подобную недокументированную (не для разработчиков) фичу, то прошивка сольется совершенно безболезненно sad.gif
а вот на будущее - подскажите, как это делается? может, есть смысл "закопать" окончательное включение JTAG через последовательность вызовов неких команд, чтобы не одной командой обойтись, а несколькими в определенногй последовательности, что, несомненно, резко уменьшит возможность случайной разблокировки

Цитата(Nixon @ Apr 21 2010, 12:09) *
Нулевой сектор не стирается из IAP. Читайте сноски к описанию команд IAP.

а ведь точно sad.gif
Цитата
This command is used to erase a sector or multiple sectors of on-chip Flash
memory. The boot sector can not be erased by this command. To erase a single
sector use the same "Start" and "End" sector numbers.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 21 2010, 08:20
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(toweroff @ Apr 21 2010, 11:18) *
а ведь точно sad.gif

Нулевой сектор и bootsector совершенно разные вещи. Хотя нулевой и мапируется при работе на место boot. Короче, стирайте вообще всю Flash и не морочте голову.
Цитата(toweroff @ Apr 21 2010, 10:40) *
должен ли кусок кода, вызывающий функцию IAP

Какая разница IAP-у откуда он вызван будет.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Nixon
сообщение Apr 21 2010, 08:34
Сообщение #6


Гуру
******

Группа: Админы
Сообщений: 2 736
Регистрация: 17-06-04
Из: Киев
Пользователь №: 48



2 zltigo - действительно возможно стереть всю флешь из IAP? Буквально на днях, из-за отсутствия на ноуте СОМ-порта пытался стереть залоченный по CRP2 бутлоадер 2366 через юзерскую прошивку стирающую два сектора бутлоадера. Неудалось.
P.S. Правильно ли я понимаю, что сначала нужно правильно отремапить, а затем стирать нужный сектор?


--------------------
Вам помочь или не мешать?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 21 2010, 08:44
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Nixon @ Apr 21 2010, 11:49) *
2 zltigo - действительно возможно стереть всю флешь из IAP?

Да именно так и без всяких проблем.
Цитата
Буквально на днях, из-за отсутствия на ноуте СОМ-порта пытался стереть залоченный по CRP2 бутлоадер 2366 через юзерскую прошивку стирающую два сектора бутлоадера. Неудалось.

Правильно не удалось - при CRP2 возможно только стирание всей Flash зараз. Документировано.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Apr 21 2010, 08:58
Сообщение #8


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

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Цитата
должен ли кусок кода, вызывающий функцию IAP, располагаться за пределами стираемого сектора?


Если Вам не важно, что будет делать контроллер после стирания - не должен.
Стирает-то IAP, он в отдельном секторе лежит. Ну а то, что потом он передаст управление на FF - это мелкий побочный эффект smile.gif

На остальное вроде б ответили.


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
toweroff
сообщение Apr 21 2010, 09:07
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(esaulenka @ Apr 21 2010, 13:13) *
Если Вам не важно, что будет делать контроллер после стирания - не должен.
Стирает-то IAP, он в отдельном секторе лежит. Ну а то, что потом он передаст управление на FF - это мелкий побочный эффект smile.gif

На остальное вроде б ответили.

спасибо

Цитата(zltigo)
возможно только стирание всей Flash зараз

т.е. команда Erase Sectors со всем диапазоном секторов flash кристалла?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 21 2010, 09:11
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(toweroff @ Apr 21 2010, 12:22) *
т.е. команда Erase Sectors со всем диапазоном секторов flash кристалла?

Да.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
toweroff
сообщение Apr 21 2010, 09:16
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Всем большое спасибо, пойду тестить...
Кстати, а как все-таки включить JTAG? камень LPC2468
Go to the top of the page
 
+Quote Post
Nixon
сообщение Apr 21 2010, 12:48
Сообщение #12


Гуру
******

Группа: Админы
Сообщений: 2 736
Регистрация: 17-06-04
Из: Киев
Пользователь №: 48



Цитата(zltigo @ Apr 21 2010, 11:59) *
Правильно не удалось - при CRP2 возможно только стирание всей Flash зараз. Документировано.

При CRP2 стирание всей флеши только через ISP. Для IAP нет разницы сколько секторов стирать.


--------------------
Вам помочь или не мешать?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 21 2010, 12:50
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Nixon @ Apr 21 2010, 16:03) *
Для IAP нет разницы сколько секторов стирать.

Или да, или нет. Лично я стираю всю и... получается. Впрочем, как и перезапись отдельных секторов за пределами нулевого.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Nixon
сообщение Apr 21 2010, 12:58
Сообщение #14


Гуру
******

Группа: Админы
Сообщений: 2 736
Регистрация: 17-06-04
Из: Киев
Пользователь №: 48



Именно да. У меня загрузчик залочен по CRP2 и стирает через IAP только пользовательскую флешь, не трогая себя.
Вопрос топика можно свести к следущему - как стереть 0-сектор из IAP?


--------------------
Вам помочь или не мешать?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 21 2010, 13:00
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Nixon @ Apr 21 2010, 16:13) *
Вопрос топика можно свести к следущему - как стереть 0-сектор из IAP?

Так вроде и ответ давал - вместе со всей Flash.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

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

 


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


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