|
После получения
объектного кода прикладной программы наступает обязательный этап отладки - этап
установления факта ее работоспособности, а также выявления (локализации) и устранения ошибок.
Отладка программного обеспечения представляет собой отдельную сложную задачу, которая
почти не поддается формализации и требует для своего выполнения высокого профессионализма и
глубоких знаний разработчика. Обычно отладка прикладного программного обеспечения
осуществляется в несколько этапов. Простые (синтаксические) ошибки выявляются уже на
этапе трансляции.
Программное обеспечение любого из
вариантов заданий состоит из двух частей - транзитной и резидентной. Транзитная часть
программного обеспечения осуществляет:
- считывание параметров из
конфигурационного файла или из командной строки, проверку наличия платы расширения по
указанному в конфигурационных данных адресу,
- программную инициализацию БИС платы,
- сохранение старых и установку новых
векторов прерываний,
- установку резидентной части
программного обеспечения в памяти ПК.
Резидентная часть программного
обеспечения может содержать один или несколько обработчиков прерываний.
Выполнить полностью этап
комплексной отладки программного обеспечения разработанной в задании системы не представляется
возможным из-за отсутствия как платы расширения, так и реальных источников и приемников
информации. На конечном этапе выполнения задания требуется проверить правильность прохождения
по всем ветвям алгоритма; правильность обращения ко всем портам, адреса которых используются в
программе; убедиться в правильности восприятия тех или иных данных с портов, правильности их
преобразования и обработки. Для этого готовится специальный отладочный вариант программы,
полностью основанный на использовании всех возможностей СВО по имитации портов внешних
устройств ПК и портов платы расширения.
В реальной системе после
инициализации и установки резидентной части происходит обращение к одному или нескольким
обработчикам прерываний, причем последовательность и количество обращений, а при разделяемом
прерывании и фактически выполняемые действия, могут зависеть от как последовательности
активизации источников запросов, так и от данных, считываемых с внешних устройств.
Возможности имитации запросов на
прерывания в произвольные моменты времени не имеется, поэтому отладочный вариант программы
представляется не набором отдельных обработчиков прерываний, а формируется как цельная
измененная программа, в которой после транзитной части (чтения конфигурационных данных и
инициализации) располагаются в определенной последовательности обработчики прерываний или один
обработчик, замкнутый на себя. Расположение обработчиков прерываний в определенной
последовательности зависит от имитируемого варианта поведения системы. Плата расширения может
формировать только один запрос прерывания. Если этот запрос вызывается только одним источником,
то неоднократное выполнение одного и того же обработчика чаще всего должно приводить к
различным результатам в зависимости от данных, считываемых из внешнего устройства. При отладке
программы с помощью СВО перед каждым входом в обработчик прерываний или перед каждой командой
In нужно будет задавать
новые данные -
изменять состояния портов внешних устройств. При нескольких источниках прерывания, поступающих
на плату расширения обработчик анализирует источник прерывания обычно чтением слов состояния
интерфейсных БИС на плате. При отладке программы с помощью СВО перед каждым входом в обработчик
прерываний необходимо имитировать запросы прерываний - устанавливать соответствующие
разряды слов состояний в БИС.
Отладочная программа, естественно
может отличаться от исходной. Необходимости в загрузке или выгрузке резидентной части нет,
поэтому эти действия из текста программы могут быть исключены. Для сокращения времени отладки
некоторые параметры могут быть изменены - отладочная программа может быть рассчитана на
считывание, например, 16-ти байтов входных данных вместо 32-х по условию, или выполнять 4 цикла
вместо 64-х.
NB:
Отладка программы может проводиться
отдельно для резидентной и транзитной частей, также можно использовать несколько вариантов
отладочных программ. |
|
Назначение системы
Макроопределения
Подготовка программы
Описание портов ВУ
Отладка программы
Обращения к ВУ |