Средства индивидуальных и интегрированных пакетов
При разработке ПО для универсальных микропроцессорных систем используется достаточно широкий набор языков высокого уровня, для которых имеются соответствующие компиляторы. Чаще всего используются языки С, С++, FORTH, Раsсаl, FORTRAN. Для решения ряда задач применяются языки поддержки искусственного интеллекта Ada, Modula2 и некоторые другие. При программировании управляющих систем чаще всего используются машинно-ориентированный язык Ассемблера или языки С / С++. Язык Ассемблера применяется в случаях, когда имеются жесткие ограничения на объем требуемой памяти или на время выполнения программных модулей. Такие случаи являются достаточно типичными при решении задач управления, поэтому Ассемблеры являются одним из основных средств создания ПО для микроконтроллерных систем, в тех случаях, когда указанные ограничения не очень жесткие, для создания ПО используются языки высокого уровня (обычно С / С++).
Автономная отладка ПО выполняется с помощью симулятора — программной модели используемого микропроцессора или микроконтроллера. На этом этапе разработчики используют широкий набор средств программирования — компиляторы, ассемблеры, дисассемблеры, отладчики, редакторы связей и другие, без которых практически невозможно создание работоспособного ПО в течение ограниченных сроков выполнения проекта.
Как отмечалось выше, комплексная отладка АС и ПО является наиболее сложным и ответственным этапом создания системы. На этом этапе разработчик использует весь набор программных и аппаратных средств, применяющихся для автономной отладки АС и ПО, а также ряд специальных средств комплексной отладки. К числу таких средств относятся схемные эмуляторы — специализированные устройства, включаемые вместо микропроцессора или микроконтроллера прототипной системы и обеспечивающие возможность контроля ее работы с помощью персонального компьютера, связанного со схемным эмулятором. Схемные эмуляторы являются наиболее эффективным средством комплексной отладки систем.
Одним из наиболее эффективных средств комплексной отладки микроконтроллерных систем являются эмуляторы ПЗУ. Это устройство включается вместо ПЗУ прототипной системы и работает под управлением подключенного к нему персонального компьютера. Так обеспечивается текущий контроль за выполнением программы и ее оперативная коррекция, что значительно упрощает процесс отладки.
Для микроконтроллерных систем заключительной процедурой комплексной отладки является запись в ПЗУ объектных модулей отлаженной программы и завершающее испытание ее работоспособности. Запись программы в ПЗУ осуществляется с помощью специальных программаторов.
Для универсальных микропроцессорных систем после комплексной отладки производится оценка их производительности путем прогона специального набора тестовых программ (benchmarks).
После выполнения указанных этапов отлаженная прототипная система может быть испытана в рабочих условиях с подключением полного набора реальных периферийных устройств и объектов управления. В процессе опытной эксплуатации выявляются ошибки, не обнаруженные на этапе отладки, определяется реакция системы на возможные непредвиденные ситуации.
Как показывает данное описание процесса разработки, при создании современных микропроцессорных и микроконтроллерных систем используется комплекс программно-аппаратных средств, которые помогают качественно и в ограниченные сроки выполнить их проектирование и отладку.
8.4.2. ПРОГРАММНЫЕ СРЕДСТВА ПОДДЕРЖКИ ПРОЕКТИРОВАНИЯ/
ОТЛАДКИ СИСТЕМ
В процессе разработки и отладки программного обеспечения микропроцессорных систем используются следующие программные средства:
• ассемблеры, компиляторы;
• симуляторы (программно-логические модели);
• отладчики, редакторы связей (компоновщики, загрузчики).
В современных комплексах проектирования/отладки систем эти средства обычно работают совместно, в составе интегрированной среды (оболочки) программирования.
Особенно сложные задачи приходится решать при программировании управляющих систем, работающих в реальном масштабе времени. В этом случае разработчик должен использовать какую-либо из имеющихся операционных систем реального времени (ОСРВ) или создавать собственные программы-мониторы реального времени с помощью указанных выше средств программирования. В составе многих ОСРВ имеются средства поддержки программирования, которые могут использоваться при проектировании/отладке системы.
Таким образом, при создании программного обеспечения микропроцессорных и микро- контроллерных систем разработчик имеет следующие возможности:
• использовать набор отдельных средств поддержки программирования (ассемблер или компилятор, симулятор, отладчик), которые предлагаются рядом фирм-производителей;
• выполнять программирование и отладку с помощью интегрированной среды разработки ( development environment);
• разрабатывать программное обеспечение с помощью средств поддержки, имеющихся в составе ОСРВ, которая используется в проектируемой системе.
В настоящее время программирование и отладка чаще всего выполняются с помощью интегрированной среды развития или средств ОСРВ. Программирование производится обычно с помощью кросс-средств, инсталлированных на инструментальном компьютере с мощной операционной системой. В качестве инструментальных компьютеров используются персональные компьютеры (чаще всего IВМ-РС старших моделей, реже PS-2 и Macintosh или рабочие станции (SPARC фирмы "SUN Microsystems", DECStation, DECAlpha фирмы "Digital Equipment", НР-9000 фирмы "Hewlett-Packard", IВМ RS/6000), иногда компьютеры типа VAX (фирмы «Digital Equipment") . Операционными системами этих компьютеров служат различные версии Windows и UNIX(Solaris, AIX, ULTRIX и другие).
Язык Ассемблера очень часто применяется при программировании микропроцессорных и микроконтроллерных систем, так, его использование обеспечивает существенное уменьшение объема памяти программ и времени выполнения программных модулей (до 20 — 50 %). Упрощенные (демонстрационные) версии Ассемблеров для всех семейств микропроцессоров и микроконтроллеров Motorola предоставляются бесплатно рядом фирм и распространяются по сети Интернет. Эти версии обычно имеют ограничения на объем транслируемых программ (до нескольких сотен или тысяч строк), а также не обеспечивают ряд сервисных возможностей. Ассемблеры с широким набором функциональных возможностей, включая макросы (макроассемблеры), поставляются рядом разработчиков, в том числе фирмой "Motorola".
В качестве языков высокого уровня чаще всего используются С, С++. Некоторыми фирма ми поставляются также компиляторы для языков Ada, Modula-2, Pasсаl, FORTRAN. Все эти компиляторы обеспечивают также программирование на языке Ассемблера. Большинство из них содержат компоновщики для связи программных модулей, библиотеки функций. Многие компиляторы по указанию разработчика могут оптимизировать процесс трансляции исходного текста с целью получения объектного кода с минимальным объемом или минимальным временем выполнения программы. Такие компиляторы называются оптимизирующими.
8.5. СРЕДСТВА И МЕТОДЫ ОТЛАДКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ