Операционные системы реального времени
Покупка
Тематика:
Проектирование, отладка и тестирование ПО. Вспомогательные средства проектирования. CASE-технологии
Издательство:
Поволжский государственный технологический университет
Автор:
Мясников Владимир Иванович
Год издания: 2016
Кол-во страниц: 140
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Магистратура
ISBN: 978-5-8158-1773-9
Артикул: 785926.01.99
Доступ онлайн
В корзину
Приведены необходимые теоретические сведения по операционной системе реального времени FreeRTOS. разработке программного обеспечения под данную операционную систему для микропроцессорного стенда SDK-2.0. в основе которого лежит однокристальный микроконтроллер LPC2292. имеющий в своем составе разнообразные устройства, предназначенные для ввода, обработки и вывода информации в цифровом и аналоговом виде.
Доя студентов направления подготовки 09.04.01 «Информатика и вычислительная техника».
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
В. И. МЯСНИКОВ ОПЕРАЦИОННЫЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ Лабораторный практикум Йошкар-Ола 2016
УДК 681.3 ББК 32.97 М 88 Рецензенты: технический директор СКБ «Хроматэк» В. С. Устюгов доцент кафедры ПиП ЭВС ПГТУ, канд. техн. наук В. В. Кошкин Печатается по решению редакционно-издательского совета ПГТУ Мясников, В. И. М 88 Операционные системы реального времени: лабораторный практикум / В. И. Мясников. – Йошкар-Ола: Поволжский государственный технологический университет, 2016. – 140 с. ISBN 978-5-8158-1773-9 Приведены необходимые теоретические сведения по операционной системе реального времени FreeRTOS, разработке программного обеспечения под данную операционную систему для микропроцессорного стенда SDK-2.0, в основе которого лежит однокристальный микроконтроллер LPC2292, имеющий в своем составе разнообразные устройства, предназначенные для ввода, обработки и вывода информации в цифровом и аналоговом виде. Для студентов направления подготовки 09.04.01 «Информатика и вычислительная техника». УДК 681.3 ББК 32.97 ISBN 978-5-8158-1773-9 В. И. Мясников, 2016 Поволжский государственный технологический университет, 2016
ОГЛАВЛЕНИЕ ПРЕДИСЛОВИЕ ........................................................................................... 4 ВВЕДЕНИЕ ................................................................................................... 5 ОБЩИЕ СВЕДЕНИЯ О СТЕНДЕ ............................................................... 6 ТЕХНИКА БЕЗОПАСНОСТИ ПРИ ВЫПОЛНЕНИИ ЛАБОРАТОРНЫХ РАБОТ .......................................................................... 8 1. FreeRTOS – управление задачами .................................................10 1.1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ ..........................................................10 1.2. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ ........................................24 1.3. СОДЕРЖАНИЕ ОТЧЕТА .............................................................34 1.4. КОНТРОЛЬНЫЕ ВОПРОСЫ .......................................................35 Учебно-методическое обеспечение ...................................................... 35 2. FreeRTOS – управление очередями ...............................................36 2.1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ ..........................................................36 2.2. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ ........................................46 2.3. СОДЕРЖАНИЕ ОТЧЕТА .............................................................48 2.4. КОНТРОЛЬНЫЕ ВОПРОСЫ .......................................................48 Учебно-методическое обеспечение ...................................................... 48 3. FreeRTOS – драйверы, управление прерываниями ...................49 3.1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ ..........................................................49 3.2. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ ........................................59 3.3. СОДЕРЖАНИЕ ОТЧЕТА .............................................................61 3.4. КОНТРОЛЬНЫЕ ВОПРОСЫ .......................................................61 Учебно-методическое обеспечение ..................................................... 62 4. FreeRTOS – семафоры, синхронизация задач ..............................63 4.1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ ..........................................................63 4.2. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ ........................................72 4.3. СОДЕРЖАНИЕ ОТЧЕТА .............................................................72 4.4. КОНТРОЛЬНЫЕ ВОПРОСЫ .......................................................74 Учебно-методическое обеспечение ..................................................... 75 5. FreeRTOS – мьютексы, управление ресурсами ...........................76 5.1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ ..........................................................76 5.2. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ ........................................83 5.3. СОДЕРЖАНИЕ ОТЧЕТА .............................................................85 5.4. КОНТРОЛЬНЫЕ ВОПРОСЫ .......................................................86 Учебно-методическое обеспечение ..................................................... 86 ЗАКЛЮЧЕНИЕ ............................................................................................87 ПРИЛОЖЕНИЯ .................................................................................................... 88
ПРЕДИСЛОВИЕ Микропроцессорные системы, которые непосредственно вза- имодействуют с объектом управления или контроля, принято называть встроенными (embedded). В связи с появлением боль- шого количества разнообразных микроконтроллеров, встроенные системы в последнее время широко внедрились почти во все об- ласти деятельности человека. Данный лабораторный практикум посвящен вопросам разра- ботки программного обеспечения под операционной системой реального времени FreeRTOS. Он является продолжением лабо- раторного практикума «Программное обеспечение встраиваемых систем» для учебного стенда SDK-2.0, включающего 6 лабора- торных работ. Настоящий практикум включает в себя 5 лабораторных работ, каждая из которых начинается с теоретической части, после ко- торой описан порядок проведения работы и приведена структура отчета по ней. Далее следуют контрольные вопросы и учебно- методическое обеспечение. В ходе выполнения лабораторных работах изучается операци- онная система реального времени FreeRTOS, которая портирова- на под микроконтроллер LPC2292. Исследуются особенности разработки программного обеспечения под операционную систе- му FreeRTOS. Лабораторный практикум адресован студентам, обучающимся по направлению подготовки 090401 – «Информатика и вычисли- тельная техника», а также студентам других специальностей и направлений, интересующимся разработкой встраиваемых при- ложений.
ВВЕДЕНИЕ В большинстве встраиваемых систем используется опера- ционная система реального времени. ОС РВ обеспечивает па- раллельное выполнение многих задач. В однопроцессорной вычислительной системе параллельное выполнение задач реа- лизуется достаточно частым переключением процессора с од- ной задачи на другую. Последовательность переключений процессора, а также ин- тервал занятости его выполнением каждой из задач до пере- ключения на какую-нибудь другую задачу регулируются с по- мощью приоритетов, назначаемых задачам. Применение готовой ОС РВ во встраиваемых системах да- ет, во-первых, средство распределения ресурсов между при- кладными процессами и средство организации этих процессов. Во-вторых, это отлаженный (то есть с минимальным количе- ством ошибок) программный код с полезной функционально- стью. В-третьих, ОС РВ, как правило, является архитектурой с заведомо известными плюсами и минусами. В-четвертых, это средство для организации связи с достаточно большой номен- клатурой аппаратных средств (различных контроллеров, пе- риферийных устройств). Самостоятельная поддержка множества протоколов обмена, различных процессоров и контроллеров, как правило, оказыва- ется нерентабельной для большинства компаний, создающих встраиваемые системы, что также определяет использование готовых ОС РВ.
ОБЩИЕ СВЕДЕНИЯ О СТЕНДЕ Учебный лабораторный комплекс SDK-2.0 предназначен для изучения принципов организации микропроцессорных систем, структуры и функционирования базовых компонентов (памяти, контроллеров ввода-вывода, подсистемы памяти и т.д.), получе- ния навыков программирования встраиваемых систем различного назначения. Отличительными чертами SDK-2.0 является высокая произво- дительность процессорного ядра, ориентация на одну из наиболее динамично развивающихся архитектур – ARM7, большое разно- образие периферийных блоков, включая часы реального времени, энергонезависимую память EEPROM, графическую консоль, кон- троллер Ethernet, контроллер беспроводных сетей IEEE 802.15.4, порты CAN 2.0 и RS-485. Вычислительное ядро: центральный процессор имеет широко распространенную архитектуру ARM 7; значительный объем памяти программ и данных, наличие энергонезависимой памяти EEPROM позволяют реализо- вывать сложные системные программные комплексы, в том числе файловые системы и операционные системы реального времени; развитая структура подсистемы временной синхрониза- ции – встроенные часы реального времени, таймеры- счетчики – обеспечивают возможность глубокого иссле- дования принципов и проблем организации систем реаль- ного времени, планирования и синхронизации процессов и т.п.; аппаратный сторожевой таймер (watch dog) для защиты от зацикливания при сбоях. Система ввода-вывода большое количество дискретных входов-выходов с воз- можностью задавать образцовые тестовые воздействия; быстродействующие аналоговые входы и выходы рабо- тающие, в том числе, в режиме ПДП.
Коммуникационная подсистема: большой выбор коммуникационных интерфейсов: CAN 2.0, RS-485, RS-232, IEEE 802.15.4, Ethernet 10/100Base- TX; ресурсов стенда достаточно для реализации полнофунк- ционального стека протоколов TCP/IP, включая WEB- сервер. Возможности разработки и отладки ПО: возможность загрузки и запуска тестовых программ в ОЗУ контроллера, без перепрограммирования FLASH; возможность интерактивной встроенной отладки в рамках технологий JTAG и Embedded ICE; обновление встроенного системного программного обеспечения во FLASH-памяти производится c персонального компьютера по стандартному каналу RS-232, без применения специальных программаторов. Технические и эксплуатационные характеристики тип основного процессора – LCP2292; память программ FLASH – 256 Кбайт; статическое ОЗУ – 512 Кбайт; память EEPROM – 4 Кб; часы реального времени с резервным питанием; клавиатура – кнопочная 4*4; ЖКИ – графический FSTN, 122x32; звукоизлучатель. Ввод-вывод аналоговые входы – 8-канальный АЦП, 10 разрядов, 0..5В; аналоговые выходы – 2 канала на базе ШИМ, 10 разрядов, 0..5В; дискретные входы-выходы – 20 каналов TTЛ.
ТЕХНИКА БЕЗОПАСНОСТИ ПРИ ВЫПОЛНЕНИИ ЛАБОРАТОРНЫХ РАБОТ 1. Общие требования безопасности Опасные производственные факторы: воздействие на человека электрического тока, электрического поля, рентгеновского излучения, ультрафиолетового излучения. Действия факторов: вследствие неисправности кабеля, электрической вилки (розетки) или замыкания в цепи, пользователь компьютера попадает под напряжение. 1.1. Студенты допускаются к работе в лаборатории после прохождения ими вводного инструктажа с оформлением соответствующей записи в журнале по технике безопасности, первичного инструктажа на рабочем месте с записью в журнале по охране труда. Инструктаж проводит заведующий кабинетом, лабораторией. 1.2. Запрещается оставлять рабочие места и ходить по лаборатории во время занятия. 1.3. Запрещается самостоятельно устранять неисправности оборудования. 1.4. Запрещается находиться в лаборатории в верхней одежде. 2. Требования безопасности перед началом работы 2.1. К работе на стенде допускаются только лица, прошедшие инструктаж по правилам его использования. 2.2. Следует проверить наличие всех составляющих рабочего места стенда. 2.3. Необходимо убедиться в отсутствии видимых повреждений аппаратуры и рабочего места. Визуально проверить исправность штепсельной розетки, целостность проводов питания, штепсельной вилки. О выявленной неисправности сообщить преподавателю. 2.4. Убрать с рабочего места лишние предметы (сумки, папки и прочее). 2.5. Включать стенд можно только после разрешения преподавателя.
3. Требования безопасности во время работы 3.1. При работе со стендом и пользовании записями в тетради ( книге) последняя должна быть хорошо освещена (не менее 400 люкс) и находиться перед клавиатурой. 3.2. При внезапном отключении электроэнергии в сети необходимо выключить стенд. 3.3. Во время эксплуатации при повреждении штепсельного соединения, токопроводящего кабеля, появлении дыма, обнаружении замыкания на корпус немедленно отключить стенд и доложить о поломке преподавателю. 3.4. Запрещается вскрывать аппаратуру и производить ее ремонт. 3.5. Студенты обязаны бережно относиться к оборудованию, вычислительной технике, раздаточному материалу, мебели. 3.6. Не использовать программные средства, не относящиеся к теме занятия. 3.7. В случаях затруднений обращаться к преподавателю. 4. Требования безопасности в аварийной обстановке 4.1. При необходимости выключить рубильник. 4.2. Сообщить о случившемся преподавателю. 4.3. Не пользоваться стендом до полного устранения неис- правности. 4.4. При получении травмы и внезапном заболевании немед- ленно известить руководителя. 5. Требования безопасности по окончании работы 5.1. Выключить стенд. 5.2. Привести в порядок рабочее место, сдать рабочее место преподавателю. 5.3. Обо всех замечаниях и недостатках в работе стенда сооб- щить преподавателю. 6. Ответственность 6.1. Ответственность за выполнение инструкции несет зав. ка- бинетом (лабораторией).
ЛАБОРАТОРНАЯ РАБОТА № 1 FreeRTOS – управление задачами Цель работы – создание и настройка проектов под управ- лением операционной системы реального времени FreeRTOS. В процессе работы необходимо изучить: создание и управление задачами в операционной си- стеме реального времени FreeRTOS; выделение процессорного времени для каждой задачи внутри приложения; приоритеты задач; в каких состояниях может находиться задача. 1.1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Программному обеспечению реального времени свойстве- нен асинхронный характер, связанный с взаимодействием про- граммного обеспечения с физической системой в процессе управления. В большинстве случаев физическая система со- стоит из многих компонент, которые могут действовать одно- временно и независимо, в то же время программное обеспече- ние должно функционировать правильно, без ошибок. Сложность программного обеспечения имеет тенденцию увеличиваться по экспоненте с размером системы. И слож- ность, и асинхронный характер программного обеспечения в реальном масштабе времени приводят к необходимости ис- пользования модульного подхода при разработке программно- го обеспечения систем реального времени. Данный подход предполагает разбиение проекта на модули (задачи), связанные с функциональными компонентами разра- батываемого проекта. Так как задачи описывают состояния физических систем, для которых свойственен параллелизм, то отдельные задачи должны выполняться одновременно. В однопроцессорной вычислительной системе параллельное
выполнение задач реализуется достаточно частым переключе- нием процессора с одной задачи на другую. Количество функций-задач, одновременно выполняемых микроконтроллером, может доходить до нескольких десятков, вследствие этого возникает проблема организации и очередности выполнения каждой задачи. Кроме того, может потребоваться обеспечение запуска задачи через строго определенные интервалы времени, передача информацию от одной задачи другой и т.д. В таких случаях для ускорения проектирования и отладки программного обеспечения следует использовать операционную систему реального времени. Основная функциональность ОС заключается в планировщике задач. Он осуществляет распределение процессорного времени между задачами, выбирает задачу, которая должна запуститься. Планировщик задач в случае необходимости сохраняет контекст текущей активной задачи и восстанавливает контекст задачи, назначенной к исполнению. FreeRTOS – портативная операционная система реального времени с открытым исходным кодом для встраиваемых систем. Иерархически FreeRTOS содержит два уровня. 1. Аппаратнонезависимый – ядро системы: tasks.c, queue.c, list.c, плюс несколько заголовочных файлов. 2. Аппаратнозависимый от используемого микроконтроллера ( порт FreeRTOS): файлы port.c, portmacro.h, portISR.c. Особенность ОС FreeRTOS – запуск операционной системы осуществляется из приложения. Таким образом, запуск приложения на выполнение под управлением FreeRTOS выполняется в два этапа. 1. Настройка приложения, создание задач пользователя. 2. Запуск планировщика задач (запуск FreeRTOS).
Доступ онлайн
В корзину