Введение
RT-Thread появился в 2006 году и представляет собой операционную систему для интернета вещей, которая развивается на основе принципов открытости, нейтральности и сообщества. RT-Thread в основном написан на языке C и имеет простую и понятную структуру, а также обладает возможностью лёгкой портируемости на различные микроконтроллеры (MCU) и модули. В RT-Thread методы объектно-ориентированного проектирования применяются к разработке систем реального времени, что делает код элегантным, архитектуру ясной, систему модульной и легко адаптируемой.
У RT-Thread есть полная версия и Nano-версия. Для систем с ограниченными ресурсами можно использовать инструменты для создания версии NANO с ядром размером всего 3 КБ флэш-памяти и 1,2 КБ оперативной памяти. Для более богатых ресурсами устройств IoT можно использовать полную версию RT-Thread, где онлайн-инструмент управления пакетами программного обеспечения и инструмент настройки системы позволяют быстро и интуитивно создавать модульные конфигурации, а также бесшовно интегрировать богатый набор функций, таких как графические интерфейсы и сенсорные эффекты, подобные тем, которые используются в Android.
Архитектура RT-Thread
RT-Thread — это операционная система для интернета вещей, состоящая из ядра RTOS и компонентов промежуточного слоя. Архитектура включает:
Ядро: ядро RT-Thread является основной частью операционной системы и включает реализацию объектов в системе ядра, таких как многозадачность, семафоры, почтовые ящики, очереди сообщений, управление памятью, таймеры и т. д. Libcpu/BSP (файлы поддержки переноса чипа / пакет поддержки платы) тесно связаны с аппаратными средствами и состоят из драйверов устройств и переноса процессора.
Компоненты и сервисы: компоненты представляют собой надстройки над ядром RT-Thread и включают такие функции, как виртуальная файловая система, интерфейс командной строки FinSH, сетевая структура, структура устройств и другие. Они разработаны с использованием модульного подхода, обеспечивая высокую связность внутри компонентов и низкую связанность между ними.
Пакеты программного обеспечения RT-Thread: работают на платформе операционной системы RT-Thread для IoT и предоставляют универсальные программные компоненты для различных областей применения. Они состоят из описательной информации, исходного кода или библиотечных файлов. Платформа пакетов программного обеспечения RT-Thread предлагает широкий выбор повторно используемых пакетов, разработанных как официальными, так и сторонними разработчиками. Это важная часть экосистемы RT-Thread. Экосистема пакетов программного обеспечения играет ключевую роль в выборе операционной системы, поскольку эти пакеты обладают высокой степенью повторного использования, модульности и удобства для разработчиков приложений, позволяя им быстро создавать желаемые системы. RT-Thread уже поддерживает более 450 пакетов программного обеспечения.
Особенности RT-Thread
Структура каталога исходного кода
Структура каталогов исходного кода RT-Thread выглядит следующим образом:
Название | Описание |
---|---|
bsp | Пакет поддержки платы (Board Support Package), предназначенный для переноса на различные платы разработки |
components | Код различных компонентов RT-Thread, таких как finsh и gui |
documentation | Соответствующая документация, такая как стандарты кодирования |
examples | Примеры соответствующего кода |
include | Заголовочные файлы ядра RT-Thread |
libcpu | Переносной код для различных чипов |
src | Исходный код ядра RT-Thread |
tools | Скрипты инструментов сборки RT-Thread |
В настоящее время RT-Thread поддерживает перенос почти на 90 плат разработки, большинство BSP поддерживают среду разработки MDK и IAR и компилятор GCC, и предоставляются готовые проекты MDK и IAR, позволяющие пользователям добавлять свой собственный код приложения непосредственно в проект. Структура каталогов каждого BSP очень похожа, и все они предоставляют файл README.md, содержащий базовое введение в этот BSP и соответствующие инструкции, чтобы пользователи могли быстро начать работу.
Env — это вспомогательный инструмент разработки от RT-Thread, предназначенный для проектов, основанных на операционной системе RT-Thread. Он предоставляет среду компиляции и сборки, графическую конфигурацию системы и функции управления пакетами. Встроенный menuconfig обеспечивает простой в использовании инструмент конфигурации, позволяющий свободно настраивать ядро, компоненты и пакеты программного обеспечения, создавая систему по принципу «конструктора».
Ресурсная документация
Аппаратная поддержка
Операционная система RT-Thread RTOS поддерживает множество архитектур и охватывает основные архитектуры, используемые в настоящее время. Поддерживаемые архитектуры и производители чипов включают:
ARM Cortex-M0/M0+: например, ST
ARM Cortex-M3: например, ST, Allwinner, Freescale, Nuvoton, NXP, Nordic, GigaDevice, Realtek, Ambiq Micro и др.
ARM Cortex-M4: например, ST, Infineon, Nuvoton, NXP, Nordic, GigaDevice, Realtek, Ambiq Micro и др.
ARM Cortex-M7: например, ST, NXP
ARM Cortex-M23: например, GigaDevice
ARM Cortex-M33: например, ST
ARM Cortex-R4
ARM Cortex-A8/A9: например, NXP
ARM7: например, Samsung
ARM9: например, Allwinner, Xilinx, GOKE
ARM11: например, Fullhan
MIPS32: например, loongson, Ingenic
RISC-V Поддерживаемые чипы и производители:
RV32E/RV32I[F]/RV64[D]: Sifive, Kendryte, Bouffalo Lab, Nuclei, T-Head, HPMicro.
ARC: Synopsys.
DSP: Texas Instruments.
C-Sky.
x86.
Поддерживаемые IDE и компиляторы:
RT-Thread поддерживает следующие IDE и компиляторы:
Для командной строки используется scons.
Быстрое начало работы:
Можно скомпилировать и загрузить BSP на соответствующую плату разработки или использовать qemu-vexpress-a9 BSP без аппаратной платформы. Подробные инструкции можно найти в руководстве по началу работы для QEMU (Windows и Ubuntu).
Документация:
Доступна документация по использованию RT-Thread, включая программирование, учебные пособия и примеры кода. Также есть видеоматериалы по различным темам, связанным с RT-Thread.
Примеры кода:
Предоставлены примеры кода для различных компонентов RT-Thread: ядро, устройства, файловые системы, сети и API.
Видеоматериалы:
На видеохостинге доступны обучающие материалы и видео по RT-Thread.
Лицензия:
Система RT-Thread полностью открыта и распространяется под лицензией Apache License 2.0.
Сообщество:
Сообщество RT-Thread активно поддерживается и предоставляет различные ресурсы для разработчиков, включая веб-сайт, форум, официальные аккаунты в социальных сетях и руководство по внесению вклада в проект.
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.