RT-Thread诞生于2006年,是一款以开源、中立、社区化发展起来的物联网操作系统。RT-Thread主要采用 C 语言编写,浅显易懂,且具有方便移植的特性(可快速移植到多种主流 MCU 及模组芯片上)。RT-Thread把面向对象的设计方法应用到实时系统设计中,使得代码风格优雅、架构清晰、系统模块化并且可裁剪性非常好。RT-Thread有完整版和Nano版,对于资源受限的微控制器(MCU)系统,可通过简单?

Bernard Xiong de3afc2929 Update license information. há 6 anos atrás
bsp 21c8014da3 [bsp][dm365] update Kconfig file. há 6 anos atrás
components 6fcc5c5504 Merge pull request #1777 from zhaojuntao/ymodem-0906 há 6 anos atrás
documentation 417ecef5ce 添加astyle工具的配置语句,格式化时可以实现宏定义的块缩进。 há 7 anos atrás
examples 69c95944eb Merge pull request #1643 from chenyong111/sal há 6 anos atrás
include 95c36f32e2 Update rtdef.h há 6 anos atrás
libcpu b46e7f3172 add rt_hw_cpu_reset for cortex-m cpu há 6 anos atrás
src d74d5801c8 Merge pull request #1751 from RT-Thread/feature_libdl há 6 anos atrás
tools 754d63a193 Solve the flicker problem when display the pyconfig window. há 6 anos atrás
.gitattributes 01d3d80944 update .gitattributes há 12 anos atrás
.gitignore d1c943a7e0 [skip ci]Update ignore file há 6 anos atrás
.travis.yml 1ae8048624 Merge pull request #1765 from uestczyh222/stm32h743-nucleo há 6 anos atrás
AUTHORS 3bab79a7dd update CRLF há 12 anos atrás
ChangeLog.md 73455eeef5 Update ChangeLog.md há 6 anos atrás
Kconfig 7bc87e4ae8 [Kconfig] Rename all of KConfig files to 'Kconfig' há 7 anos atrás
LICENSE de3afc2929 Update license information. há 6 anos atrás
README.md de3afc2929 Update license information. há 6 anos atrás
README_zh.md de3afc2929 Update license information. há 6 anos atrás

README.md

RT-Thread

中文页 |

GitHub release Build Status Gitter GitHub pull-requests PRs Welcome

RT-Thread is an open source IoT operating system from China, which has strong scalability: from a tiny kernel running on a tiny core, for example ARM Cortex-M0, or Cortex-M3/4/7, to a rich feature system running on MIPS32, ARM Cortex-A8, ARM Cortex-A9 DualCore etc.

Overview

RT-Thread RTOS like a traditional real-time operating system. The kernel has real-time multi-task scheduling, semaphore, mutex, mail box, message queue, signal etc. However, it has three different things:

  • Device Driver;
  • Component;
  • Dyanmic Module

The device driver is more like a driver framework, UART, IIC, SPI, SDIO, USB device/host, EMAC, MTD NAND etc. The developer can easily add low level driver and board configuration, then combined with the upper framework, he/she can use lots of features.

The Component is a software concept upon RT-Thread kernel, for example a shell (finsh/msh shell), virtual file system (FAT, YAFFS, UFFS, ROM/RAM file system etc), TCP/IP protocol stack (lwIP), POSIX (thread) interface etc. One component must be a directory under RT-Thread/Components and one component can be descripted by a SConscript file (then be compiled and linked into the system).

The Dyanmic Module, formerly named as User Applicaion (UA) is a dyanmic loaded module or library, it can be compiled standalone without Kernel. Each Dyanmic Module has its own object list to manage thread/semaphore/kernel object which was created or initialized inside this UA. More information about UA, please visit another git repo.

Board Support Package

RT-Thread RTOS can support many architectures:

  • ARM Cortex-M0
  • ARM Cortex-M3/M4/7
  • ARM Cortex-R4
  • ARM Cortex-A8/A9
  • ARM920T/ARM926 etc
  • MIPS32
  • x86
  • Andes
  • C-Sky
  • RISC-V
  • PowerPC

License

RT-Thread is Open Source software under the Apache License 2.0 since RT-Thread v3.1.1. License and copyright information can be found within the code.

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

Since 9th of September 2018, PRs submitted by the community may be merged into the main line only after signing the Contributor License Agreement(CLA).

NOTE:

RT-Thread using the Apache license v2.0 is only launched after the release of v3.1.1, and is still in preparation right now.

Usage

RT-Thread RTOS uses scons as building system. Therefore, please install scons and Python 2.7 firstly. So far, the RT-Thread scons building system support the command line compile or generate some IDE's project. There are some option varaibles in the scons building script (rtconfig.py):

  • * ```EXEC_PATH``` the path of compiler. 
    
    In SConstruct file:
    
    

    RTT_ROOTThis variable is the root directory of RT-Thread RTOS. If you build the porting in the bsp directory, you can use the default setting. Also, you can set the root directory inRTT_ROOT``` environment variable and not modify SConstruct files.

When you set these variables correctly, you can use command:

scons

under BSP directory to simplely compile RT-Thread RTOS.

If you want to generate the IDE's project file, you can use command:

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

to generate the project file.

NOTE: RT-Thread scons building system will tailor the system according to your rtconfig.h configuration header file. For example, if you disable the lwIP in the rtconfig.h by commenting the #define RT_USING_LWIP, the generated project file should have no lwIP related files.

Contribution

Please refer the contributors in the github. Thank all of RT-Thread Developers.