Микропроцессорные и цифровые устройства полиграфического оборудования |
Страница 5 из 7
Разработка программных средств При разработке программного обеспечения выполняются следующие этапы:
Объектные модули, создаваемые в виде файлов *.obj (пункт 4) могут быть двух основных типов:
Оба типа объектных модулей могут сохраняться, в зависимости от свойств и настроек конкретного компилятора, в текстовой кодировке ASCII в символах шестнадцатеричной системы счисления (т.н. HEX-формат) или в бинарном формате машинных кодов микропроцессора. В последнем случае объектный модуль выполняет функции исполняемого модуля и после загрузки в память микроконтроллера может быть им выполнен. Аналогичный режим компиляции используется в лабораторном курсе по дисциплине “Микропроцессорные и цифровые устройства полиграфического оборудования”, где файл с расширением *.obj является конечным результатом разработки программы, а этапы компоновки опущены. При разработке реальных программ, состоящих из большого числа объектных модулей, используется принцип относительной адресации для объектных модулей и исполняемый модуль с абсолютной физической адресацией образуется в результате компоновки (пункт 6). Необходимость создания дополнительного загружаемого модуля (пункт 7) вызвана тем, что большинство программаторов, выполняющих непосредственную загрузку полного текста программы в машинных кодах в память программ микроконтроллера, работают с файлами в текстовой HEX-кодировке. Классическим методом разработки программного обеспечения микроконтроллера, доступным для любых типов микроконтроллеров (микропроцессоров), дающим лучший из возможных результатов программирования и предоставляемым фирмой-производителем бесплатно в т.н. “минимальном наборе”, считается использование ассемблера. В тоже время, практически все современные микроконтроллеры, выпускаемые мировыми производителями на рынок, имеют компиляторы с языка Си и некоторых других языков программирования, включенные также на бесплатной основе в “минимальный набор”. Это позволяет, при некотором ухудшении качества конечной программы, существенно упростить сам процесс программирования микроконтроллера и приблизить его к обычному программированию на языке высокого уровня, абстрагированному от конкретных аппаратных средств. В лабораторном курсе по дисциплине “Микропроцессорные и цифровые устройства полиграфического оборудования” использовался метод разработки программ на основе языка ассемблера, поэтому при работе над курсовым проектом также рекомендуется использовать этот метод. Под общим термином “ассемблер” (assembler - сборщик) понимается два объекта:
Под термином “макроассемблер” также понимается язык программирования и программа-компилятор, но имеющие расширенные по сравнению обычным ассемблером возможности за счет использования библиотек готовых программных модулей, включение которых в текст программы выполняется командами макроассемблера. Практически все современные ассемблеры представлены именно в виде макроассемблеров, что приближает принцип программирования в макроассемблере к принципу программирования на языке высокого уровня. Под термином “кросс ассемблер” понимают программу – компилятор ассемблера, установленную на компьютере с центральным микропроцессором одного типа, генерирующую объектную программу для микропроцессора другого типа, например, для микропроцессорного ядра микроконтроллера. В современной литературе часть термина “кросс…” часто опускают и программу, отвечающую признакам кросс ассемблера называют программой ассемблера, подразумевая по контексту, что она выполняется на компьютере, но компилирует исходный текст в машинные команды микроконтроллера. Файл, в котором хранится исходная программа, написанная на языке ассемблера или одном из языков высокого уровня, чаще всего одной из модификаций языка Си, имеет текстовую ASCII кодировку и может быть подготовлен в любом текстовом редакторе с отключенным или отсутствующим форматированием (переносы, отступы, положение на странице и т.д.). Как правило, используются специальные редакторы, интегрированные в средства данного языка программирования или в систему проектирования микроконтроллера в целом. Знаковая 8-ми разрядная кодировка ASCII (American National Standard Code for Information Interchange – в русской транскрипции произносится как "аски") принята “де факто” мировым стандартом и используется для создания исходных текстов во всех языках программирования, в т.ч. в языках описания страниц полиграфических изданий и страниц Internet: HTML, PostScript, JavaScript, а также в языках описания чертежей, схем и др. технической документации, создаваемой в САПР. После компиляции, компоновки и размещения по физическим адресам выполняется отладка разработанной программы с помощью средств отладки, в состав которых входит:
Программный симулятор (имитатор) – это наиболее доступное средство отладки программ микроконтроллеров, предоставляемое, как правило, их производителями в составе минимального набора для каждого типа микроконтроллера. Кроме того, компьютерные программы симуляции создаются сторонними организациями и программистами одиночками и также свободно распространяются по Internet. В лабораторном курсе по дисциплине “Микропроцессорные и цифровые устройства полиграфического оборудования”, наряду с аппаратным учебным комплексом используются симуляторы для микропроцессора i8080. Современный программный симулятор микроконтроллера имеет развитый экранный интерфейс, позволяющий отслеживать процесс выполнения программы по всем элементам архитектуры, средства подготовки исходного текста в ассемблере или Си и его компиляции, библиотеку симуляторов внешних устройств, подключенных к портам микроконтроллера, имитаторы аналоговых сигналов и т.д. Основное назначение программного симулятора – отладка программы микроконтроллера на логическом уровне. Внутрисхемный эмулятор – это наиболее эффективное аппаратное средство отладки программ для микроконтроллеров. Принцип внутрисхемной эмуляции состоит в замене реального микроконтроллера устройством, поведение которого с точки зрения отлаживаемой системы соответствует поведению микроконтроллера. Это устройство, называемое внутрисхемным эмулятором, предоставляет разработчику возможность управления процессом отладки и возможность контроля за состоянием реальной отлаживаемой микропроцессорной системы. Для управления процессом отладки при использовании современных внутрисхемных эмуляторов, как правило, используется персональный компьютер с соответствующим программным обеспечением. Конструктивно внутрисхемный эмулятор выполняется как самостоятельный блок (печатная плата) с отдельным блоком питания, макетным полем, средствами подключения внешних устройств типа датчиков или исполнительных приводов, соединенный интерфейсным кабелем с одним из стандартных портов компьютера. В состав внутрисхемного эмулятора может входить клавиатура (шестнадцатеричная), бинарные или символьные индикаторы, программаторы, позволяющие перенести отлаженную версию программы на целевой микроконтроллер. Программные и аппаратные средства эмулятора обеспечивают точки останова при выполнении целевой программы до шагового режима включительно, контроль состояния портов и других модулей микроконтроллера, подключение к внешним элементам системы. Эти свойства позволяют внутрисхемному эмулятору работать вместо целевого микроконтроллера в реальной системе (установке) при ее отладке, испытаниях и доработке. Схемный эмулятор с развитым набором сменных элементов, программным обеспечением, компьютером и интегрированными средствами проектирования образует отладочный комплекс. Другим вариантом построения внутрисхемных эмуляторов является использование так называемых отладочных кристаллов. Отладочный кристалл представляет собой микросхему, содержащую то же процессорное ядро и набор периферийных устройств, что и целевой микроконтроллер и выполненную по той же технологии. В отличие от рабочей микросхемы, отладочный кристалл содержит узлы, позволяющие осуществлять доступ к его внутренним ресурсам извне, и, таким образом, управлять процессом отладки. Преимущества построения внутрисхемного эмулятора на основе отладочного кристалла заключается в более точном соответствии поведения эмулятора и целевого микроконтроллера, а также в удешевлении такого внутрисхемного эмулятора по сравнению с классическим, поскольку отладочные кристаллы считаются стандартной продукцией микроэлектроники. Для удобства перезаписи программ память программ отладочного кристалла может быть реализована на внешнем ОЗУ, сохраняющем информацию только при включенном питании. Дальнейшим развитием внутрисхемной эмуляции является режим фоновой отладки (OCD – On-Chip Debugging), основанный на установленных в памяти микроконтроллера на этапе его изготовления программных средствах (т.н. системный монитор), которые обеспечивают функции отладки целевой программы и тестирование микроконтроллера при его функционировании в штатном режиме. Разница между внутрисхемной эмуляцией и фоновой отладкой заключается в том, что внутрисхемный эмулятор с той или иной степенью достоверности имитирует поведение целевого микроконтроллера в отлаживаемой системе, в то время как в режиме фоновой отладки программа исполняется самим целевым микроконтроллером и достигается полное совпадение временных и электрических параметров системы в отладочном и штатном режимах. В микроконтроллерах, поддерживающих режим OCD, блок управления отладкой и соответствующий объем памяти является частью самого отлаживаемого микроконтроллера, а управление процессом отладки или тестирования выполняется компьютерной программой, взаимодействующей с целевым микроконтроллером через компьютерный порт. Процесс программирования или перепрограммирования таких микроконтроллеров может осуществляться также в фоновом режиме без участия специальных отдельных средств программирования. Режим OCD стал возможен за счет прогресса интегральной технологии, в результате которого дополнительные объемы памяти и дополнительные аппаратные средства, встроенные в общий кристалл интегральной схемы, практически не изменяют ее стоимости при массовом производстве. Интегрированная среда разработки (IDE – Integrated Development Environment) – это комплекс согласованных программных и аппаратных средств, с помощью которых выполняются все этапы программной и частично аппаратной разработки микроконтроллерного устройства. Фирмы – производители микроконтроллеров создают несколько вариантов интегрированных сред, часть из которых (программные среды) распространяется свободно на бесплатной основе и входит в т.н. стартовые наборы разработчика. В такие наборы входит:
Как правило, базовое программное обеспечение интегрированной среды проектирования, установленное на компьютере, не изменяется при подключении к системе приобретаемых за отдельную плату аппаратных средств отладки, расширяющих ее возможности, например, внутрисхемного эмулятора, программатора и т.д.
Основные этапы работы над проектом
Работа над курсовым проектом рассчитана на один семестр и выполняется в следующей последовательности:
Пояснительная записка должна соответствовать следующей структуре:
Ключевые слова и реферат располагаются на одной странице. Само название “Ключевые слова” обычно не пишется, а слова и словосочетания, наиболее полно отражающие тематику работы (не более 10-12), располагаются в строку через запятые. Ключевые слова используются для быстрого знакомства с темой. В некоторых случаях, например, при подготовке тематических научных изданий, авторам предлагается выбрать ключевые слова, соответствующие тематике их работы, из предлагаемого издательством ограниченного списка. Реферат содержит 10-12 строк текста с заголовком “Реферат” или без заголовка и располагается под ключевыми словами, отделенный от них увеличенным интервалом. Реферат – это следующий после ключевых слов уровень знакомства с тематикой работы или книги. Рефераты могут публиковаться в отдельных изданиях, в основном через Internet и содержат краткую характеристику темы работы и перечень ее составных частей: объем, число иллюстраций, таблиц, приложений и т.д. Введение (не нумеруется) объемом 30-40 строк содержит основные сведения из тех технических областей, с которыми связана поставленная в задании на курсовое проектирование задача. Это не только микропроцессорная техника, но и предметная область, для которой она будет проектироваться. Основная часть (как название раздела не используется) состоит из отдельных разделов и подразделов, имеющих нумерацию арабскими цифрами, часть из которых, начиная с первого номера, имеет названия. Размер нумерованного или именованного раздела в основной части не должен быть менее, чем 30 – 40 строк. Все названия разделов основной части и пояснительной записки в целом выделяются начертанием базового шрифта или (и) его кеглем. Для выделения кеглем достаточно отличия в два пункта. Пункт – это полиграфическая единица измерения размера шрифта по вертикали и составляет 1/72 дюйма. Набор основного текста обычно выполняется 12-м кеглем. Для выделения названий разделов подчеркивание не используется. При наборе текста применяется, как правило, один базовый шрифт, в котором при необходимости изменяют начертание и размер. Для набора исходных текстов программ может быть использован второй шрифт, упрощенный или т.н. равноширинный, имитирующий шрифт пишущей машинки. Названия разделов и подразделов основной части выбираются произвольно, но должны примерно соответствовать порядку проектирования:
Заключение (не нумеруется) объемом 25 – 30 строк содержит краткие выводы по проделанной работе и возможные альтернативные варианты решения задачи, не рассмотренные в процессе проектирования, например, использование чисто аппаратного принципа вместо микроконтроллера. Кроме того, в заключении могут быть рассмотрены расширенные варианты применения разработанного устройства или расширение его функций в процессе разработки, например, использование микроконтроллера терморегулятора для отсчета времени и т.д. Список литературы является обязательным и должен содержать перечень всех использованных источников и Internet включительно. Приложения нумеруются арабскими цифрами и могут содержать чертежи, эскизы, тексты программ, графики, таблицы, технические данные элементов в любом формате и на любых носителях. Обязательными являются приложения, содержащие чертеж электрической принципиальной схемы разработанного устройства и исходные тексты программ в виде распечатки.
|