
Real-Time Interrupt-driven Concurrency
Описание
This book provides user-level documentation for the Real-Time Interrupt-driven Concurrency (RTIC) framework, a competitive framework for creating real-time systems in Rust. It details the API, showcasing features like task management, message passing, timer queues, priority-based scheduling, and deadlock-free execution. RTIC efficiently utilizes resources, supports all Cortex-M devices, and enables WCET analysis. The book is based on the Real-Time For the Masses language, providing a practical guide to building real-time applications with Rust and RTIC. The book also includes examples, ranging from simple to complex, demonstrating the framework's capabilities and offering guidance for setting up a development environment, including QEMU emulation.
Конкурентный фреймворк для создания систем реального времени
Эта книга содержит документацию пользовательского уровня о фреймворке Real-Time Interrupt-driven Concurrency (RTIC). Справочник по API можно найти здесь.
Также известен как Real-Time For the Masses.
Это документация по RTIC версии v0.6.x; за документацией по другим версиям:
• v0.5.x сюда.
• v0.4.x сюда.
• Задачи как единица конкуренции 1. Задачи могут
• Передача сообщений между задачами. Если точнее, сообщения можно передавать программным задачам в момент вызова.
• Очередь таймера 2. Программные задачи можно планировать на запуск в определенный момент в будущем. Эту возможность можно использовать для создания периодических задач.
• Поддержка приоритета задач, и, как результат, вытесняющей многозадачности.
• Эффективное, избавленное от гонок данных, разделение ресурсов благодаря легкому разбиению на
• Выполнение без Deadlock, гарантируемое на этапе компиляции. Данная гарантия строже, чем та, что предоставляется стандартный абтракцией Mutex.
• Минимальные расходы на диспетчеризацию. Диспетчер задач иммет минимальную программную базу; основная работа по диспетчеризации происходит аппаратно.
• Высокоэффективное использование памяти: Все задачи разделяют единый стек вызовов и отсутствует ресурсоемкая зависисмость от динамического аллокатора.
• Все Cortex-M устройства полностью поддерживаются.
• К такой модели задач можно применять так называемый анализ WCET (Наихудшего времени выполнения), а также техники анализа диспетчеризации. (Хотя мы еще не разработали дружественный к Rust'у инструментарий для этого.)
• Приложения должны быть написаны в редакции 2018.
Присоединяйтесь к нам, чтобы говорить о 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, будет лицензирован по условиям, указанным выше, без каких-либо дополнительных условий.
В этой части книги фреймворк Real-Time Interrupt-driven Concurrency (RTIC) представляется новым пользователям путем прохода по примерам от простых к более сложным.
Все примеры в этой части книги можно найти в репозитарии проекта. Большинство из них можно пройти, запустив их на эмуляторе QEMU без специального оборудования.
Для запуска примеров на вашем ПК, вам понадобится программа qemu-system-arm. В the embedded Rust book есть инструкции по настройке среды для эмбеддед разработке, в том числе QEMU.
Ниже представлены примеры использования RTIC (RTFM) в реальных проектах.
Похожие книги

Цифровой этикет. Как не бесить друг друга в интернете
Книга "Цифровой этикет" Ольги Лукиновой – это практическое руководство по онлайн-этикету. Автор собирает и систематизирует правила поведения в сети, основываясь на принципах удобства, безопасности, экономии ресурсов и уважения личных границ. Книга основана на анализе исторических правил, делового этикета и обратной связи от подписчиков Telegram-канала "Цифровой этикет". Она помогает избежать неловкостей, повысить эффективность работы и улучшить взаимоотношения в онлайн-среде. Книга полезно для всех, кто хочет эффективно и вежливо общаться в интернете, будь то деловые партнеры, коллеги или друзья.

Как создаются игры
Данное руководство предназначено для начинающих в игровой индустрии. Авторы, Григорий Радовильский и Наталья Аркадьевна Андрианова, детально описывают внутренние процессы разработки игр, делясь своим опытом. Книга охватывает все аспекты, от создания и продвижения игр до анализа текущего состояния индустрии, существующих профессий и актуальных трендов. Вы узнаете, как развивалась индустрия от первых игровых приставок до современных консолей и ПК, и как технологические достижения повлияли на процесс создания игр. Понимание основных этапов и профессий, задействованных в разработке, поможет вам лучше ориентироваться в этой сфере и сделать осознанный выбор карьерного пути.

SEO для Чайников
Этот практический курс "SEO для Чайников" детально рассматривает архитектуру поисковых систем Яндекса и Google. Вы познакомитесь с процессами индексирования, обработки запросов, ранжирования результатов поиска, и освоите ключевые принципы продвижения сайтов. Курс подходит для начинающих, желающих понять, как работают поисковые системы и как эффективно продвигать свои сайты. Узнайте, как Яндекс и Google обрабатывают запросы, как работают поисковые роботы и как оптимизировать сайты для улучшения позиций в результатах поиска.

Rust на примерах
Данное пособие, "Rust на примерах", представляет собой практическое руководство по изучению языка программирования Rust. Пособие содержит множество примеров, иллюстрирующих различные концепции языка, включая работу со стандартной библиотекой. Начинающие программисты найдут здесь подробные объяснения и пошаговые инструкции, необходимые для освоения основ Rust. Учебник охватывает такие ключевые темы, как примитивные типы данных, пользовательские типы, переменные, типы, преобразования, выражения, управление потоком, функции, модули, контейнеры, Cargo, атрибуты, обобщения, правила областей видимости, Traits, макросы, обработка ошибок, типы стандартной библиотеки, стандартные потоки, тестирование, unsafe-код, совместимость, и метаданные. Пособие также включает примеры Hello World и форматированного вывода, а также подробные комментарии к коду. Изучение Rust с помощью этого учебника станет эффективным и увлекательным процессом.
