Подскажите, пожалуйста, как отлаживать программу на LPC1820 в среде Keil.
1. В симуляторе
При запуске отладочной сессии счетчик команд указывает на нулевой адрес. Естественно, это неправильно, т.к. у LPC1820 ОЗУ из которого выполняется программа (один из блоков) находится по адресу 0x10000000. При попытке "шагнуть" выдает ошибку "error 65: access violation at 0xFFFFFFF4 : no 'write' permission".
В пакете LPC OpenWare нашел файл lpc18xx_debug_iram.ini следующего содержания:
Код
FUNC void Setup (unsigned int region) {
region &= 0xFF000000;
SP = _RDWORD(region); // Setup Stack Pointer
PC = _RDWORD(region + 4); // Setup Program Counter
_WDWORD(0xE000ED08, region); // Setup Vector Table Offset Register
}
LOAD %L INCREMENTAL
Setup(0x10000000); // Get ready to execute image in SRAM or whatever region it is in
g,main
и вставил его в поле "Initialization File".
При переходе в режим отладки выдается та же самая ошибка

.
Как это побороть?
2. В железе, отладчик J-Link (оригинал)
В том же пакете нашел аналогичный файл инициализации lpc18xx_debug_spiflash.ini. Как я понял он рассчитан на то, что код запишется отладчиком в SPI-Flash и будет считан оттуда при старте МК. Соответственно МК должен быть сконфигурирован для загрузки с SPIFI (это указано в файле). У меня плата сконфигурирована вроде бы для загрузки через USB (точнее не могу понять - корпус BGA и все внешние эл-ты 0403).
В связи с этим вопрос - можно ли при работе с отладчиком как-то писать код в ОЗУ МК (0x10000000) и исполнять оттуда?
Ну и факультативный вопрос - влияют ли установленные OTP-биты на процесс (и саму возможность) отладки через JTAG? В доках по этому поводу ничего не нашел. Если проглядел - ткните носом, плиз.