paint-brush
An Introduction to Open-source Real-time Operating Systemby@RT-Thread IoT OS
797 reads
797 reads

An Introduction to Open-source Real-time Operating System

by RT-Thread IoT OSMay 1st, 2020
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

RT-Thread was born in 2006, it is an open source, neutral, and community-based real-time operating system (RTOS) Its modular design allows for high internal cohesion inside the components and low coupling between components. The minimum kernel requires only 1.2KB of RAM and 3 KB of Flash. The software package management tool, together with system configuration tools, can achieve intuitive and rapid modular cutting, thus achieving complex functions like Android's graphical interface and touch sliding effects, smart voice interaction effects, and so on.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - An Introduction to Open-source Real-time Operating System
RT-Thread IoT OS HackerNoon profile picture

Alan Kay said: “Simple things should be simple, complex things should be possible”. This sentence was the inspiration for the founder of RT-Thread to stick to his beliefs.

Background:

RT-Thread was born in 2006, it is an open source, neutral, and community-based real-time operating system (RTOS).

RT-Thread has Standard version and Nano version:

  • For resource-constrained microcontroller (MCU) systems, the NANO kernel version that requires only 3KB Flash and 1.2KB RAM memory resources can be tailored with easy-to-use tools;
  • For resource-rich IoT devices, RT-Thread can use the on-line software package management tool, together with system configuration tools, to achieve intuitive and rapid modular cutting, seamlessly import rich software packages, thus achieving complex functions like Android's graphical interface and touch sliding effects, smart voice interaction effects, and so on.


RT-Thread Architecture:

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

It includes:

  • Kernel Layer: RT-Thread kernel, the core part of RT-Thread, includes the implementation of objects in the kernel system, such as multi-threading and its scheduling, semaphore, mailbox, message queue, memory management, timer, etc.; libcpu/BSP (Chip Migration Related Files/Board Support Package) is closely related to hardware and consists of peripheral drivers and CPU porting.
  • Components and Service Layer: Components are based on upper-level software on top of the RT-Thread kernel, such as virtual file systems, FinSH command-line interfaces, network frameworks, device frameworks, and more. Its modular design allows for high internal cohesion inside the components and low coupling between components.
  • RT-Thread Software Package: A general-purpose software component running on the RT-Thread IoT operating system platform for different application areas, consisting of description information, source code or library files. RT-Thread provides an open package platform with officially available or developer-supplied packages that provide developers with a choice of reusable packages that are an important part of the RT-Thread ecosystem. The package ecosystem is critical to the choice of an operating system because these packages are highly reusable and modular, making it easy for application developers to build the system they want in the shortest amount of time. RT-Thread supports more than 200 software packages.

RT-Thread Features:

  • Supports resource-constrained devices, the minimum kernel requires only 1.2KB of RAM and 3 KB of Flash.
  • It has rich components and a prosperous and fast growing package ecosystem.
  • Elegant code style, easy to use, read and master.
  • High Scalability. RT-Thread has high-quality scalable software architecture, loose coupling, modularity, is easy to tailor and expand.
  • Supports high-performance applications.
  • Supports cross-platform and a wide range of chips.


Supported Architectures:

RT-Thread supports 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, etc.
  • ARM Cortex-M4:manufacturers like ST、Nuvton、NXP、GigaDevice、Realtek、Ambiq Micro, etc.
  • ARM Cortex-M7:manufacturers like ST、NXP
  • ARM Cortex-M23:manufacturers like GigaDevice
  • ARM Cortex-R4ARM 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
  • X 86


Supported IDE and Compiler:

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

  • MDK KEIL
  • IAR
  • GCC
  • RT-Thread Studio(RT-Thread studio is a one-stop development tool built by RT-Thread)

Use Python-based scons for command-line builds.


Community:

RT-Thread has received many many supports from the community developers when it starts. Now, RT-Thread has gathered 200+ software packages which are created by the community developers also RT-Thread had 9357 commits and gained 4.2K stars on Github.


Real-time system (RTOS) is increasingly widely used in the high-end Internet of Things (like AIoT) because of its low cost, high real-time, and fast start-up characteristics, soon or later, more and more RTOSs would support multi-kernel SMP, AI, audio & video and this is inevitable. In the near future, RT-Thread Studio IDE, next-generation microkernel architecture, AI frameworks and more will all be released step by step.
This is a new world of RTOS.


RT-Thread Contact Info: