Операционные системы микроконтроллеров. На примере операционной системы реального времени FreeRTOS [Владимир Мединцев] (pdf) читать постранично
Книга в формате pdf! Изображения и текст могут не отображаться!
[Настройки текста] [Cбросить фильтры]
- 1
- 2
- 3
- . . .
- последняя (22) »
МИКРОКОНТРОЛЛЕРОВ
Владимир Мединцев
На примере операционной системы реального времени FreeRTOS
© 2023, Владимир В. Мединцев. «Операционные системы
микроконтроллеров». Все права защищены. Ни одна часть этого
документа не может быть воспроизведена или передана каким-либо
образом, электронным, механическим, методом фотокопирования,
записи или как-то ещё без письменного разрешения автора.
УДК 004
ББК 32.973
М42
М42
Мединцев Владимир
Операционные системы микроконтроллеров : На примере
операционной системы реального времени FreeRTOS / Владимир
Мединцев. — [б. м.] : Издательские решения, 2023. — 228 с.
ISBN 978-5-0060-0974-5
УДК 004
ББК 32.973
12+ В соответствии с ФЗ от 29.12.2010 №436-ФЗ
ISBN 978-5-0060-0974-5
Оглавление
Оглавление.................................................................. 3
Введение ...................................................................... 7
Глава 1. Суперцикл .............................................. 10
FreeRTOS™ ................................................................................................. 13
Терминология .............................................................................................. 17
Глава 2. Структура FreeRTOS ......................... 19
Файлы FreeRTOS ........................................................................................ 23
Типы данных и стиль ................................................................................. 28
Имена переменных ..................................................................................... 28
Имена функций........................................................................................... 29
Форматирование ......................................................................................... 29
Макросы ...................................................................................................... 29
Глава 3. Управление памятью ......................... 31
Схема Heap_1 ............................................................................................. 33
Схема Heap_2 ............................................................................................. 35
Схема Heap_3 ............................................................................................. 37
Схема Heap_4 ............................................................................................. 37
Схема Heap_5 ............................................................................................. 40
Функции работы с кучей ........................................................................... 42
Глава 4. Управление задачами ........................ 44
Приоритеты задач .................................................................................... 47
Квантование времени ................................................................................ 48
Реализация задачи ...................................................................................... 50
Создание задачи ......................................................................................... 51
Блокировка задачи ...................................................................................... 52
Блокирующие и не блокирующие задачи .................................................. 55
Задача простоя .......................................................................................... 56
Практические эксперименты ................................................................... 59
Квант времени ............................................................................................ 61
3
Функции управления приоритетами ........................................................ 68
Удаление задач ........................................................................................... 69
Планировщик .............................................................................................. 69
Приоритетное упреждающее планирование ............................................ 70
Упреждающее планирование с приоритетом .......................................... 72
Кооперативная многозадачность .............................................................. 73
Глава 5. Управление очередями ..................... 74
Создание очереди ....................................................................................... 77
Отправка данных в очередь ...................................................................... 77
Получение данных ...................................................................................... 79
Блокировка задач ........................................................................................ 80
Получение из нескольких источников ....................................................... 85
Данные переменной длины......................................................................... 87
Проблема использования очередей ........................................................... 91
Глава 6. Обработка прерываний ..................... 95
Функции API и обработчики прерываний ................................................ 96
Макросы portYIELD_FROM_ISR() и portEND_SWITCHING_ISR() ..... 99
Отложенная обработка прерываний .................................................... 100
Бинарный семафор ................................................................................... 103
Создание бинарного семафора ................................................................ 105
«Взять» семафор xSemaphoreTake() ....................................................... 105
«ДАТЬ» семафор xSemaphoreGiveFromISR() ........................................ 106
Синхронизация прерывания и задачи...................................................... 107
Счетный семафор .................................................................................... 110
Создание счетного семафора .................................................................. 111
Практический пример.............................................................................. 112
Эффективность дизайна ........................................................................ 114
Вложенность прерываний....................................................................... 115
Глава 7. Программные таймеры ...................117
Контекст программного таймера ......................................................... 120
Очередь команд таймера ........................................................................ 121
Создание и запуск программного таймера ............................................ 122
Идентификатор таймера ...................................................................... 125
Изменение периода таймера................................................................... 128
Практическое использование .................................................................. 130
Обработка
- 1
- 2
- 3
- . . .
- последняя (22) »
Последние комментарии
8 часов 32 секунд назад
8 часов 1 минута назад
13 часов 20 минут назад
17 часов 1 минута назад
17 часов 22 минут назад
18 часов 16 минут назад