Предыдущая Следующая

Отладчик ARM extended Debugger (AXD) или другой выполняющийся в хосте отладчик, «осведомленный» о наличии RealMonitor, может осуществлять связь с целевой системой, чтобы посылать команды и получить данные. Связь между хостом и целевой системой иллюстрируется схемой, приведенной на Рис. 24.1. Целевой компонент RealMonitor (RMTarget) обменивается информацией с хостовым компонентом (RMHost), используя отладочный канал связи (DCC), данные которого передаются через интерфейс JTAG.

В то время как выполняется пользовательское приложение, RMTarget, как правило, использует запросы IRQ, сгенерированные DCC. Это означает, что если пользовательское приложение также хочет использовать запросы IRQ, оно должно передать любые прерывания в RealMonitor через DCC.

Чтобы обеспечивать возможность отладки без остановок, встроенная логическая схема ICE-RT (ICE реального времени) генерирует исключительную ситуацию (ИС) аварийного прекращения работы выбора (команд) с упреждением, когда управление достигает точки останова, либо ИС аварийного прекращения выборки данных, когда достигается контрольная точка. Эти ИС обрабатываются обработчиками исключительных ситуаций RealMonitor, которые, используя отладчик, сообщают пользователю о вызвавших ИС случаях. Это позволяет пользовательскому приложению выполняться без остановки процессора. RealMonitor «полагает», что пользовательское приложение состоит из двух частей:

1. Приоритетное приложение, выполняющееся непрерывно, как правило, в режимах User, System или Supervisor.

' Под полу-хостингом здесь понимается взаимодействие кода, выполняющегося в целевой системе ARM, и отладчика ARM, выполняющегося в хосте. Примерами средств полу-хостинга являются: ввод с клавиатуры, вывод на экран и дисковый ввод/вывод. {Прим. авт.)

SWI (программное прерывание) Аварийное прекращение работы Неопределенная команда

Рис. 24.2. Диаграмма состояний RealMonitor

24.3. Порядок работы Real Monitor я 375

2. Фоновое приложение, содержащее обработчики ИС и прерываний, которые вызваны ИС, а также следующими событиями в пользовательской системе:

• запросы IRQ или FIQ;

• аварийные прекращения работы выбора с упреждением и выборки данных (Abort), вызванные пользовательским приоритетным приложением. Эти события указывают на ошибку в отлаживаемом приложении. В обоих случаях, хост уведомляется об ошибке, и пользовательское приложение останавливается;

• исключительная ситуация (Undefined), вызванная неопределенными командами в пользовательском приоритетном приложении. Это событие указывает на ошибку в отлаживаемом приложении. В этом случае, RealMonitor приостанавливает выполнение пользовательского приложения до тех пор, пока не получит из хоста пакет «Go» («Переход»), см. Рис. 24.2.

В случае возникновения одной из вышеперечисленных исключительных ситуаций, которые не обрабатываются пользовательским приложением, происходит следующее:


Предыдущая Следующая



НА ГЛАВНУЮ | ЧТО ТАКОЕ PIC ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz