Курсы программирования микроконтроллеров
Общая информация Расписание и стоимость Преподаватели Отзывы слушателей
Предметная область
Управляющие встраиваемые системы Системы реального времени

Другие курсы

Курсы C++ Курсы Java Курсы Python Курсы C# (.NET) Курсы Microsoft C# (.NET) Программирование Android Курсы Web-технологий Программирование Linux Тестирование ПО Программирование микроконтроллеров

Обратная связь

+7 (812) 703-02-02 Форум
Печать

CORTEX-M-RTOS. Разработка управляющих программ для МК систем управления с использованием многозадачных ОС реального времени


График обучения: 7 занятий по 4 часа

Курс пока не поставлен в расписание. Оставить заявку

Аннотация

Введение в проблематику Систем Реального Времени: основные понятия и постановка задачи разработки управляющей программы реального времени. Реализация многозадачности в малой ОС РВ. Коммерческая ОСРВ microC/OS-II от фирмы Micrium и FreeRTOS. Типовой состав системных сервисов. Разбиение управляющего алгоритма на Задачи и управление Задачами в ОСРВ. Синхронизация событий и межзадачная коммуникация в ОСРВ. Разработка МК-системы управления уличным светофором под ОСРВ microC/OS-II и FreeRTOS.

Объем курса: 28 часов – 7 занятий по 4 ак. часа включая час на аттестационное собеседование,

Занятия представляют собой лекции с элементами практических упражнений, в ходе которых учащиеся изучают структуру ОСРВ microC/OS-II компании Micrium и FreeRTOS на микроконтроллерах с ядром ARM Cortex-M3, технику многопоточного программирования с их использованием. При проведении занятий используется интегрированная среда разработки Keil uVision v4.73 или v5.17 и оценочная плата Nucleo 32F103.

Документы об окончании обучения

  • Сертификат учебного центра
    Сертификат учебного центра

Преподаватели

Используемое лабораторное оборудование и программное обеспечение

Стандартная персональная рабочая станция с ОС Windows (инструментальный компьютер), отладочный модуль Discovery с МК STM32F100RB на базе ядра ARM CortexM3 и со средствами сопряжения (подключения) к инструментальному компьютеру с интегрированной средой разработки Keil uVision v4.73.

Знания и умения, полученные в результате обучения

В результате освоения программы у слушателей должен сформироваться комплекс знаний, умений и навыков в области проектирования цифровых управляющих систем на базе микроконтроллеров:

  • приобретают знания по использованию Операционной Системы Реального Времени microC/OS-II и микроконтроллера с ядром ARM Cortex-M3;
  • приобретают основные навыки работы в интегрированной среде разработки;
  • осваивают основы кросс-технологии разработки программы c ОСРВ: трансляция на инструментальном компьютере, загрузка программы в целевой микроконтроллер, отладка программы на целевом микроконтроллере или на ее программной модели (симуляторе).

В результате освоения программы слушатели должны:

знать:

  • принципы формулирования требований реального времени к управляющей программе;
  • основные свойства и характеристики сервисов малой ОСРВ;

уметь:

  • корректно пользоваться возможностями сервисов ОСРВ для выполнения требований реального времени при разработке многозадачной управляющей программы;
  • осуществлять обоснованный выбор ОСРВ, исходя из особенностей задачи управления объектом;

владеть:

  • языковыми и программными средствами, позволяющими реализовать типовые действия по управлению основными периферийными подсистемами МК.

Расписание

Курс пока не поставлен в расписание. Оставить заявку на курс

Стоимость

Дата Физ. лица, руб. Юр. лица, руб.
Без скидки Cкидка 10%* Cкидка 15%** Без скидки Cкидка 10% Cкидка 15%
Цена c 08.05.2018 18000 16200 15300 22600 20350 19250

*Скидка 10%:
- для ранее обучавшихся;
- при одновременном оформлении и оплате 2-х краткосрочных курсов на одного слушателя.
**Скидка 15% при одновременном оформлении и оплате 3-х краткосрочных курсов на одного слушателя.
Студентам ВУЗов Санкт-Петербурга любой формы обучения скидка до 25%.
Примечание.
Скидки не предоставляется на курсы с дистанционной формой обучения.
Скидки не предоставляется на комплексные и модульные программы обучения.
Внимательно ознакомьтесь со всеми условиями акций в разделе «Акции и скидки».

Требования к начальному уровню знаний

Программа предназначена для технических специалистов, имеющих опыт разработки микроконтроллерных систем управления, и знакомых с МК на базе вычислительных ядер ARM Cortex-M3.

Лица, желающие освоить программу повышения квалификации, должны иметь среднее профессиональное или высшее образование. К обучению по программе также допускаются студенты, получающие среднее профессиональное или высшее образование.

Для успешного прохождения обучения по программе повышения квалификации слушатели должны знать основы электротехники, основы цифровой техники, а также иметь навыки программирования на языке Си и практику работы в интегрированной среде разработки программ для микроконтроллеров Keil uVision v4.7x или v5.1x.

Курсы, обеспечивающие достаточный начальный уровень знаний:

Программа курса

Тема 1. ОСРВ, ее особенности
1.1 Основы использования ОСРВ в управляющей программе. 
1.1.1 Требования реального времени.
1.1.2 Примеры ситуаций, в которых ОСРВ облегчает проектирование.
1.1.3 Обзор двух малых ОСРВ. Конфигурирование ОСРВ.

1.2 Как выглядит ОСРВ для программиста. 
1.2.1 Почему ОСРВ используется в формате исходных текстов.
1.2.2 Какова структура простейшей многопоточной программы при использовании ОСРВ.
1.2.3 Системные сервисы для создания Задачи.
Практические занятия 
Простой проект под ОСРВ.
Структура программы.
Особенности и типовые приемы отладки.

Тема 2. Управление Задачами и временем в управляющей программе
2.1 Проектирование многозадачной программы. 
2.1.1 Обоснование выбора количества Задач.
2.1.2 Создание Задач: последовательность действий и их особенности в ОСРВ microC/OS-II.
2.1.3 Создание нескольких Задач на базе одной функции: для чего и как.

2.2 Выбор приоритетов Задач 
2.2.1 Приоритеты и алгоритм планирования и диспетчеризации.
2.2.2  Как задаются приоритеты в ОСРВ microC/OS-II.

2.3 Приостановка/возобновление Задачи: для чего и как это делается. 
2.3.1 Понятие состояния Задачи.
2.3.2 Системные сервисы для изменения состояния Задачи.

2.4 Управление временем. 
2.4.1 Тайм-ауты в Задачах. Что такое «программные таймеры».
2.4.2  Сервисы управления временем.
Практические занятия
Программа многоканальных измерений с использованием многозадачности.

Тема 3. Межзадачная синхронизация
3.1 Цели межзадачной синхронизации
3.1.1 Когда требуется синхронизация.
3.1.2 Критические секции, управление диспетчеризацией, динамическое изменение приоритета, понятие синхронизирующего сервиса

3.2 Сервисы синхронизации: семафоры. 
3.2.1 Способы использования семафоров.
3.2.2 Конфликты за ресурс.
3.2.3 Разные способы использования двоичных и счетных семафоров.
3.2.4 Недостатки семафоров: инверсия приоритетов и тупики.

3.3 Сервисы синхронизации: мьютексы.  
3.3.1 Протоколы избегания инверсии: наследование приоритета в мьютексах.
Практические занятия 
Использование семафоров и мьютексов для ограничения доступа к коммуникационному интерфейсу в программе многоканальных измерений.

Тема 4. Синхронизация с множественными событиями. Флаги событий
4.1 Когда это требуется. 
4.1.1 Понятие о синхронизации с комплексным событием.
4.1.2 Пример комплексного события

4.2 Объект синхронизации «группа флагов событий» в ОСРВ microC/OS-II. 
4.2.1 Реализация «групп флагов»: свойства и возможности.
4.2.2 Пример использования в программе многоканальных измерений.

4.3 Флаги событий в FreeRTOS. 
4.3.1 Аналогии и различия флагов событий по сравнению с microC/OS-II.
Практические занятия
Пример использования «группы флагов» в программе опроса матричной клавиатуры.

Тема  5. Межзадачная коммуникация и сервисы коммуникации
5.1 Сервисы межзадачной коммуникации: «почтовые ящики».
5.1.1 Реализация и использование «почтовых ящиков» в microC/OS-II.
5.1.2 Как выявить переполнение «ящика» и как избежать потери данных

5.2 Сервис «очередь сообщений» 
5.2.1 Реализации «очереди» в microC/OS-II.
5.2.2  Как выбрать необходимый размер «очереди».
5.2.3 Преимущества и недостатки «очередей» в сравнении с «ящиками».

5.3 Примеры использования объектов коммуникации 
5.3.1 Аналогии и различия межзадачной коммуникации в программt под microC/OS-II и под FreeRTOS
Практические занятия
Инкапсуляция передаваемых данных в «почтовый ящик в программе многоканальных измерений.
Как «очередь сообщений» помогает избежать потери данных при межзадачной коммуникации.

Тема 6. Прерывания под ОСРВ. Портирование ОСРВ
6.1 Обработка прерываний в программе с многозадачностью. 
6.1.1 Когда целесообразно помещать код в обработчик прерывания.
6.1.2 Как обрабатывается прерывание в ОСРВ microC/OS-II и как в FreeRTOS.
6.1.3  Разделение кода между Обработчиком и Задачей.
6.1.4 Выбор приоритетов для Обработчиков и Задач.

6.2 Управление приоритетами под ОСРВ на ядре Cortex-M  
6.2.1 Разница в программе при использовании microC/OS-II и в FreeRTOS

6.3 Сложная управляющая программа под ОСРВ Разбор и сравнение сложной программы, реализованной под microC/OS-II и в FreeRTOS.
6.3.1 Обсуждение преимуществ и недостатков.
Практические занятия 
Разбор программы, в которой использование пользовательского прерывания оказывается полезным.

Тема 7. Портирование ОСРВ
7.1 Когда требуется портирование. 
7.1.1 Сравнение платформо-зависимой части ОСРВ для двух рассмотренных систем.
7.1.2 Какая часть кода не может быть написана на Си и требует использования уровня Ассемблера.
Практические занятия Не предусмотрены