Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Защита
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
toweroff
Прописал magic значение по даташитовскому адресу, все в порядке, JTAG отключается, код не читается... но!
Хотелось бы, в случае необходимости, все-таки включить JTAG через IAP
Прошу совета, как это можно сделать? камень LPC2103 (и по всей линейке 2000 - как будет разниться процедура? ну это на будущее)
Dron_Gus
Перешить соответствующий сектор без этого значения, перезапустить?
toweroff
Цитата(toweroff @ Jul 21 2009, 22:14) *
Прописал magic значение по даташитовскому адресу, все в порядке, JTAG отключается, код не читается... но!
Хотелось бы, в случае необходимости, все-таки включить JTAG через IAP
Прошу совета, как это можно сделать? камень LPC2103 (и по всей линейке 2000 - как будет разниться процедура? ну это на будущее)


а если RAM загружена, нет возможности "на лету" это сделать? Сектор-то куда-то копировать надо, да и код в секторе может выполняться...
KRS
А зачем через IAP?
вот в старых версиях чипов (2129 например) надо было только в PINSEL JTAG включить.
в 2103 другой регистр, он вроде не документирован, но можно покопаться в бутлоадере он первым делом отключает JTAG. И скорее всего его можно таким же способом и включить!
Потому что бутлоадер, насколько я помню, сразу выключает JTAG, а потом уже считывает код из флеша и если защиты нет - включает jtag обратно (так покрайней мере было в старых чипах).
zltigo
Цитата(toweroff @ Jul 21 2009, 21:14) *
Прошу совета, как это можно сделать?

Просто выбрать через PINSEL соответствующее назначение выводов.


Цитата(KRS @ Jul 21 2009, 23:35) *
в 2103 другой регистр, он вроде не документирован...

Документирован. Правда для младших моделей в реале не проверял. Старшие - работают.
toweroff
Ok, спасибо! Будем попробовать
meister
Цитата(toweroff @ Jul 21 2009, 23:33) *
а если RAM загружена, нет возможности "на лету" это сделать? Сектор-то куда-то копировать надо, да и код в секторе может выполняться...


Ничего не изменится, если 0xFF во флэш писать. Задумайтесь.
esaulenka
Забавно smile.gif
Как раз этим вопросом озадачился час назад.

Итог - защита победила, пришлось делать отладочные спец-прошивки.

Дано: LPC2138, Mt-Link, Segger RDI, Keil.

Моё видение процесса:
Мт-линк перезагружает контроллер.
Бут видит magic, отключает джитаг.
Основная программа пишет 0x04 в PINSEL2 - включает джитаг обратно.
Однако процесс этот идёт неспешно, и мт-линк успевает убедиться, что джитаг отключен.

Хм... Мысль: в настройках RDI есть некий macro file. Надо будет на досуге посмотреть...


PS
Цитата(meister @ Jul 22 2009, 10:52) *
Ничего не изменится, если 0xFF во флэш писать. Задумайтесь.

Для LPC'шек это верно? Там ведь только блоками можно писать, и никто не говорит, не пишутся ли там какие-нибудь контрольные суммы.
meister
Цитата(esaulenka @ Jul 22 2009, 18:00) *
Для LPC'шек это верно? Там ведь только блоками можно писать, и никто не говорит, не пишутся ли там какие-нибудь контрольные суммы.


Похоже, поторопился %) ECC там пишется. Значит, надо в саппорте спросить, можно ли дважды по одному месту писать.
HARMHARM
Цитата(meister @ Jul 22 2009, 17:34) *
Похоже, поторопился %) ECC там пишется. Значит, надо в саппорте спросить, можно ли дважды по одному месту писать.

Уже обсуждалось. Вроде как нельзя.
defunct
Цитата(HARMHARM @ Jul 22 2009, 19:34) *
Уже обсуждалось. Вроде как нельзя.

Все-таки по части IAP LPC - чертовски скуден, в сравнении с Atmel'ом.
также как и по части секюрности (и отключения JTAG'а вчастности). sad.gif
HARMHARM
Цитата(defunct @ Jul 23 2009, 03:09) *
Все-таки по части IAP LPC - чертовски скуден, в сравнении с Atmel'ом.
также как и по части секюрности (и отключения JTAG'а вчастности). sad.gif

Это правда. Я с MSP430 переходил, тоже неуютно было.
Потом ничего, привык. Флеша много, это главное.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.