МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ, МЕХАНИКИ И ОПТИКИ
А. О. Ключев, Д. Р. Ковязина,
П. В. Кустарев, А. Е. Платунов
АППАРАТНЫЕ И ПРОГРАММНЫЕ
СРЕДСТВА ВСТРАИВАЕМЫХ СИСТЕМ
Учебное пособие
Санкт-Петербург
2010
Ключев, А. О. , Ковязина Д. Р. , Кустарев, П. В. , Платунов, А. Е. Аппаратные и
программные средства встраиваемых систем. Учебное пособие [Текст] / А. О. Ключев, П. В. Кустарев, А. Е. Платунов. – СПб. : СПбГУ ИТМО, 2010. – 290 с. Учебное пособие является введением в проблематику организации
аппаратных и программных средств встраиваемых вычислительных систем
(ВВС). Рассматриваются базовые понятия и основные характеристики ВВС,
элементная база, аппаратные и программные средства, используемые для
простроения ВВС, особенности реализации и программирования
современных контроллеров ВВС на примере учебного контроллера SDK-1. 1. Для подготовки бакалавров по направлению 230100 «Информатика и
вычислительная техника», магистров по программам 230100. 68. 13 «Сети
ЭВМ и телекоммуникации», 230100. 68. 31 «Проектирование встроенных
вычислительных систем», 230100. 68. 32 «Системотехника интегральных
вычислителей. Системы на кристалле». Рекомендовано к печати ученым советом факультета КТиУ, протокол №11
от 08. 06. 2010 г. В 2009 году Университет стал победителем многоэтапного конкурса, в
результате которого определены 12 ведущих университетов России, которым
присвоена категория «Национальный исследовательский университет». Министерством образования и науки Российской Федерации была
утверждена Программа развития государственного образовательного
учреждения высшего профессионального образования «Санкт-
Петербургский государственный университет информационных технологий,
механики и оптики» на 2009–2018 годы. © Санкт-Петербургский государственный университет
информационных технологий, механики и оптики, 2010
© А. О. Ключев,
Д. Р. Ковязина,
П. В. Кустарев,
А. Е. Платунов, 2010. Оглавление
ВВЕДЕНИЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 7
1 ВВЕДЕНИЕ ВО ВСТРАИВАЕМЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ... ... ... ... ... ... . . 9
1. 1 ОПРЕДЕЛЕНИЯ, ОСОБЕННОСТИ, КЛАССИФИКАЦИЯ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 9
1. 1. 1 Встраиваемые системы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 9
1. 1. 2 Примеры встраиваемых систем ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 12
1. 1. 3 Реальное время ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 13
1. 1. 4 Надежность ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 14
1. 1. 5 Распределенные встроенные системы... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 16
1. 1. 6 Пирамида автоматизации ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 17
1. 2 МЕХАНИЗМЫ РЕАЛЬНОГО ВРЕМЕНИ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 20
1. 2. 1 Таймер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 20
1. 2. 2 Устройство захвата-сравнения ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 21
1. 2. 3 Сторожевой таймер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 21
1. 2. 4 Система прерываний ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 22
1. 2. 5 Часы реального времени ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 26
1. 2. 6 Система контроля питания ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 36
1. 2. 7 Встроенная FLASH-память ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 37
1. 2. 8 Контроллер прямого доступа к памяти ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 38
1. 2. 9 Средства понижения энергопотребления ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 40
2 ТЕХНИЧЕСКИЕ СРЕДСТВА ВСТРАИВАЕМЫХ СИСТЕМ ... ... ... ... ... ... ... ... ... ... ... ... ... 41
2. 1
ЭЛЕМЕНТНАЯ БАЗА МИКРОПРОЦЕССОРНОЙ ТЕХНИКИ ДЛЯ ВСТРАИВАЕМЫХ
ПРИМЕНЕНИЙ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 41
2. 1. 1 Процессор... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 41
2. 1. 2 Классификация процессоров ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 41
2. 1. 3 Микропроцессор и микроконтроллер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 44
2. 1. 4 Классификация микроконтроллеров ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 44
2. 1. 5 Программируемые логические интегральные схемы ... ... ... ... ... ... ... ... ... ... ... . 45
2. 1. 6 Программируемая логическая матрица... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 46
2. 1. 7 CPLD ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 47
2. 1. 8 FPGA ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 47
2. 1. 9 Системы-на-кристалле ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 48
2. 2 МОДУЛЬНЫЙ ПРИНЦИП ОРГАНИЗАЦИИ ПРОЦЕССОРА ВВС ... ... ... ... ... ... ... ... ... ... ... ... ... 50
2. 2. 1 Типовая структура процессора для встраиваемых систем ... ... ... ... ... ... ... ... . . 50
2. 2. 2 Процессорное ядро ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 51
2. 2. 3 Организация прерываний в управляющих процессорах ... ... ... ... ... ... ... ... ... . . 52
2. 2. 4 Модули памяти ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 54
2. 2. 5 Порты ввода-вывода ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 67
2. 2. 6 Таймеры-счетчики ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 75
2. 2. 7 Аналого-цифровой преобразователь ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 88
2. 2. 8 Цифро-аналоговый преобразователь... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 93
2. 2. 9 Контроллеры последовательных интерфейсов ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 95
2. 2. 10 Подсистема синхронизации ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 101
2. 2. 11 Механизмы начальной инициализации встроенной памяти ... ... ... ... ... ... ... 104
2. 3 СЕТЕВЫЕ ИНТЕРФЕЙСЫ ВСТРАИВАЕМЫХ СИСТЕМ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 107
2. 3. 1 Последовательный интерфейс I²C ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 107
2. 3. 2 Интерфейс RS-485 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 115
2. 3. 3 Интерфейс CAN ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 120
2. 3. 4 Промышленный Ethernet ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 121
2. 3. 5 Интерфейс LIN ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 123
3
2. 3. 6 Технология PLC ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 124
2. 3. 7 Технология M2M ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 126
2. 3. 8 Стандарт ARINC 429... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 126
2. 3. 9 Стандарт MIL-STD-1553... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 126
3 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ И ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА
ВСТРАИВАЕМЫХ СИСТЕМ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 129
3. 1 ОСОБЕННОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ВВС ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 129
3. 1. 1 Основные определения ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 129
3. 1. 2 Особенности ПО ВВС ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 129
3. 1. 3 Операционные системы реального времени... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 130
3. 1. 4 Программируемые логические контроллеры ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 131
3. 2 ЯЗЫКИ ПРОГРАММИРОВАНИЯ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 134
3. 2. 1 Основные определения ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 134
3. 2. 2 Классификация языков ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 136
3. 2. 3 Языки спецификации и программирования ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 136
3. 2. 4 Полнота по Тьюрингу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 137
3. 2. 5 Модель вычислений ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 137
3. 2. 6 Стиль программирования ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 138
3. 2. 7 Стиль программирования, модель вычислений, платформа... ... ... ... ... ... ... 139
3. 2. 8 Критерии оценки языков ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 140
3. 2. 9 Требования к языкам для управляющих систем ... ... ... ... ... ... ... ... ... ... ... ... ... . 142
3. 2. 10 Краткий обзор языков, используемых при проектировании ВВС ... ... ... . . 142
3. 3 ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА ОТЛАДКИ И ТЕСТИРОВАНИЯ ВВС ... ... ... ... ... ... ... ... 153
3. 3. 1 Симулятор ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 153
3. 3. 2 Внутрисхемный эмулятор ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... . 155
3. 3. 3 IEEE 1149. 1 JTAG - механизм граничного сканирования ... ... ... ... ... ... ... ... . 157
3. 3. 4 Измерение производительности программ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 159
3. 3. 5 Анализ исходного кода ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 161
3. 3. 6 Инструментальные средства отладки ОС РВ eCos ... ... ... ... ... ... ... ... ... ... ... ... 165
3. 4 РАЗРАБОТКА ПРОГРАММНОГО ПРОДУКТА ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 166
3. 4. 1 Жизненный цикл проекта ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 166
3. 4. 2 Общие проблемы проектирования ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 167
3. 4. 3 Повторное использование ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 169
3. 4. 4 Информация для будущих руководителей ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 170
3. 4. 5 Особенности проектирования встроенных систем ... ... ... ... ... ... ... ... ... ... ... ... 176
4 УСТРОЙСТВО СОВРЕМЕННОГО КОНТРОЛЛЕРА НА ПРИМЕРЕ SDK-1. 1 ... ... 178
4. 1 НАЗНАЧЕНИЕ СТЕНДА ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 178
4. 2 СОСТАВ СТЕНДА ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 178
4. 3 РАЗЪЕМЫ СТЕНДА И НАЗНАЧЕНИЕ ВЫВОДОВ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 180
4. 4 ОБЗОР КОМПОНЕНТОВ ПРИНЦИПИАЛЬНОЙ ЭЛЕКТРИЧЕСКОЙ СХЕМЫ SDK-1. 1 ... ... . 184
4. 4. 1 Микроконтроллер ADuC812 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 184
4. 4. 2 Внешняя память программ и данных ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 185
4. 4. 3 Расширитель портов ввода-вывода на базе ПЛИС ... ... ... ... ... ... ... ... ... ... ... ... 186
4. 4. 4 Аналоговые входы-выходы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 189
4. 4. 5 Особенности реализации последовательного канала в стенде SDK 1. 1 . . 190
4. 4. 6 I2C-устройства ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 191
4. 4. 7 Источник питания ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 192
4. 4. 8 Схема сброса ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 192
4. 4. 9 Кварцевые резонаторы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 193
4. 4. 10 Фильтрующие емкости ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 193
4. 5 МИКРОКОНТРОЛЛЕР ADUC812 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 194
4
4. 5. 1Система команд микроконтроллера ADuC812 ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 194
4. 5. 2Порты ввода-вывода микроконтроллера ADuC812 ... ... ... ... ... ... ... ... ... ... ... . . 196
4. 5. 3Организация памяти программ микроконтроллера ADuC812 ... ... ... ... ... ... 197
4. 5. 4Организация памяти данных микроконтроллера ADuC812... ... ... ... . 198 4. 5. 5
Программирование внутренних ППЗУ микроконтроллера ADuC812 ... . . 200
4. 5. 6 Система прерываний ADuC812 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 200
4. 5. 7 Особенности обработки прерываний в стенде SDK-1. 1 ... ... ... ... ... ... ... ... ... . 202
4. 6 РАСШИРИТЕЛЬ ПОРТОВ ВВОДА-ВЫВОДА НА БАЗЕ ПЛИС ... ... ... ... ... ... ... ... ... ... ... ... ... . 204
4. 6. 1 Регистр клавиатуры KB ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 206
4. 6. 2 Регистр шины данных ЖКИ DATA_IND ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 207
4. 6. 3 Регистр данных параллельного порта EXT_LO ... ... ... ... ... ... ... ... ... ... ... ... ... . . 207
4. 6. 4 Регистр данных параллельного порта EXT_HI ... ... ... ... ... ... ... ... ... ... ... ... ... ... 207
4. 6. 5 Регистр управления ENA ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 208
4. 6. 6 Регистр управления ЖКИ C_IND ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 209
4. 6. 7 Регистр управления светодиодами SV ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 209
4. 6. 8 Логическая схема ПЛИС: доступ к периферийным устройствам ... ... ... ... 209
4. 6. 9 Жидкокристаллический индикатор ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 211
4. 7 ВНЕШНЯЯ ПАМЯТЬ ПРОГРАММ И ДАННЫХ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 217
5 ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА ДЛЯ РАБОТЫ СО СТЕНДОМ SDK-1. 1 ... . 221
5. 1 ПРОГРАММИРОВАНИЕ СТЕНДА SDK-1. 1 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 221
5. 2 КОМПИЛЯТОР SDCC ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 222
5. 2. 1 Опции командной строки компилятора ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 222
5. 2. 2 Классы памяти ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 223
5. 2. 3 Абсолютная адресация... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 224
5. 2. 4 Реентерабельность... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 225
5. 2. 5 Оверлеи ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 226
5. 2. 6 Обработчики прерываний... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 226
5. 2. 7 Критические секции ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 227
5. 2. 8 Семафоры ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 227
5. 2. 9 Ассемблерные вставки ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 228
5. 2. 10 Использование меток ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 229
5. 2. 11 Директива __naked ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 229
5. 2. 12 Формат Intel HEX ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 230
5. 3 ИНСТРУМЕНТАЛЬНАЯ СИСТЕМА M3P ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 231
5. 3. 1 Язык FORTH ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 231
5. 3. 2 Основные команды M3P ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 232
5. 3. 3 Циклы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 234
5. 3. 4 Условные ветвления ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 235
5. 3. 5 Переменные и константы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 235
5. 3. 6 Загрузка файла в SDK-1. 1 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 236
5. 4 УТИЛИТА MAKE ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 236
5. 4. 1 Использование make ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 238
5. 4. 2 Пример makefile для Windows ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 239
5. 4. 3 Пример makefile для Linux ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 241
5. 5 СИСТЕМА КОНТРОЛЯ ВЕРСИЙ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 242
5. 5. 1 Работа с системой контроля версий ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 243
6 ПРИМЕРЫ ПРОГРАММИРОВАНИЯ СТЕНДА SDK-1. 1 ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 245
6. 1 ПРИСТУПАЕМ К РАБОТЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 245
6. 2 ПРОГРАММИРОВАНИЕ СВЕТОДИОДНЫХ ИНДИКАТОРОВ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 246
6. 3 ПРОГРАММИРОВАНИЕ ПОСЛЕДОВАТЕЛЬНОГО КАНАЛА ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 249
5
6. 4 ПРОГРАММИРОВАНИЕ ТАЙМЕРА ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 251
6. 5 ПРОГРАММИРОВАНИЕ ЖКИ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 254
6. 5. 1 Работа с ЖКИ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 254
6. 5. 2 Пример программы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 255
ПРИЛОЖЕНИЕ А.