RT-Thread появился в 2006 году и представляет собой открытое, нейтральное и основанное на сообществе операционную систему реального времени (RTOS).
RT-Thread написан преимущественно на языке C, его легко понять и просто портировать (можно быстро портировать на широкий спектр популярных микроконтроллеров и модульных чипов). В дизайне систем реального времени используются объектно-ориентированные методы программирования, что делает код элегантным, структурированным, модульным и очень адаптируемым.
Существует стандартная и нано-версия RT-Thread. Для систем с ограниченными ресурсами микроконтроллера (MCU) можно настроить нано-версию, которая требует всего 3 КБ флэш-памяти и 1,2 КБ оперативной памяти. Для ресурсоёмких IoT-устройств RT-Thread может использовать онлайн-инструмент для управления пакетами программного обеспечения вместе с инструментами настройки системы, чтобы достичь интуитивно понятного и быстрого модульного подхода и бесшовно импортировать обширные пакеты программного обеспечения.
Архитектура RT-Thread включает не только ядро реального времени, но и обширные компоненты. Она выглядит следующим образом:
Слой ядра: ядро RT-Thread, сердцевина RT-Thread, включает реализацию объектов в системе ядра, таких как многопоточность и её планирование, семафор, почтовый ящик, очередь сообщений, управление памятью, таймеры и т. д.; libcpu/BSP (файлы, связанные с миграцией чипа/пакет поддержки платы) тесно связан с оборудованием и состоит из драйверов периферийных устройств и переноса процессора.
Компоненты и уровень служб: компоненты основаны на программном обеспечении верхнего уровня ядра RT-Thread, таком как виртуальные файловые системы, интерфейсы командной строки FinSH, сетевые фреймворки, фреймворки устройств и многое другое. Модульная конструкция обеспечивает высокую внутреннюю согласованность компонентов и низкую связь между компонентами.
Программное обеспечение RT-Thread: универсальное программное обеспечение, работающее на платформе операционной системы IoT RT-Thread для различных областей применения и состоящее из информации о документации, исходного кода или файлов библиотек. RT-Thread предлагает открытую платформу пакетов с официально доступными или предоставленными разработчиками пакетами, которые предоставляют разработчикам выбор повторно используемых пакетов, являющихся важной частью экосистемы RT-Thread. Экосистема пакетов имеет решающее значение для выбора операционной системы, поскольку эти пакеты в значительной степени многоразовые и модульные, что облегчает разработчикам приложений создание желаемой системы в кратчайшие сроки. RT-Thread поддерживает более 370 пакетов программного обеспечения.
Каталог исходного кода RT-Thread представлен следующим образом:
Название | Описание |
---|---|
bsp | Пакет поддержки платы на основе портирования различных плат для разработки. |
components | Компоненты, такие как оболочка, файловая система, стек протоколов и т. д. |
documentation | Связанные документы, такие как стиль кодирования, Doxygen и т.д. |
examples | Соответствующий пример кода. |
include | Заголовочные файлы ядра RT-Thread. |
libcpu | Код портирования процессора, такой как ARM/MIPS/RISC-V и т. д. |
src | Исходные файлы для ядра RT-Thread. |
tools | Скрипт-файлы для инструмента создания команд RT-Thread. |
RT-Thread в настоящее время портирован почти на 200 плат для разработки, большинство BSP поддерживают MDK, среду разработки IAR и компилятор GCC и предлагают стандартное MDK- и IAR-проект, который позволяет пользователям добавлять свой собственный код приложения непосредственно на основе проекта. Каждое BSP имеет аналогичную структуру каталогов, и большинство BSP предоставляют файл README.md, файл в формате Markdown, который содержит базовое введение в BSP и объясняет, как легко начать работу с BSP.
RT-Thread поддерживает множество архитектур и охватывает основные архитектуры в текущих приложениях. Архитектура и производитель чипа:
Основные поддерживаемые IDE/компиляторы RT-Thread включают:
Руководство пользователя | Обучающие видео
RT-Thread Studio IDE (также известная как RT-Studio) — это интегрированная среда разработки «из одной руки», разработанная командой RT-Thread. Она имеет простое в использовании графическое конфигурационное решение и множество пакетов программного обеспечения и ресурсов компонентов. RT-Studio имеет функции для создания, настройки и управления проектами. Управление и редактирование кода, управление SDK, конфигурация сборки, конфигурация отладки, загрузка программы и отладка.
Мы стремимся сделать использование RT-Studio как можно более интуитивным, сократить дублирование работы и повысить эффективность разработки.
Инструмент Env
На начальном этапе команда RT-Thread также создала вспомогательный инструмент под названием Env. Это вспомогательное средство с TUI (текстовым интерфейсом пользователя). Разработчики могут использовать инструмент Env для настройки и генерации проектов GCC, Keil MDK и IAR.
Первые шаги
Основываясь на STM32F103 BluePill или Raspberry Pi Pico.
RT-Thread предоставляет документацию по программированию, учебные пособия и справочные материалы, а также образцы ядра.
Симулятор
RT-Thread BSP может быть скомпилирован напрямую и загружен для использования на соответствующей платформе разработки. Кроме того, RT-Thread предлагает qemu-vexpress-a9 BSP, который можно использовать без аппаратной платформы. Более подробную информацию вы можете найти в руководстве по первым шагам ниже.
Windows | Linux Ubuntu | Mac OS
Лицензия
RT-Thread — это программное обеспечение с открытым исходным кодом, которое с версии 3.1.1 находится под лицензией Apache Version 2.0. Информацию о лицензии и авторские права обычно можно найти в начале кода:
/* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
* ...
*/
Сообщество
Команда RT-Thread очень благодарна за поддержку всех разработчиков сообщества. Если у вас есть идеи, предложения или вопросы об использовании RT-Thread, вы можете связаться с RT-Thread через следующие каналы, и мы будем обновлять RT-Thread в режиме реального времени через эти каналы. В то же время все вопросы можно задать в разделе «Проблемы» репозитория RT-Thread или на форуме RT-Thread. Члены сообщества ответят на них.
Веб-сайт | Github | Twitter | LinkedIn | Youtube | Facebook | Medium
Вклад
Если вы заинтересованы в RT-Thread и хотите участвовать в разработке RT-Thread и внести свой вклад в код, пожалуйста, ознакомьтесь с Руководством по внесению вклада в код (.github/CONTRIBUTING.md).
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.