Цитата(TMX @ Mar 25 2006, 20:24)

В сущности, куда записывать, чтобы программа вылетела по Prefetch Abort?
На сколько я понимаю, исключение Prefetch Abort генерируется только в случае, если производитель процессора с ядром ARM использовал сигнал ABORT:
Цитата
An abort indicates that the current memory access cannot be completed. It is signaled
by the external ABORT input. The ARM7TDMI-S checks for the abort exception at the
end of memory access cycles.
Иными словами, если контроллер памяти не дает сигнала ABORT, то пишите - не пишите, а исключения не получите.
Цитата(zltigo @ Mar 25 2006, 20:43)

Цитата(makc @ Mar 25 2006, 19:37)

Тут ясно написано, что для программирования EmbeddedICE-RT используется TAP. Т.е. из самого отлаживаемого ядра процессора добраться до требуемых регистров EmbeddedICE не получится. Или я чего-то не понимаю?
Я уже объяснил, что ввело меня в заблуждение :-(
Извиняюсь, пока я тут писал свой ответ, Вы успели ответить раньше.

Цитата(psL @ Mar 25 2006, 20:43)

обычно брекпоинт в мониторных системах представляет собой програмное прерывание - ловушку, по которому программа вываливается в отладчик, т.е. код операции пользовательской программы меняется на програмное прерывание, а сам код запоминается в некоторой структре. Вываливаемся в отладчик->смотрим что нужно->выполняем замещенный код->продолжаем выполнение программы.
Если я правильно понял задачу, в Вашем случае можно перед каждой интерпретируемой командой поставить ловушку, в обработчике которой анализировать признак выполнения по шагам.
А что делать если код исполняется из FLASH? Его модифицировать "на лету" не получится. К тому же я слабо себе представлю, как будет работать такая подмена в случае конвейера ядра ARM. Ведь возврат будет происходить не на подмененную инструкцию, а на следующую за ней. Т.е. при подмене обработчик исключения должен будет обработать подмененную команду самостоятельно, а если она работает с памятью по относительному смещению (такое, кстати, бывает довольно часто)?