In this article we discuss RT-Thread RTOS. In my previous article we discuss Top IoT Operating Systems in 2020 | IoT OS and RTOS.
RT-Thread was born in 2006, it is an open source, neutral, and community-based real-time operating system (RTOS). As an open source project, RT-Thread has received strong support and contributions from the community developers and from many chip and original equipment manufacturers. RT-Thread has the characteristics of very low resource occupancy, high reliability, high scalability, so it can not only be used in sensing nodes, wireless connection chips and other resource-constrained scenes, but also is widely used in gateway, IPC, smart speakers and many other high-performance applications.
Designed for Resource-constrained Devices
- The minimum kernel requires only 1.2 KB of RAM and 3 KB of Flash.
- The power management components support a variety of low-power modes to minimize system power consumption.
Rich Components and A Prosperous and Fast Growing Package Ecosystem
- RT-Thread has complete middle-tier components which covers almost all the underlying components needed for the IoT industry, including file system, low power management, network protocol, GUI, audio framework, AT component, and more.
- All critical components support the optimization of the resource-constrained devices and RT-Thread systems.
- RT-Thread has a fast growing software package ecosystem, the core teams of RT-Thread and its community developers have contributed nearly 200 packages which covered a total of eight categories, including IoT, peripherals, system, programming language, tools, multimedia, security, and an unclassified category.
Easy to Use
- Elegant code style, easy to read and master.
- RT-Thread has console shell debugging tools and a variety of development assistant tools, making debugging development easy and efficient.
- Graphical IDE, RT-Thread Studio, dramatically enhances the development experience and lowers the development threshold.
- High-quality scalable software architecture, loose coupling, modularity, is easy to tailor and expand.
- ENV configurer configures the functions of the kernel and the components, also tailors the components, so that the system can be built like building blocks.
- Can be run on a tiny core,Cortex-M0,M3/4 or alternatively can be scaled up to a feature-rich system like Cortex-A7,A9 even A55 dual cores.
Supporting High-performance Applications
- Compatible with POSIX interface standards, making porting Linux applications very easy.
- Support for SMP and AMP multi-core.
- Support for 32-bit and 64-bit processors (ARM Cortex-A and RISC-V architectures).
- The upcoming microkernel architecture, specifically for the high-performance applications, has the features of application-to-core separation, fast start-up, low resource occupancy, high security, etc.
Supporting Cross-platform and A Wide Range of Chips
- Cross-chip platform, the application program using RT-Thread interface is highly reusable, one-time programming, and lifetime can use.
- Has designed a scientific device framework, it uses unified interface specifications, to achieve upper-level applications and lower-level hardware independent.
- Supports more than 300 part numbers of chips (MCU, Wireless SoC, MPU/AP).
RT-Thread has not only a real-time kernel, but also rich components. Its architecture is as follows:
- 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 180 software packages.
Supported IDE and Compiler
The main IDE/compilers supported by RT-Thread are:
- MDK KEIL
- RT-Thread Studio
The Internet of Things is growing rapidly and now is marching on a more deeper level. A more convenient and efficient connection, a more simpler development and application deployment, and a more secure networking experience will all become the direction of future technology development. Therefore, cloud integration, scripting and some more lightweight loadable applications will be gradually favored by the industry.
Besides, 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 near future, RT-Thread Studio IDE, next-generation microkernel architecture, AI frameworks and more will all be released step by step.
RT-Thread is very grateful for the support from all community developers, and if you have any ideas, suggestions or questions in the process of using RT-Thread, RT-Thread can be reached by the following means, and we are also updating RT-Thread in real time on these channels. At the same time, 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.
Useful links :
Source of information – https://www.rt-thread.io/
Thanks for reading. If you like this post probably you might like my next ones, so please support me by subscribing my blog.