Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Защита CRP на LPC2367 = fault
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Metallist64
Добрый день уважаемые специалисты!
Понадобилось установить защиту от копирования прошивки.
Почитав форум нашел как записать по адресу 0x1fc нужное значение.
Но вот незадача, микроконтроллер перестает работать напрочь.
Т.к. J-TAG отключен, а ISP программатора нет, то проц фактически недоступен.
В микроконтроллере написан свой бут. Он используется для обновления прошивки.
Бут лежит в 0-ом секторе. Как раз, в том же секторе и лежит нужное значение CRP по адресу 0x1fc.

Пишу в буте следующую строку:
CODE
unsigned int const CRP2 __attribute__((at(0x1FC))) = 0x87654321;

После компиляции и заливки программа перестает работать. Т.е. бут не запускается...

Может кто сталкивался? Прошу помощи.

С уважение Владимир.
kovigor
Цитата(Metallist64 @ Dec 20 2012, 12:42) *
Может кто сталкивался? Прошу помощи.

Например, у LPC214x загрузчик в таком случае можно запустить, замкнув ножку P0.14 на землю и включив питание. После чего МК можно перешить с помощью Flash Magic. Как в вашем МК запустить загрузчик ? Поищите в User Manual (и не только). Вообще, изучите внимательно все, что касается CRP, и поищите апп. ноут на эту тему на сайте NXP (для LPС214x такой апп. ноут существует) ...
esaulenka
1) предлагаю прочитать раздел user manual "flash memory programming"
2) сейчас камень можно оживить, прижав P2.10 к земле в момент старта, и очистив всю память через flash magic (uart0 наружу есть?).
3) дальнейшие эксперименты предлагаю выполнять с кодом
unsigned int const CRP2 __attribute__((at(0x1FC))) = 0;
- при левых значениях этой константы JTAG не отключается.
Убедившись, что всё работает, можно включить запрет штатного загрузчика (и JTAG'а).
Metallist64
Большое спасибо, с нестандартным значением обязательно попробую.
Да, раздел `Flash memory programming` надо изучить. Не обратил на него внимания.
toweroff
bb-offtopic.gif Кстати, про "левые" значения CRP
То есть, стерев определенную область УФ в кристалле, получим "левое" значение и вуаля? проц можно считать?
или расположение 0-го сектора на кристалле где-нибудь глубже?
Просто непонятно, чем CRP тогда отличается от банального и вскрываемого "Security Bit"
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.