Real-Time Interrupt-driven Concurrency [Коллектив авторов] (fb2) читать постранично
[Настройки текста] [Cбросить фильтры]
- 1
- 2
- 3
- . . .
- последняя (24) »
Real-Time Interrupt-driven Concurrency
Конкурентный фреймворк для создания систем реального времениВведение
Эта книга содержит документацию пользовательского уровня о фреймворке Real-Time Interrupt-driven Concurrency (RTIC). Справочник по API можно найти здесь. Также известен как Real-Time For the Masses. Это документация по RTIC версии v0.6.x; за документацией по другим версиям: • v0.5.x сюда. • v0.4.x сюда.Возможности
• Задачи как единица конкуренции 1. Задачи могут запускаться от событий (срабатывать в ответ на асинхронные воздействия) или вызываться по запросу программы. • Передача сообщений между задачами. Если точнее, сообщения можно передавать программным задачам в момент вызова. • Очередь таймера 2. Программные задачи можно планировать на запуск в определенный момент в будущем. Эту возможность можно использовать для создания периодических задач. • Поддержка приоритета задач, и, как результат, вытесняющей многозадачности. • Эффективное, избавленное от гонок данных, разделение ресурсов благодаря легкому разбиению на основанные на приоритетах критические секции 1. • Выполнение без Deadlock, гарантируемое на этапе компиляции. Данная гарантия строже, чем та, что предоставляется стандартный абтракцией Mutex. • Минимальные расходы на диспетчеризацию. Диспетчер задач иммет минимальную программную базу; основная работа по диспетчеризации происходит аппаратно. • Высокоэффективное использование памяти: Все задачи разделяют единый стек вызовов и отсутствует ресурсоемкая зависисмость от динамического аллокатора. • Все Cortex-M устройства полностью поддерживаются. • К такой модели задач можно применять так называемый анализ WCET (Наихудшего времени выполнения), а также техники анализа диспетчеризации. (Хотя мы еще не разработали дружественный к Rust'у инструментарий для этого.) • Приложения должны быть написаны в редакции 2018.Документация пользователя Справочник по API Чат
Присоединяйтесь к нам, чтобы говорить о RTIC в Matrix-комнате. Записи еженедельных собраний можно найти в HackMDВнести вклад
Новые возможности и большие изменения следует проводить через процесс RFC в соответствующем RFC-репозитории.Благодарности
Этот крейт основан на языке Real-Time For the Masses, созданном Embedded Systems group в Техническом Университете Luleå, под руководством Prof. Per Lindgren.Ссылки
1 Eriksson, J., Häggström, F., Aittamaa, S., Kruglyak, A., & Lindgren, P. (2013, June). Real-time for the masses, step 1: Programming API and static priority SRP kernel primitives. In Industrial Embedded Systems (SIES), 2013 8th IEEE International Symposium on (pp. 110-113). IEEE. 2 Lindgren, P., Fresk, E., Lindner, M., Lindner, A., Pereira, D., & Pinho, L. M. (2016). Abstract timers and their implementation onto the arm cortex-m family of mcus. ACM SIGBED Review, 13(1), 48-53.Лицензия
Все исходные тексты (включая примеры кода) лицензированы под одной из лицензий: • Apache License, Version 2.0 (LICENSE-APACHE или https://www.apache.org/licenses/LICENSE-2.0) • MIT license (LICENSE-MIT или https://opensource.org/licenses/MIT) на ваш выбор. Текст книги лицензирован по условиям лицензий Creative Commons CC-BY-SA v4.0 (LICENSE-CC-BY-SA или https://creativecommons.org/licenses/by-sa/4.0/legalcode).Условия участия
Если вы не укажете этого отдельно, любой вклад, который вы предоставите в эту работу, как указано в тексте лицензии Apache-2.0, будет лицензирован по условиям, указанным выше, без каких-либо дополнительных условий.- 1
- 2
- 3
- . . .
- последняя (24) »
Последние комментарии
10 часов 29 минут назад
10 часов 45 минут назад
10 часов 58 минут назад
11 часов 3 минут назад
13 часов 35 минут назад
13 часов 39 минут назад