• Stars
    star
    323
  • Rank 130,051 (Top 3 %)
  • Language
  • Created almost 12 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Attention

⚠️ This repository is no longer maintained any more. Please move to: https://github.com/RT-Thread/rt-thread/tree/master/documentation

RT-Thread

RT-Thread (Real-Time Thread) is an open source embedded real-time operating system and released under Apache License v2.0. It has a strong scalability: from a nano kernel running on a tiny MCU, for example ARM Cortex-M0, or Cortex-M3/4/7, to a rich feature system running on MIPS32, ARM Cortex-A, even the emerging open source RISC-V architecture is supported. RT-Thread can run either on single-core systems or on symmetric multi-core processors(SMP) systems.

Introduction

RT-Thread has not noly a real-time kernel, but also rich components. Its architecture is as follows:

RT-Thread system framework

  • Kernel: It includes preemptive multi-task real-time scheduler, and infrastructure such as semaphore, mutex, mailbox, message queue, signal, event, memory management, timer management, interrupt management, etc. It also includes libcpu/BSP (file related to chip transplantation/board support package).
  • components: It is a software unit on the RT-Thread kernel layer, such as command line (FinSH), device driver framework (Device Drivers), network framework, virtual file system (FAT, YAFFS, UFFS, ROM/RAM file system, etc.), TCP/IP network protocol stack (lwIP), libc/POSIX standard layer and so on. Generally, a software component is placed in a folder in the RT-Thread/components directory, and each software component is described by a SConscript file and added to the RT-Thread construction system. When a software component is opened in the system configuration, it will be compiled and linked to the final RT-Thread firmware.
  • Packages: It is a middleware running on RT-Thread IoT operating system platform and facing different application fields. Packages consist of description information, source code or library files. These packages can be provided by RT-Thread, third-party developers and enterprises, and the license agreement of the packages is provided by the author of the packages. These software packages have strong reusability and high modularity, which greatly facilitates application developers to build their desired application systems in the shortest time. For more package information, visit the RT-Thread package repository.

Licence

RT-Thread is an open source software and has been licensed under Apache License Version 2.0 since v3.1.1. License information and copyright information can generally be seen at the beginning of the code:

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

To avoid possible future license conflicts, developers need to sign a Contributor License Agreement (CLA) when submitting PR to RT-Thread.

Note: Because the BSP also contains the code provided by the chip manufacturer, this part of the code follows the license provided by the chip manufacturer, such as STM32 HAL, NXP, Atmel, etc. Relevant codes are usually only used in the chips of the corresponding manufacturers.

Supported Architectures

RT-Thread RTOS can support many architectures,and has covered the major architectures in current applications. Architecture and chip manufacturer involved:

  • ARM Cortex-M0/M0+:manufacturers like ST
  • ARM Cortex-M3:manufacturers like ST、Winner Micro、MindMotion, ect.
  • ARM Cortex-M4:manufacturers like ST、Nuvton、NXP、GigaDevice、Realtek、Ambiq Micro, ect.
  • ARM Cortex-M7:manufacturers like ST、NXP
  • ARM Cortex-M23:manufacturers like GigaDevice
  • ARM Cortex-R4
  • ARM Cortex-A8/A9:manufacturers like NXP
  • ARM7:manufacturers like Samsung
  • ARM9:manufacturers like Allwinner、Xilinx 、GOKE
  • ARM11:manufacturers like Fullhan
  • MIPS32:manufacturers like loongson、Ingenic
  • RISC-V:manufacturers like Hifive、Kendryte
  • ARC:manufacturers like SYNOPSYS
  • DSP:manufacturers like TI
  • C-Sky
  • x86

Supported IDE and Compiler

The main IDE/compilers supported by RT-Thread are:

  • MDK KEIL
  • IAR
  • GCC

Use Python-based scons for command-line builds.

Source Code and Tools

Get the source code: The source code of RT-Thread is hosted on Github, and click on the link to get the source code.

Get the Env Tool: To better help developers, the RT-Thread team also provides Env tools (or Env scripts for Linux/MacOS). On Windows, Env tool is a development assistant tool launched by RT-Thread. It provides compiling and building environment, graphical system configuration and software package management functions for project projects based on RT-Thread operating system. Its built-in menuconfig provides a simple and easy-to-use configuration tailoring tool, which can tailor the kernel, components and software packages freely, so that the system can be built in the way of building blocks.

Getting Started

RT-Thread BSP can be compiled directly and downloaded to the corresponding development board for use. In addition, RT-Thread also provides qemu-vexpress-a9 BSP, which can be used without hardware platform. See the getting started guide below for details.

Help

Any questions can be asked in the issue section of rtthread-manual-doc. By creating a new issue to describe your questions, community members will answer them.

Contribution

If you are interested in RT-Thread and want to join in the development of RT-Thread and become a code contributor,please refer to the Code Contribution Guide.

Manual Catalogue

Kernel

Tool

Device

Components

More Repositories

1

rt-thread

RT-Thread is an open source IoT Real-Time Operating System (RTOS).
C
10,440
star
2

IoT_Board

RT-Thread for IoT Board (STM32L4 + Wi-Fi, sensor, lcd, audio etc)
C
333
star
3

packages

packages index repository for rt-thread
Python
219
star
4

rtthread-nano

nano version of RT-Thread
C
151
star
5

rtthread-apps

The applications of RT-Thread RTOS.
C
84
star
6

IoT_Camera

IoT Camera with Wi-Fi, RT-Thread
C
77
star
7

realboard-stm32f4

realtouch with stm32f4 microcontroller
C
73
star
8

RT-AK

RT-Thread AI Kit
C
70
star
9

rtthread-specification

The specification for RT-Thread porting, device driver implementation.
C
57
star
10

W601_IoT_Board

IoT Board SDK with WinnerMicro W601
C
54
star
11

env

Python Scripts for RT-Thread/ENV
Python
50
star
12

ART

An ardruino like board with RT-Thread operating system.
C
42
star
13

community-activities

Community Activities in RT-Thread
38
star
14

realboard-lpc4088

The repository for RealBoard 4088.
C
28
star
15

mpy-snippets

snippets code for mPython
Python
26
star
16

env-windows

RT-Thread Env tool for Windows ConEmu shell
Python
26
star
17

userapps

user applications for rt-smart
Lua
24
star
18

rtthread-pomegranate

Mutil-Operating Syste with RT-Thread
C
17
star
19

gemini

The Gemini system of RT-Thread/Linux on Dual CPU core.
C
14
star
20

RT-AK-plugin-k210

plugin for K210 of RT-Thread AI Kit
Python
9
star
21

pkgs-test

The RT-Thread package testing tool
Python
7
star
22

RT-AK-plugin-stm32

plugin for stm32 of RT-Thread AI Kit
C++
7
star
23

te

Automated test suite for RT-Thread
Python
3
star
24

unofficial-rtthread

The none-released porting in RT-Thread RTOS.
C
2
star
25

toolchains-ci

toolchains for RT-Thread building in travis-ci.
1
star
26

global-community-activities

global community activities
1
star
27

sdk

sdk packages
1
star