Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Еще раз защита от копирования
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
cheburator
Пытаюсь проверить защиту от копирования LPC2103. По описанию по адресу 0x1fc надо записать 0x87654321.
В мас файле записано следующее
execUserPreload()
{
//Reset();

//Remap_FLASH();
__writeMemory32(0x0000001, 0xFFFF0220, "Memory"); // MEMMAP = 1;
__writeMemory32(0x87654321, 0x000001fc, "Memory");
}
Подскажите где я ошибся.
KRS
Так это же надо во флеш записать, а не в RAM и тогда после ресета botloader быстренько отключит JTAG и если вы его принудительно не включите...
cheburator
Цитата(KRS @ Apr 15 2008, 13:27) *
Так это же надо во флеш записать, а не в RAM и тогда после ресета botloader быстренько отключит JTAG и если вы его принудительно не включите...

Если не сложно можно пример для идиотов.)
KRS
у меня для 4.xx IAR было сделано (свой стартап) было сделано так
Код
в стартапе
#ifdef FIRMWARE_PROTECT
        RSEG PROTECT:CODE:ROOT(2)
      dc32 0x87654321
#endif
в xcl
-Z(CODE)PROTECT=001FC-001FF

но тут надо учитывать этот адрес очень неудачно расположен. (образуется дырка между весторами прерываний и основной массой флеша. ) если влезет там можно расположить обработчик FIQ или .... а можно и пустым оставить.
GetSmart
А у меня было так: (в файле main.c)
Код
#pragma location=0x1FC                            /* защита от копирования */
const long CodeSecure = 0x87654321;
#pragma required = CodeSecure
cheburator
Цитата(GetSmart @ Apr 15 2008, 13:56) *
А у меня было так: (в файле main.c)
Код
#pragma location=0x1FC                            /* защита от копирования */
const long CodeSecure = 0x87654321;
#pragma required = CodeSecure


Спасибо получилось.
Теперь выясняю как стереть?)блин
GetSmart
Стереть - только через BootLoader smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.