- •Введение
- •1. Основные определения и понятия микропроцессорной техники
- •1.1. Жесткая и гибкая логика
- •1.2. Микропроцессор и «сотоварищи»
- •Контрольные вопросы
- •2. Типы микропроцессорных систем и факторы, влияющие на их быстродействие
- •2.1. Типы микропроцессорных систем
- •2.2. Программируемые логические интегральные схемы
- •2.3. Факторы, влияющие на быстродействие микропроцессоров
- •Контрольные вопросы
- •3.3.1. Команды пересылки данных
- •3.3.2. Арифметические команды
- •3.3.3. Логические команды
- •3.3.4. Команды переходов
- •3.4. Быстродействие процессора
- •5.1.2. Микроконтроллеры семейств pic16cxxx и pic17cxxx
- •5.1.3. Особенности архитектуры микроконтроллеров семейства pic16cxxx
- •5.2. Микроконтроллеры подгруппы pic16f8x
- •5.2.1. Основные характеристики
- •5.2.2. Особенности архитектуры
- •5.2.3. Схема тактирования и цикл выполнения команды
- •5.2.4. Организация памяти программ и стека
- •5.2.5. Организация памяти данных
- •5.2.6. Регистры специального назначения
- •5.2.7. Счетчик команд
- •5.2.8. Прямая и косвенная адресации
- •5.2.9. Порты ввода/вывода
- •5.2.10. Модуль таймера и регистр таймера
- •5.2.11. Память данных в рпзу (eeprom)
- •5.2.12. Организация прерываний
- •5.2.13. Специальные функции
- •5.3. Система команд микроконтроллеров подгруппы pic16f8x
- •5.3.1. Перечень и форматы команд
- •5.3.2. Команды работы с байтами
- •5.3.3. Команды работы с битами
- •5.3.4. Команды управления и работы с константами
- •5.3.5. Особенности программирования и отладки
- •6.1. Разработка микропроцессорной системы на основе микроконтроллера
- •6.1.1. Основные этапы разработки
- •6.1.2. Разработка и отладка аппаратных средств
- •6.1.3. Разработка и отладка программного обеспечения
- •6.1.4. Методы и средства совместной отладки аппаратных и программных средств
6.1.2. Разработка и отладка аппаратных средств
После разработки структуры аппаратных и программных средств дальнейшая работа над контроллером может быть распараллелена. Разработка аппаратных средств включает в себя разработку общей принципиальной схемы, разводку топологии плат, монтаж макета и его автономную отладку. Время выполнения этих этапов зависит от имеющегося набора апробированных функционально-топологических модулей, опыта и квалификации разработчика. На этапе ввода принципиальной схемы и разработки топологии используются, как правило, распространенные системы проектирования типа «ACCEL EDA» или «OrCad».
Автономная отладка аппаратуры на основе МК с открытой архитектурой предполагает контроль состояния многоразрядных магистралей адреса и данных с целью проверки правильности обращения к внешним ресурсам памяти и периферийным устройствам. Закрытая архитектура МК предполагает реализацию большинства функций разрабатываемого устройства внутренними средствами микроконтроллера. Поэтому разрабатываемый контроллер будет иметь малое число периферийных ИС, а обмен с ними будет идти преимущественно по последовательным интерфейсам. Здесь на первый план выйдут вопросы согласования по нагрузочной способности параллельных портов МК и отладка алгоритмов обмена по последовательным каналам.
6.1.3. Разработка и отладка программного обеспечения
Содержание этапов разработки программного обеспечения, его трансляции и отладки на моделях существенно зависит от используемых системных средств. В настоящее время ресурсы 8-разрядных МК достаточны для поддержки программирования на языках высокого уровня. Это позволяет использовать все преимущества структурного программирования, разрабатывать программное обеспечение с использованием раздельно транслируемых модулей. Одновременно продолжают широко использоваться языки низкого уровня типа ассемблера, особенно при необходимости обеспечения контролируемых интервалов времени. Задачи предварительной обработки данных часто требуют использования вычислений с плавающей точкой, трансцендентных функций.
В настоящее время самым мощным средством разработки программного обеспечения для МК являются интегрированные среды разработки, имеющие в своем составе менеджер проектов, текстовый редактор и симулятор, а также допускающие подключение компиляторов языков высокого уровня типа Паскаль или Си. При этом необходимо иметь в виду, что архитектура многих 8-разрядных МК вследствие малого количества ресурсов, страничного распределения памяти, неудобной индексной адресации и некоторых других архитектурных ограничений не обеспечивает компилятору возможности генерировать эффективный код. Для обхода этих ограничений разработчики ряда компиляторов вынуждены были перекладывать на пользователя заботу об оптимизации кода программы.
Для проверки и отладки программного обеспечения используются так называемые программные симуляторы, предоставляющие пользователю возможность выполнять разработанную программу на программно-логической модели МК. Программные симуляторы распространяются, как правило, бесплатно и сконфигурированы сразу на несколько МК одного семейства. Выбор конкретного типа МК среди моделей семейства обеспечивает соответствующая опция меню конфигурации симулятора. При этом моделируется работа ЦП, всех портов ввода/вывода, прерываний и другой периферии. Карта памяти моделируемого МК загружается в симулятор автоматически, отладка ведется в символьных обозначениях регистров.
Загрузив программу в симулятор, пользователь имеет возможность запускать ее в пошаговом или непрерывном режимах, задавать условные или безусловные точки останова, контролировать и свободно модифицировать содержимое ячеек памяти и регистров симулируемого МК.
