RealMonitor объединяет в себе особенности и механизмы отладочного монитора и мульти-ICE. В частности, он содержит оба механизма связи мульти-ICE (DCC, использующий JTAG) и, подобно отладочному монитору, поддерживает сохранение и восстановление контекста процессора. RealMonitor предварительно программируется (размещается) во встроенной Flash-памяти (в загрузочном секторе). Когда он разрешен, пользователь может производить мониторинг и отладку, в то время как приложение продолжает выполняться.
24.2. Компоненты RealMonitor
Как можно видеть из Рис. 24.1, RealMonitor разбит на два функциональных компонента:
1. RMHost — этот компонент расположен между отладчиком и модулем JTAG. Входящий в состав RMHost контроллер (RealMonitor.dll) преобразует сигналы удаленного отладочного интерфейса (RDI) и запрашивает из отладчика через отладочный канал связи (DCC) сообщения RDI для модуля JTAG.
Для получения более подробной информации относительно отладки через хост приложений с интегрированным RealMonitor, рекомендуется обратиться к документу «ARM RMHost User Guide* (ARM DUI0137A).
2. RMTarget — этот компонент предварительно запрограммирован (размещен) во встроенной Flash-памяти (в загрузочном секторе) и выполняется в аппаратных средствах целевой системы. Он использует встроенную 1СЕ-логику и связывается с хостом через DCC.
Для получения более подробной информации относительно функциональных возможностей RMTarget, рекомендуется обратиться к документу «RealMonitor Target Integration Guide* (ARM DUI 0142A).
Целевая система
|
Отладчик |
|||
|
RDM .5.1 |
|||
|
RealMonitor.dll |
RMHost |
||
|
RD11.5.1 rt |
|||
| Модуль JTAG |
Передачи no DCC
|
Платай процессор |
через JTAG |
||
|
RMTarget |
|||
|
целевой системы |
Приложение |
||
Протокол RealMonitor
Рис. 24.1. Блок-схема, иллюстрирующая использование RealMonitor
24.3. Порядок работы Real Monitor
В общем случае, RealMonitor работает как конечный автомат, диаграмма состояний которого изображена на Рис. 24.2. RealMonitor переключает состояния выполнения/останова в ответ на пакеты, получаемые из хоста, или из-за асинхронных событий, происходящих в целевой системе. RMTarget поддерживает вызов только одной точки останова или сторожевой (контрольной) точки, производя останов или выполнение полу-хостинга1) SWI в тот же самый момент. Сохранение с последующим восстановлением контекста, при вложенных событиях, не поддерживаются. Так, например, если пользовательское приложение застопорилось в одной контрольной точке, а на другую контрольную точку управление было передано в обработчике запроса IRQ, то RealMonitor переходит в состояние «Паника» (см. Рис. 24.2). После перехода в это состояние никакая отладка выполняться не может.
| НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |