Поиск по сайту: |
|
По базе: |
|
Главная страница > Обзоры по типам > Микроконтроллеры > MAXQ |
|
|||||||||||||||||||||||||||||||||||||||||||||
Использование контрольных точекВсе регистры контрольных точек (BP0-BP5) при сбросе при включении питания и при входе автомата ТАР в состояние Test-Logic-Reset по умолчанию имеют значение FFFFh. Регистры контрольных точек доступны только фоновым командам чтения/записи, передаваемым по линии связи ТАР. Вычислительному ядру регистры контрольных точек для чтения/записи не доступны. Установка бита Debug Mode Enable (DME) в регистре ICDC в логическую 1 активизирует все шесть регистров контрольных точек для проверки соответствия. Состояние бита Break-On Register Enable (REGE) регистра ICDC определяет, должны ли контрольные точки BP4 и BP5 использоваться как контрольные точки адресов памяти данных (REGE = 0) или как контрольные точки регистров (REGE = 1). При использовании контрольных точек регистров важно понять, что действия режима Отладки (например, чтение памяти данных, запись в память данных и т.д.) требует использования ICDA и ICDD для того, чтобы передать из информации между хостом и подпрограммами ПЗУ микроконтроллера MAXQ. Это означает, что, если регистры контрольных точек должны остаться активными, то их содержимое должно быть сохранено и восстановлено перед возвращением в фоновый режим. При достижении контрольной точки автомат отладчика останавливает выполнение прикладной программы и микроконтроллер MAXQ переводится в режим отладки. Если достижение контрольной точки происходит на команде, которая активирует регистр PFX, то останов откладывается до окончания выполнения префиксной операции. Хост может обнаружить переход в режим отладки путем отслеживания битов состояния 10- битного слова, сформированного на выводе TDO. При переходе в режим отладки биты состояния изменятся из состояния Non-Debug (00b), ассоциируемое с фоновым режимом, в состояние Debug-Idle (01b). Также режим отладки может быть вручную инициализирован хостом путем формирования фоновой команды 'Debug'. Режим отладки Есть два способа входа в режим отладки из фонового режима:
Хост может передать автомату отладчика фоновую команду Debug. Этот прямой вход в режим отладки является не детерминированным. Время реакции зависит от занятости системы при передаче команды. Автомат контрольных точек обеспечивает более управляемую реакцию, но требует предварительной настройки контрольных точек в фоновом режиме. Не зависимо от того, как был осуществлен переход в режим отладки, автомат отладчика берет вычислительное ядро под свой контроль. Вход в режим отладки подобен прерыванию, за исключением того, что переход осуществляется по адресу x8010h, который постоянно хранится в сервисном ПЗУ, вместо адреса, указанного в регистре IV, который используется при прерывании. При входе в режим отладки выполняются следующие действия:
После входа в режим отладки команда хоста Debug и прохождения через контрольные точки никак не отрабатываются, что позволяет не нарушать режим автомата отладчика. Также при входе в режим отладки прекращается синхронизация всех таймеров, включая и сторожевой таймер. Временно выведение из строя этих функций позволяет работать в режиме отладки без потери зависимости между оригинальным кодом прикладной программы и аппаратными функциями формирования временных интервалов. Никакие прерывания не обслуживаются, так как автомат отладчика установил бит IGE = 0. Команды режима отладки Автомат отладчика биты состояния регистра сдвига данных в состояние 01b (Debug-Idle), что указывает на то, что он готов принять команды отладки от хоста. В режиме отладки хост может выполнить следующие действия:
Только операции непосредственно управляемые автоматом отладчика инициализируют один шаг и возврат. Все остальные действия обслуживаются подпрограммами, хранящимися в сервисном ПЗУ. Эти действия требуют, чтобы несколько байтов были переданы или получены хостом, однако любое действие всегда начинается с передачи хостом байта команды. Этот байт команды декодируются автоматом отладчика для определения величины, последовательности и адреса для последующих байтов, полученных от хоста. несмотря на то, что нет никакого временного ограничения на передачу данных и команды, автомат отладчика все равно должен принять правильное количество байтов перед выполнением той или иной команды. Если нарушилась последовательность передачи данных и команды, то имеется только один путь продолжения работы: изменение регистра команд (IR2:0) и перезагрузка команды Debug. После принятия команды и вспомогательных данных автомат отладчика начинает выполнять следующие действия:
Код ПЗУ выполняет чтение битов CMD3:0 регистра ICDC для определения того, какое действие необходимо выполнить. Некоторые команды могут быть обработаны ПЗУ без принятия данных от хоста, в то время как другие (например, Unlock Password), требуют передачи хостом дополнительных данных. Некоторые команды должны передать хосту только информацию об окончании выполнения, а другие (например, Read register map) - должны передать несколько байтов данных. Для контроля потока передаваемых данных хост должен использовать биты состояния, чтобы определить, когда ПЗУ готово принять дополнительные данные, или когда оно осуществляет передачу данных. Прикладная программа сервисного ПЗУ определяет когда новые данные доступны или когда она может передавать следующие данные, производя анализ состояния флага TXC. Флаг TXC - важный индикатор между автоматом отладчика и прикладной программой сервисного ПЗУ. Прикладная программа сервисного ПЗУ устанавливает флаг TXC в 1 для того, чтобы указать, что в регистр ICDB были загружены достоверные данные. Автомат отладчика сбрасывает флаг TXC в 0 для того, чтобы указать на завершение цикла сдвига данных, разрешая, таким образом, ПЗУ продолжить выполнение текущей операции. Сервисное ПЗУ сигнализирует об окончании выполнения текущей задачи путем установки в логическую 1 бита ROM Operation Done (ROD) регистра SC. Бит ROD сбрасывается автоматом отладчика после его распознавания. В таблице 24 приведены команды режима отладки, поддерживаемые микроконтроллерами семейства MAXQ. Обратите внимание, что команды фонового режима поддерживаются и в режиме отладки, однако описание этих команд приводилось ранее. Коды, не приведенные в данной таблице, не поддерживаются в режиме отладки и обрабатываются как пустая команда. Таблица 24. Команды режима отладки
Взаимодействие при выполнении команды Read Register Map Команда read register map считывает данные, содержащиеся во всех внутренних системных и периферийных регистрах. Хост не задает адрес считываемого регистра, а получает данные, содержащиеся во всех регистрах, начиная с модуля 0. Данные загружаются ПЗУ в 8- битный регистр ICDB и смещаются на выход при каждом трансфертном цикле. Таким образом, для выгрузки данных из 16- битного регистра требуется два трансфертных цикла. Для смещения одного байта данных хост инициализирует каждый трансфертный цикл и считывает данные после правильной установки данных, определяя это состояние по установке в битах состояния значения 11b. В конце каждого трансфертного цикла, автомат отладчика сбрасывает флаг TXC, что позволяет подпрограмме сервисного ПЗУ определить момент, когда необходимо загружать следующий байт в регистр ICDB. После загрузки данных в регистр ICDB ПЗУ устанавливает флаг TXC. Этот процесс повторяется до тех пор, пока содержимое всех регистров не будет выгружена хосту. Окончание передачи хост определяет по битам состояния, в которых устанавливается значение, соответствующее состоянию Debug-Idle. Это указывает, что автомат отладчика готов к работе в другом режиме. Работа в пошаговом режиме (трассировка) Автомат отладчика поддерживает работу в пошаговом режиме, в котором хост отслеживает выполнение каждой команды. Автомат отладчика позволяет вычислительному ядру вернуться в нормальный режим для выполнения одной команды, после чего обеспечивается возврат в режим отладки:
Обратите внимание, что режим трассировки использует возвращенный из стека адрес как адрес команды для выполнения. В процессе отладки хост должен поддерживать целостность программы. Указатель команд перед возвращением управления автомату отладчика автоматически увеличивается после каждого выполнения команды трассировки. Также, обратите внимание, что подпрограмма обработки прерывания может обслужить отложенное прерывание, произошедшее при нахождении микроконтроллера в режиме отладки. Возврат Чтобы выйти из режима отладки и вернуть автомат отладчика в фоновый режим, хост должен передать автомату отладчика команду Return. Эта команда вызывает выполнение следующей последовательности действий:
Для того, чтобы предотвратить возможное бесконечное отслеживание контрольной точки, выход из режима отладки осуществляется по адресу, следующему за адресом команды, из которой произошел переход в режим отладки. Возвращение в фоновый режим также активизирует синхронизацию всех внутренних таймеров. Особые замечания о режиме отладки Ниже приведены особые замечания при использовании режима отладки.
Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|