1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/bigmagic-dock_k210_rtt

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 15 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 10:22 2feb536

RT-Thread

中文页 |

GitHub GitHub release Build Status Gitter GitHub pull-requests PRs Welcome

Введение

RT-Thread появился в 2006 году, это открытая, нейтральная и основанная на сообществе операционная система реального времени (RTOS).

RT-Thread в основном написан на языке C, его легко понять и перенести (можно быстро перенести на широкий спектр основных микроконтроллеров и микросхем модулей). В нём применяются методы объектно-ориентированного программирования для проектирования систем реального времени, что делает код элегантным, структурированным, модульным и очень адаптируемым.

У RT-Thread есть стандартная версия и версия Nano. Для систем микроконтроллера с ограниченными ресурсами версию ядра NANO, которая требует только 3 КБ флэш-памяти и 1,2 КБ оперативной памяти, можно настроить с помощью простых в использовании инструментов; а для устройств IoT с богатыми ресурсами RT-Thread может использовать онлайн-инструмент управления пакетами программного обеспечения вместе с инструментами настройки системы для достижения интуитивно понятной и быстрой модульной нарезки, бесшовного импорта богатых пакетов программного обеспечения, тем самым достигая сложных функций, таких как графический интерфейс Android и эффекты скольжения касания, интеллектуальные эффекты голосового взаимодействия и так далее.

Архитектура RT-Thread

В RT-Thread есть не только ядро реального времени, но и богатые компоненты. Его архитектура выглядит следующим образом:

architecture

Она включает:

  • Ядро: ядро RT-Thread, основная часть RT-Thread, включает реализацию объектов в системе ядра, таких как многопоточность и её планирование, семафор, почтовый ящик, очередь сообщений, управление памятью, таймер и т. д.; libcpu/BSP (файлы, связанные с миграцией чипов/пакет поддержки платы) тесно связан с оборудованием и состоит из периферийных драйверов и портирования ЦП.
  • Компоненты и сервисный уровень: компоненты основаны на программном обеспечении более высокого уровня поверх ядра RT-Thread, таком как виртуальные файловые системы, интерфейсы командной строки FinSH, сетевые фреймворки, фреймворки устройств и многое другое. Модульный дизайн обеспечивает высокую внутреннюю связность внутри компонентов и низкую связь между компонентами.
  • Программный пакет RT-Thread: компонент программного обеспечения общего назначения, работающий на платформе операционной системы IoT RT-Thread для различных областей применения, состоящий из информации описания, исходных кодов или файлов библиотек. RT-Thread предоставляет открытую платформу пакетов с официально доступными или предоставленными разработчиками пакетами, которые предоставляют разработчикам выбор повторно используемых пакетов, являющихся важной частью экосистемы RT-Thread. Экосистема пакетов имеет решающее значение для выбора операционной системы, поскольку эти пакеты являются высокоповторно используемыми и модульными, что упрощает разработчикам приложений создание системы за кратчайшее время. RT-Thread поддерживает более 180 программных пакетов.

Особенности RT-Thread

  • Разработан для устройств с ограниченными ресурсами, минимальному ядру требуется всего 1,2 КБ ОЗУ и 3 КБ флеш-памяти.
  • Имеет богатые компоненты и процветающую и быстрорастущую экосистему пакетов.
  • Элегантный стиль кода, прост в использовании, чтении и освоении. Высокая масштабируемость. RT-Thread имеет высококачественную масштабируемую архитектуру программного обеспечения, слабую связанность компонентов, модульность, легко адаптируется и расширяется.

Поддерживает высокопроизводительные приложения.

Поддержка кроссплатформенности и широкого спектра чипов.

Каталог кода

Исходный код RT-Thread представлен следующим образом:

Название Описание
BSP Пакет поддержки платы на основе портирования различных плат разработки
components Компоненты, такие как оболочка finsh, файловая система, стек протоколов и т. д.
documentation Соответствующие документы, такие как стиль кодирования, doxygen и т.д.
examples Связанный пример кода
include Заголовочные файлы ядра RT-Thread
libcpu Код портирования процессора, такой как ARM/MIPS/RISC-V и т. д.
src Исходные файлы для ядра RT-Thread.
tools Скрипт-файлы для инструмента сборки командной строки RT-Thread.

На данный момент RT-Thread портирован почти на 90 плат разработки, большинство пакетов поддержки плат поддерживают среду разработки MDK, IAR и компилятор GCC, а также предоставляют проект по умолчанию для MDK и IAR, что позволяет пользователям напрямую добавлять свой собственный код приложения на основе проекта. Каждая плата поддержки имеет аналогичную структуру каталогов, и большинство из них предоставляют файл README.md, который представляет собой файл в формате markdown, содержащий базовое введение в плату поддержки и инструкции по простому запуску с использованием платы поддержки.

Env — это инструмент разработки, созданный RT-Thread, который предоставляет среду сборки, графическую систему конфигурации текста и возможности управления пакетами для проектов на базе операционной системы RT-Thread. Его встроенный menuconfig предоставляет простой в использовании инструмент настройки. Он может свободно настраивать ядра, компоненты и пакеты программного обеспечения, так что систему можно построить из блоков.

Ресурсы

Поддерживаемые архитектуры

RT-Thread поддерживает множество архитектур и охватывает основные архитектуры в текущих приложениях. В проекте участвуют следующие производители:

  • ARM Cortex-M0/M0+: ST и другие;
  • ARM Cortex-M3: ST, Winner Micro, MindMotion и другие;
  • ARM Cortex-M4: ST, Nuvoton, NXP, GigaDevice, Realtek, Ambiq Micro и другие;
  • ARM Cortex-M7: ST, NXP;
  • ARM Cortex-M23: GigaDevice;
  • ARM Cortex-R4;
  • ARM Cortex-A8/A9: NXP и другие;
  • ARM7: Samsung и другие;
  • ARM9: Allwinner, Xilinx, GOKE и другие;
  • ARM11: Fullhan и другие;
  • MIPS32: loongson, Ingenic и другие;
  • RISC-V: Hifive, Kendryte, Nuclei и другие;
  • ARC: SYNOPSYS;
  • DSP: TI и другие;
  • C-Sky;
  • x86.

Поддерживаемая среда разработки и компиляторы

Основные поддерживаемые среды разработки/компиляторы:

  • MDK KEIL;
  • IAR;
  • GCC;
  • RT-Thread Studio.

Используйте Python-based scons для сборок из командной строки.

Демонстрация RT-Thread Studio:

studio

Начало работы

Плату поддержки RT-Thread можно скомпилировать напрямую и загрузить на соответствующую плату разработки для использования. Кроме того, RT-Thread также предоставляет плату поддержки qemu-vexpress-a9, которую можно использовать без аппаратной платформы. Подробные сведения см. в руководстве по началу работы ниже.

Руководство по программированию RT-Thread | Поддерживаемые чипы и платы RT-Thread | Программный пакет RT-Thread | Студия RT-Thread

Примеры

Пример ядра | Пример кода устройства | Пример кода файловой системы | Пример сетевого кода

Основано на IoT Board SDK для STM32L475 | Основано на IoT Board SDK для W601

Лицензия

RT-Thread — это программное обеспечение с открытым исходным кодом, которое лицензировано под Apache License Version 2.0 начиная с версии v3.1.1. Информацию о лицензии и авторских правах обычно можно увидеть в начале кода:

/* Copyright (c) 2006-2018, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 * ...
 */

Чтобы избежать возможных будущих конфликтов лицензий, разработчики должны подписать Лицензионное соглашение участника (CLA) при отправке PR в RT-Thread.

Сообщество

RT-Thread очень благодарен за поддержку всех разработчиков сообщества, и если у вас есть какие-либо идеи, предложения или вопросы в процессе использования RT-Thread, с RT-Thread можно связаться следующими способами, и мы также обновляем RT-Thread в реальном времени на этих каналах. В то же время любые вопросы можно задать в разделе проблем rtthread-manual-doc. Создавая новую проблему, чтобы описать свои вопросы, члены сообщества ответят на них.

Веб-сайт | Твиттер | Ютуб | Гиттер | Фейсбук | Медиум

Вклад

Если вы заинтересованы в RT-Thread и хотите присоединиться к разработке RT-Thread и стать участником разработки кода, пожалуйста, обратитесь к Руководству по вкладу в код.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/bigmagic-dock_k210_rtt.git
git@api.gitlife.ru:oschina-mirror/bigmagic-dock_k210_rtt.git
oschina-mirror
bigmagic-dock_k210_rtt
bigmagic-dock_k210_rtt
master