Национальный исследовательский ядерный университет «МИФИ»
Опубликован: 03.03.2010 | Доступ: свободный | Студентов: 5353 / 1318 | Оценка: 4.35 / 3.96 | Длительность: 24:14:00
ISBN: 978-5-9963-0267-3
Специальности: Разработчик аппаратуры
Лекция 17:

Методы и средства отладки микропроцессорных систем

< Лекция 16 || Лекция 17: 12345 || Лекция 18 >

Средства разработки и отладки программного обеспечения

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

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

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

Традиционным языком программирования для МПС, работающих в реальном масштабе времени (а именно к этому классу относится большинство систем управления, сбора и обработки информации на базе однокристальных микроконтроллеров и ЦСП), является Ассемблер. В настоящее время в распоряжение разработчиков практически повсеместно предоставляется также компилятор с языка Си, а иногда Си++ и даже Паскаля. Как правило, в этом случае используются специальные оптимизирующие компиляторы, но даже они не всегда позволяют написать приемлемую по времени выполнения и объему памяти программу, что вызывает необходимость их доработки на Ассемблере.

Редактор связей собирает единый исполняемый модуль из нескольких объектных программных модулей.

Если программы предыдущих типов используются при любом процессе программирования, то симуляторы являются специфическим программным средством, используемым в процессе проектирования МПС.

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

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

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

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

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

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

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

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

Комплексная отладка микропроцессорных систем

Как правило, микропроцессорная система на основе МК или ЦСП - это система реального времени, то есть корректность ее функционирования зависит от времени выполнения отдельных программ и скорости работы аппаратуры. Поэтому система считается отлаженной после того, как рабочие программы правильно функционируют на действительной аппаратуре системы в реальных условиях.

Дополнительным свойством, которым должны обладать средства комплексной отладки по сравнению со средствами автономной отладки, является возможность управления поведением МПС и сбора информации о ее поведении в реальном времени.

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

На этапе комплексной отладки микропроцессорной системы используются следующие основные приемы:

  1. пошаговое отслеживание поведения системы;
  2. останов функционирования системы при возникновении определенного события;
  3. чтение и изменение содержимого памяти или регистров системы в момент останова;
  4. отслеживание поведения системы в реальном времени.

Всем этим условиям в наилучшей степени удовлетворяют полнофункциональные внутрисхемные эмуляторы.

Краткие итоги. В лекции рассмотрены процесс тестирования и отладки микропроцессорных систем, специфика МП БИС и микропроцессорной системы в целом как объекта контроля. Определены особенности контроля и отладки МПС на различных этапах жизненного цикла. Представлены инструментальные средства, используемые как для автономного тестирования и отладки аппаратных и программных частей МПС, так и для их комплексной отладки в условиях реального функционирования.

< Лекция 16 || Лекция 17: 12345 || Лекция 18 >
Владислав Салангин
Владислав Салангин

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

Михаил Королёв
Михаил Королёв