Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прикладное программирование 2014 / Прикладное программирование -Конспект лекций - заготовка для издания.doc
Скачиваний:
161
Добавлен:
21.03.2016
Размер:
3.24 Mб
Скачать

6.1.Интегрированная среда разработки и отладки программного обеспечения – общие понятия

Интегрированная среда разработки и отладки программного обеспечения (IDE) – комплекс инструментальных средств для разработки, интеграции, оптимизации и отладки программ, объединенных единой оболочкой. ВIDEвходят редактор языка программирования и компилятор, обеспечивающие интерактивную компиляцию и редактирование текста программы

Отладка программ

Отладка – процесс поиска и исправления ошибок в программе.

Ошибки бывают двух типов: синтаксические и семантические.

Синтаксические связаны с нарушением правил записи программы на языке программирования.

Семантические связаны со смысловым содержанием программы. Семантические ошибки могут возникнуть по разным причинам: неправильно составленный алгоритм решения задачи; ошибка при написании программы, не нарушающая синтаксиса (минус вместо плюса, записана не та цифра, и т.п.).

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

Исправление семантических задач производится при проверке работы программы на контрольных задачах.

Контрольные задачи должны обеспечивать проверку всех основных путей алгоритма, поскольку ошибка может находиться на любом из ответвлений блок-схемы алгоритма, причем она может проявляться при одних сочетаниях данных и не проявляться при других.

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

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

Отладка сложной программы – сложный и нестандартный процесс, который может занимать большее время, чем ее написание.

Отладочные средства

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

Наличие симулятора в составе IDEпозволяет производить отладку при отсутствии аппаратных средств (они еще не изготовлены). Симулятор не может проверять систему в реальном масштабе времени, но позволяет произвести первичную проверку правильности алгоритма.

Эмулятор– программно-аппаратные средства, при помощи которых одно устройство может имитировать функционирование другого таким образом, что посредством системы-имитатора производится обработка тех же данных, выполнение тех же программ и получение тех же результатов, что и имитируемой системы.. Например, при наличии программы эмулятора можно исполнять на ЭВМ программы, написанные для процессоров других семейств (с другой системой команд). Так основанный на сканировании эмулятор с программой, размещенной в ПЭВМ, может через тестовый порт обращаться к внутренним ресурсам процессора и управлять исполнением программы в реальном процессоре (внутрисхемный эмулятор).

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

Недостатки монитора отладчика: оккупация части внутренней памяти отлаживаемого устройства и использование одного из имеющихся каналов для связи с ПЭВМ, а также незащищенность монитора от повреждения/уничтожения при сбое на отлаживаемом устройстве.

Внутрикристальные аппаратные средства отладки– обеспечивают доступ к внутренним ресурсам отлаживаемой системы. Наиболее распространенJTAGинтерфейс, использующий 5 линий связи для последовательного ввода/вывода данных.

Группой JointTestActionGroupразработан и в 90-х годах был стандартизован (StdIEEE1149.1) метод граничного сканирования, обеспечивающий доступ к внутренним ресурсам цифровых микросхем, в том числе микропроцессоров. Метод реализуется путем создания в микросхеме (или на плате) дополнительных сдвиговых регистров, соединенных последовательно по цепи переноса и подключенных параллельными входами и выходами к контролируемым ресурсам (в частности, к регистровым ячейкам микропроцессора). Вход и выход цепи сдвига подключен к порту тестового доступа, через который осуществляется управление режимом и считывание информации из внутренних ресурсов процессора отлаживаемой системы в ПЭВМ, на которой установлена интегрированная среда.

Прямой доступ к ресурсам позволяет IDEна период отладки изменять путь получения команд процессором: не от счетчика команд, а от регистровJTAGинтерфейса, тем самым эффективно управляя процессором при отладке программ:

- старт, стоп, пошаговое исполнение;

- установка аппаратных или программных точек останова;

- сброс и инициализация отлаживаемой системы;

- загрузка программного кода для отладки и для сохранения во флэш-памяти.

Роль JTAGинтерфейса – предоставление физического канала для связи ПЭВМ с отлаживаемой системой, программное обеспечениеIDEдолжно быть установлено на ПЭВМ.

Достоинства JTAGинтерфейса:

- прямой доступ к скрытым ресурсам процессора;

- не занимает аппаратных ресурсов системы (портов, памяти) для отладки;

- доступ не нарушается при аварийной ситуации в отлаживаемой системе;

- не потребляет энергию из отлаживаемой системы;

- подключение отладчика через JTAGинтерфейс не возмущает систему;

- обеспечивает связь с «сырой» системой, в которую еще не загружено никакое ПО;

- позволяет соединять последовательно в цепочку несколько устройств (в частности, несколько процессоров в многопроцессорной системе) и производить их совместную отладку.

Перечисленные достоинства JTAGинтерфейса обусловили его широкое применение не только в процессе разработки и отладки ПО, но также в процессе производства (загрузка ПО, тестирование изделий) и сопровождения изделий при эксплуатации (модернизация ПО.JTAGинтерфейс используется при программировании многих семейств ПЛИС, позволяя осуществлять их конфигурирование после установки в изделие (incircuitprogramming).