Полноэкранный отладчик SFD предназначен для работы совместно с контроллером SIEMENS 80C16х. Отладчик обеспечивает режим интерактивного доступа ко всем ресурсам микроконтроллера и удобный интерфейс для отладки программ.
Во время работы на экране отображается содержимое регистров процессора, GPR, SFR, битовых полей, области памяти, а также от 7 до 21 строки дисассемблированного текста. В любой момент времени эти характеристики могут быть изменены.
С помощью отладчика могут загружаться в память или сохраняться на диске файлы в двух форматах: HEX и BIN.
Наиболее часто используемые функции могут быть выполнены с помощью функциональных клавиш. Отладчик позволяет установить до 16 точек останова со счетчиками. На исполняемые программы не накладывается никаких специальных ограничений.
Данные или код программы могут быть выведены на принтер или записаны в файл для дальнейшей работы.
Система отладки предназначена для работы на персональных IBM-совместимых компьютерах под управлением операционной системы MS-DOS 3.00 и выше, либо совместимой с ней. Для работы необходима оперативная память не менее 512 Kb, не менее 200 Kb места на диске.
Работа с пакетом возможна в двух вариантах:
– основной режим с подключением платы контроллера;
– без подключения контроллера в демонстрационном варианте (см. ниже);
В режиме с подключенным контроллером связь с компьютером поддерживается при помощи последовательного канала RS232. Компьютер передает в контроллер команды, массивы данных и программ, а назад получает информацию о состоянии платы контроллера.
До начала работы отладчика он должен быть настроен.
Основные параметры для настройки:
1. Serial port – номер используемого для связи с контроллером последовательного порта. Может использоваться COM1, COM2, COM3, COM4.
2. Communication speed – скорость обмена по последовательному каналу. Можно установить следующие скорости (бод): 50, 75, 110, 134, 150, 300, 600, 1200, 1800,2000, 2400, 3600, 4800, 7200, 9600, 19200, 38400, 56000, 115200.
3. Vector trap – номер вектора прерывания, которое использует отладчик при своей работе. Может использоваться любой вектор, который не будет конфликтовать с используемым контроллером. По умолчанию используется вектор 40h.
Начальный запуск
Для запуска отладчика контроллер подключается к РС с помощью кабеля RS232. Со стороны РС можно выбрать последовательный канал COM1, COM2, COM3, COM4. Выбранный номер COM устанавливается в конфигурации отладчика. Для первого запуска отладчика с неустановленным номером последовательного канала достаточно при запуске нажать «ESC» для отказа связи с контроллером, переместиться в окно конфигурации и выбрать нужный номер канала.
Основные функции отладчика
– Загрузка и сохранение файлов в форматах BIN и HEX.
– Ассемблирование/дисассемблирование кода, дамп памяти с возможностью редактирования, изменение регистров CPU, GPR, SFR.
– Трассировка программы по шагам, по функциям, установка точек останова со счетчиком.
– Редактирование стека программы.
– Программирование Flash.
– Копирование областей памяти, заполнение области памяти, поиск подстроки в памяти, расчет контрольной суммы участка памяти.
– Контекстно-зависимая подсказка (рис. 5).
Основной интерфейс
После входа в систему экран делится на 5 окон: окно дисассемблера, два окна памяти, окно регистров CPU, окно регистров GPR. Этот интерфейс устанавливается по умолчанию, пользователь может изменить конфигурацию в режиме «Configuration», которая будет устанавливаться автоматически (рис. 1).
Окно дисассемблера
Просмотр.
В этом окне отображается несколько строк дисассемблированного кода. В окне имеется возможность просмотра текущего сегмента кода, а также изменения кода с помощью встроенного ассемблера. Количество отображаемых строк зависит от количества окон памяти на экране. При двух окнах памяти количество строк – 7, при одном окне памяти – 14, когда окна памяти отсутствуют – 21. Количество окон определяется установкой в SETUP. Сегмент дисассемблера изменяется в окне регистров CPU, изменением регистра CSP.
Ассемблер
Встроенный ассемблер позволяет исправлять инструкцию по текущему адресу или вводить новую. Общий формат инструкции не отличается от стандартного: в качестве операндов используются регистры CPU, GPR, SFR, битадресуемые именованные поля, непосредственные данные с признаком «#». Инструкции вводятся с помощью обычных приемов редактирования строки и заканчиваются вводом «ENTER», «TAB». Отказ от изменения с помощью клавиши «ESC». Если старая инструкция была длиной 4 байта, а новая 2 байта, то автоматически вставляется инструкция NOP.
Окно регистров GPR
В этом окне отображаются значения регистров R0…R15 в HEX-формате. Значения регистров можно изменять с помощью цифровых шестнадцатеричных клавиш. Эти регистры имеют особенность – т.к. они используются отладчиком во время своей работы, то реально они получают свои значения только при исполнении программы или при трассировке. В окне отображаются их значения после последней операции исполнения или трассировки. Эта же особенность характерна и для регистров CPU.
Окно регистров CPU
В этом окне отображаются значения регистров PSW, SYSCON, DPP0..DPP3, MDL, MDH, MDC, STKUN, STKOV, CSP, IP, CP, SP и 6 флагов – N, C, V, Z, E, IEN. Эти регистры имеют ту же особенность, что и регистры GPR, и редактируются аналогично.
Окна памяти
Режимы работы. Левая верхняя часть экрана отведена под окна памяти. Их количество определяется дисассемблером. При дисассемблере «SMALL» количество окон 2, при «MIDDLE» – 1, при «BIG» окна памяти отсутствуют. Тип дисассемблера определяется в режиме установки
Конфигурации ( Установка конфигурации ). Оба окна памяти совершенно одинаковы. Каждое окно может работать в трех режимах: режиме дампа памяти, режиме регистров SFR, режиме битовых полей. Переключение между этими режимами с помощью «Alt-D» – режим дампа памяти, «Alt+R» — регистры SFR, «Alt+B» – битовые поля. После того как режимы работы окон установлены, их можно сделать режимами по умолчанию, сохранив конфигурацию системы в режиме конфигурации, выбрав «Save configuration».
Дамп памяти. В этом режиме можно просматривать и изменять все адресное пространство контроллера. Адрес дампа определяется номером DPP и смещением в странице памяти, определяемой значением регистра DPP в настоящий момент времени. Смещение в странице изменяется от 0000h до 3fffh. В дампе показываются реальные значения в данный момент времени. Изменить номер DPP можно с помощью клавиш «UP», «DOWN» или вводом цифр от 0 до 3, когда курсор находится в поле номера DPP. Значение смещения дампа изменяется аналогично, когда курсор находится в поле адреса. Переход между цифровым и символьным полями дампа происходит при перемещении курсора из крайнего правого положения в цифровом поле или из крайнего левого положения в символьном поле. Для редактирования дампа используются клавиши 0…F в цифровом поле или любые символьные клавиши в символьном поле.
Регистры SFR. В этом режиме можно просматривать и изменять регистры контроллера SFR. Все регистры разделены на страницы по устройствам контроллера, например, страница регистров Watchdog timer,… Последняя страница выделена для регистров параллельного адаптера UART 8255. По страницам регистров можно перемещаться с помощью клавиш «PGUP» и «PGDN», либо страницу можно выбрать из меню, которое вызывается «Alt-M». Для редактирования регистров используются клавиши 0..F.
Битовые поля. В этом режиме можно просматривать и изменять битоадресуемые именованные поля. Организация и редактирование битоадресуемых полей аналогична регистрам SFR.