3.4.5. Средства визуализации
(Руководство разработчика по микроконтроллерам семейства HCS08)При работе в режиме симулятора программа отладчика True-Time Simulator & Real-Time Debugger предоставляет дополнительные возможности, к которым относится компонент Visualisation Tool. Он позволяет создавать виртуальные компоненты и с их помощью имитировать в процессе отладки такие внешние устройства, как кнопки, светодиоды и т.д.
Для демонстрации некоторых возможностей средств визуализации подключим к нашей сессии симулятора виртуальный светодиод. Для этого необходимо выбрать пункт меню Component > Open.
Рис.3.25. Окно компонентов.
Откроется окно компонентов (Рис.3.25). В списке необходимо выбрать элемент VisualizationTool. Откроется окно, представленное на Рис.3.26,а.
Рис.3.26,а. Основное окно компонента VisualizationTool.
Изначально окно VisualizationTool открывается в режиме редактирования. Об этом свидетельствует надпись edit mode в верхнем левом углу окна. В данном режиме можно добавлять новые приборы, редактировать свойства уже существующих, а также настраивать сам компонент VisualizationTool. В составе VisualizationTool существует большое количество виртуальных приборов, которые можно «подключить к МК» для визуализации процесса отладки.
Чтобы добавить светодиод, необходимо кликнуть правой кнопкой мыши по рабочему полю и выбрать пункт контекстного меню Add New Instrument > LED. На рабочей области появится светодиод. Светодиод можно перемещать по полю, также можно изменять его размеры. Далее следует два раза кликнуть по компоненту левой клавишей мыши или правой клавишей мыши открыть контекстное меню и выбрать пункт Propertes. Откроется окно, показанное на Рис.3.26, б.
Рис.3.26,б. Окно свойств виртуального светодиода.
В данном окне следует «подключить» светодиод к симулируемому МК, т.е. назначить порт, к которому он будет подключен. Для этого в поле свойства Port to Display установите значение _PTBD, а номер бита в свойстве Bitnumber to display сделайте равным 6. Также в окне свойств можно указать его цвет и иные настройки внешнего вида.
Далее необходимо настроить свойства приложения VisualizationTool. Кликните правой кнопкой мыши на рабочем поле и выберите пункт меню Properties. Откроется окно с настройками VisualizationTool. В этом окне необходимо изменить режим работы refresh mode на Periodical и период обновления Refresh Time установить в 1. Это заставит данные обновляться с интервалом в 100 мс.
Рис.3.27. Окно компонента VisualizationTool с «подключенным» виртуальным светодиодом.
После конфигурирования компонента VisualizationTool, в контекстном меню рабочего поля можно переключить режим с edit mode на display mode. Теперь можно запустить программу на исполнение (например, нажав клавишу F5). Вы увидите мигающий светодиод.
Созданные образы визуализации с их «подключениями» к МК можно сохранить на диске, нажав CTRL+S или воспользовавшись кнопкой на панели инструментов окна VisualizationTool.
3.5. Основные возможности отладки проектов на реальном МК
Ранее было отмечено, что МК семейства HCS08 обладают современными встроенными аппаратными средствами отладки. В данном разделе мы рассмотрим основы работы с программой отладчика (а не программного симулятора) для МК семейства HCS08.
Для начала сессии аппаратной отладки к компьютеру необходимо подключить целевое устройство с адаптером BDM. Наиболее вероятно, что вы будете использовать адаптер USB_BDM Multilink или плату с испытуемым МК, на которой также смонтирован интерфейс USB_BDM Multilink. Далее следует либо изменить опцию средства отладки в главном окне проекта (Рис.3.9), выбрав P&E Multilink/Cyclone PRO. Если вы используете плату от компании Softec, то выберите опцию Softec HCS08.
Выполните снова операцию построения проекта (нажмите на кнопку Debug). Откроется программа отладки, интерфейс пользователя которой полностью совпадает с интерфейсом пользователя программы симулятора. Однако для последующей работы необходимо установить соединение с МК, который подлежит программированию и отладке. Это действие реализуется с использованием окна PEMICRO Connection Assistan (Рис.3.28,а). Если вы используете программатор Softec inDART-HCS08, то увидите окно Target Connection (Рис.3.28,б). Обладателям Softec inDART-HCS08 также необходимо выбрать модель устройства (Рис.3.28,б).
Рис.3.28,а. Окно PEMICRO Connection Assistan.
Рис.3.28,б. Окно Target Connection.
После нажатия на кнопку Connect компьютер установит связь с МК и будет производить запись программного кода в энергонезависимую флэш-память. Кнопка Hotsync используется для связи с МК без перезаписи кода программы. Это полезно для отладки программы, которая уже записана в памяти МК.
Обладатели USB_ BDM Multilink или Cyclone Pro после нажатия кнопки Connect увидят еще одно окно с запросом о необходимости перепрограммирования флэш-памяти МК (Рис.3.29). Если вы выберите Yes, то сначала будет выполнена операция стирания для всей области памяти МК, а затем память заполнится новым кодом. Если же вы выберите No, то МК просто перезагрузится и начнется сессия отладки ранее занесенного в память программного кода.
Рис.3.29. Окно программатора для USB_ BDM Multilink.
На Рис.3.30,а показано окно процесса записи кода программы в память МК MC9S08QG8. После полной загрузки программы во флэш-память МК это окно выглядит, как показано на Рис.3.30,б.
Рис.3.30,а. Окно наблюдения за процессом программирования.
Рис.3.30,б. Окно Command отладчика с записью об успешном программировании.
После успешной загрузки кода в резидентное ПЗУ МК процесс отладки протекает точно так же, как и при симуляции. Отладчик среды ИСР CodeWarrior обладает тем же интерфейсом пользователя, что и симулятор. Те же действия необходимо совершить, чтобы запустить программу на исполнение, остановить программу и просмотреть содержимое регистров, переменных и памяти.
Используя режим периодического обновления, можно наблюдать за изменением значений переменных «на лету», т.е. во время исполнения программы микроконтроллером. Также в режиме реального времени можно изменять переменные, выбрав интересующую переменную в списке окна Data или в окне Memory, поменять ее и затем нажать на кнопку ENTER.
Учтите, что после сброса МК окно исходного кода Source показывает не оригинальный код (т.е. тот, который вы написали), а немного дополненный. Добавлен код запуска, созданный автоматически. Минимальная версия этого кода должна проинициализировать указатель стека.
Рис.3.31. Окно Source отладчика с кодом запуска.
Как видно на Рис.3.31, после выполнения команды JMP main начинается выполнение созданной вами программы.
3.6. Расширенные возможности отладки
Теперь, познакомившись с основными моментами работы симулятора и отладчика, пришло время рассмотреть расширенные возможности отладки устройств с HCS08.
Для этого мы будем использовать другую версию программы мигания светодиода. Она была отлажена и протестирована на демонстрационной плате DEMO9S08QG8.
Пример 3.3
#include"derivative.h"/*Файлсобъявлениямирегистровпериферии*/
#include"hcs08.h"//Этонашфайлсобъявлениями!
#pragmaprofileon
unsignedcharcounter1;
unsignedintval;
voiddelay(unsignedintvalue)
{
for(;value;value--);
}
voidmain(void)
{
SOPT1=bBKGDPE;//НастройкарегистраSOPT1,включениеподдержкиBKGDдляBDM
PTBDD=BIT_6;//Настройкаконтакта6портаBнавывод
counter1=0;
val=10000;
while(1)
{
PTBD_PTBD6=1;//Отключитьсветодиод
delay(val);//Ожидание
PTBD_PTBD6=0;//Включитьсветодиод
delay(val);//Ожидание
counter1++;
if(counter1>20)val=30000;
}
}
Электронные компоненты Freescale >>>
Подробнее о компании Freescale >>>