Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессорные системы (книга Комаров) / Проектирование МП систем (ч 3).doc
Скачиваний:
106
Добавлен:
08.03.2015
Размер:
772.1 Кб
Скачать

6.5.5. Тестирование и отладка программы

Первоначальное тестирование и отладка программы также опираются на персональный компьютер как инструмент программиста. Задачей этого этапа является обнаружение и устранение максимально возможного количества ошибок в программе. Сделать это весьма нелегко, так как для этого необходимо создать условия, при которых вычислительный процесс пройдет по всем ветвям алгоритма программы. Более того, ошибки могут обнаруживаться при одних сочетаниях данных и отсутствовать при других. Все это определяет высокую трудоемкость этапа тестирования и отладки программы.

Тестирование и отладка программы первоначально осуществляются с помощью какого-либо отладчика. Наиболее удобным является экранный отладчик AFD[11]. Он позволяет наблюдать состояние всех регистров МП, его флагов, областей памяти, присваивать им любые значения, выполнять программу в пошаговом и автоматическом режимах, а также с остановом по контрольным точкам, сохранять результаты отладки в файлах и т.д. и т.п.

Рассмотренная методика проектирования программы с четко определенным информационным интерфейсом всех модулей позволяет тестировать и отлаживать все модули отдельно и независимо друг от друга. Для отладки некоторого модуля необходимо сформировать в соответствии с принятой структурой данных его входные наборы и проанализировать выходные наборы после исполнения этого модуля. Если они соответствуют принятой структуре данных, то модуль работает правильно. В противном случае в режиме пошагового исполнения обнаруживаются и исправляются все ошибки, определяющие его неверное функционирование. Поскольку каждый модуль несложен, то эта задача не вызывает особых трудностей.

Далее отлаженные модули собираются в общую систему, которая тестируется и отлаживается в целом аналогичным образом. Этот процесс может выполняться многократно с различным составом модулей в системе вплоть до корректного выполнения полной программы в автоматическом режиме.

Недостатком рассмотренного способа тестирования и отладки программы является отсутствие наглядности, так как анализ работоспособности программы сводится к анализу некоторых цифр на экране отладчика.

Для устранения этого недостатка при отладке программ удобно использовать программные среды, эмулирующие аппаратные средства МПС. На кафедре "Вычислительные системы" РГАТА под руководством автора была разработана интегрированная программная среда DEMIS (DEsign MIcroSystem), предназначенная для подготовки, тестирования и отладки программ для МПС, аппаратные средства которых эмулируются в ней на архитектурном уровне.

Интегрированная среда DEMIS может функционировать в 5 режимах: ФАЙЛЫ, РЕДАКТИРОВАНИЕ, АРХИТЕКТУРА, ИСПОЛНЕНИЕ и НАСТРОЙКА .

В режиме АРХИТЕКТУРАпроектируется архитектура разрабатываемой МПС путем дополнения стандартной общей архитектуры системы интерфейсными элементами: портами ввода, портами вывода, двоичными и семисегментными индикаторами, кнопками, тумблерами и клавиатурами,необходимыми для реализации поставленной задачи.

В режиме РЕДАКТИРОВАНИЕподготавливается исходный текст ассемблерной программы, решающей поставленную задачу.

В режиме ФАЙЛЫисходный текст программы может быть сохранен на диске или загружен с диска в окно редактирования.

В режиме ИСПОЛНЕНИЕосуществляется компиляция ассемблерной программы и ее исполнение в автоматическом или в отладочном режиме. Результаты работы программы наглядно отображаются на экране дисплея путем изменения состояния устройств ввода/вывода, включенных в архитектуру системы.

Режим НАСТРОЙКАимеет служебный характер и используется для формирования параметров интегрированной среды.

Работа в среде DEMIS полностью соответствует работе с аппаратными учебнолабораторными комплексами, например УМПК-86. Однако, ее достоинством является возможность дальнейшего развития с целью включения в нее все более широкого класса устройств ввода/вывода.