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

OSCHINA-MIRROR/lianzhian-rtt-thread_qd450

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

RT-Thread

Эта версия была скопирована из официального репозитория RT-Thread и включает в себя код, связанный с платой GD32F450Z-QD. Другие изменения не были внесены.

GitHub release Build Status Gitter GitHub pull-requests PRs Welcome

RT-Thread — это открытая операционная система для интернета вещей (IoT), разработанная в Китае. Она обладает высокой масштабируемостью: от небольшого ядра, которое может работать на ARM Cortex-M0, до среднего уровня на ARM Cortex-M3/4/7 или даже на MIPS32 или ARM Cortex-A.

Введение

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

  • фреймворк для драйверов устройств;
  • программные компоненты;
  • модули приложений.

Фреймворк для драйверов устройств похож на набор драйверов, включая UART, IIC, SPI, SDIO, USB хост/устройство, EMAC, NAND флэш-память и другие устройства. Он абстрагирует и извлекает общие черты из этих драйверов устройств, позволяя разработчикам оборудования реализовывать только небольшое количество низкоуровневых операций и настройки платы. Таким образом, аппаратные периферийные устройства легче интегрируются в систему RT-Thread, обеспечивая полный стек программного обеспечения на платформе RT-Thread.

Программные компоненты — это программные единицы, расположенные на ядре RT-Thread, такие как командная строка (finsh/msh shell), виртуальная файловая система (FAT, YAFFS, UFFS, ROM/RAM файловые системы и т. д.), сетевой протокол TCP/IP (lwIP), Libc/POSIX стандартные слои и т.д. Обычно программный компонент размещается в каталоге, например, в папке RT-Thread/components, и каждый программный компонент описывается файлом SConscript, который добавляется в систему сборки RT-Thread. Когда этот программный компонент включён в конфигурацию системы, он компилируется и связывается с окончательным программным обеспечением RT-Thread.

Примечание: с включением менеджера пакетов в RT-Thread 3.0 всё больше программных компонентов будут доступны в виде пакетов на платформе RT-Thread. Платформа RT-Thread в основном состоит из:

  • ядра RT-Thread;
  • командной строки (shell);
  • виртуальной файловой системы;
  • сетевого протокола TCP/IP;
  • фреймворка для драйверов устройств;
  • стандартных слоёв Libc/POSIX.

Дополнительные пакеты IoT также добавляются на платформу RT-Thread в виде пакетов.

Модули приложений, также называемые пользовательскими приложениями (User Application, UA), представляют собой динамически загружаемые модули, которые могут быть скомпилированы независимо от программного обеспечения RT-Thread. Как правило, каждое UA содержит функцию main в качестве точки входа, а также собственный список объектов для управления задачами, семафорами и очередями сообщений этого приложения, создания, инициализации и уничтожения. Для получения дополнительной информации о UA посетите другой репозиторий git.

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

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

  • ARM Cortex-M0;
  • ARM Cortex-M3/M4/7;
  • ARM Cortex-R4;
  • ARM Cortex-A8/A9;
  • ARM920T/ARM926 и др.;
  • MIPS32;
  • x86;
  • Andes;
  • C-Sky;
  • RISC-V;
  • PowerPC.

Лицензия

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

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

С 9 сентября 2018 года разработчики, подающие PR, должны подписать соглашение о лицензии участника (CLA).

Обратите внимание: лицензия Apache 2.0 применяется к RT-Thread v3.1.1 и более поздним версиям. В настоящее время она всё ещё находится в стадии подготовки (подготовка всех существующих разработчиков к подписанию CLA).

Компиляция

В RT-Thread используется scons в качестве собственной системы сборки, которая была настроена для удовлетворения собственных потребностей (можно просмотреть дополнительные команды, добавив scons --help). Перед компиляцией RT-Thread необходимо установить Python 2.7.x и scons.

На данный момент система сборки scons RT-Thread может использовать командную строку для компиляции кода или генерировать проекты для различных IDE. При использовании scons необходимо настроить следующие переменные в файле конфигурации сборки (rtconfig.py):

  • CROSS_TOOL указывает на используемый инструмент цепочки, такой как gcc/keil/iar.
  • EXEC_PATH путь инструментальной цепочки.

Примечание: в файле SConstruct:

RTT_ROOT эта переменная указывает на корневой каталог исходного кода RT-Thread. Если вы планируете компилировать только цель в каталоге bsp, этот RTT_ROOT может использовать конфигурацию по умолчанию. Кроме того, вы можете установить одноимённую переменную среды, чтобы указать на другой исходный код RT-Thread корневой каталог.

После правильной настройки всех конфигураций вы можете выполнить следующую команду в целевом каталоге (этот каталог должен включать rtconfig.py и файл SContruct):

scons 

Это позволит легко скомпилировать RT-Thread.

Если вы хотите использовать IDE для компиляции RT-Thread, вы также можете использовать командную строку:

scons --target=mdk/mdk4/mdk5/iar/cb -s 

Для генерации проектов mdk/iar и других. Затем откройте проектный префикс в IDE для компиляции RT-Thread.

Обратите внимание: система сборки scons RT-Thread будет обрезать систему в соответствии с конфигурационным заголовком rtconfig.h. Например, если вы отключите определение lwIP в rtconfig.h (путем комментирования #define RT_USING_LWIP), сгенерированные проекты IDE не будут включать файлы, связанные с lwIP. В RT-Thread версии 3.0 вы можете настроить всю систему через menuconfig, вместо того чтобы вручную изменять файл конфигурации заголовка rtconfig.h.

Участники

Посетите страницу участников проекта RT-Thread на GitHub, чтобы узнать о тех, кто уже вносил свой вклад в код и PR для RT-Thread. Спасибо всем разработчикам, которые внесли свой вклад в RT-Thread!

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

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

1
https://api.gitlife.ru/oschina-mirror/lianzhian-rtt-thread_qd450.git
git@api.gitlife.ru:oschina-mirror/lianzhian-rtt-thread_qd450.git
oschina-mirror
lianzhian-rtt-thread_qd450
lianzhian-rtt-thread_qd450
master