RT-Thread Architecture
Last updated
Last updated
In recent years, the concept of Internet of Things (IoT) has become widely popular, the IoT market has developed rapidly, and the networking of embedded devices has become a general trend. The networking of terminals has greatly increased the complexity of software, and the traditional RTOS kernel has become increasingly difficult to meet the needs of the market. In this case, the concept of IoT operating system (IoT OS) came into being. IoT operating system refers to a software platform based on the operating system kernel (which can be RTOS, Linux, etc.), including relatively complete middleware components such as file system and graphics library, with low power consumption, security, communication protocol support and cloud connection capabilities . RT-Thread is an IoT OS.
One of the main differences between RT-Thread and many other RTOS such as FreeRTOS and uC/OS is that it is not only a real-time kernel, but also has a rich middle-layer components , as shown in the figure below.
It specifically includes the following parts:
Kernel layer: RT-Thread kernel is the core part of RT-Thread, including the implementation of objects in the kernel system, such as multi-threading and its scheduling, semaphores, mailboxes, message queues, memory management, timers, etc.; libcpu/BSP (chip transplantation related files/board support package) is closely related to hardware and consists of peripheral drivers and CPU transplantation.
Component and service layer: Components are upper-layer software based on the RT-Thread kernel, such as virtual file system, FinSH command line interface, network framework, device framework, etc. A modular design is adopted to achieve high cohesion within the components and low coupling between components.
RT-Thread software package: A general software component for different application fields that runs on the RT-Thread IoT operating system platform and consists of description information, source code or library files. RT-Thread provides an open software package platform, which stores official or developer-provided software packages. The platform provides developers with a wide range of reusable software packages to choose from, which is also an important part of the RT-Thread ecosystem. The software package ecosystem is crucial to the choice of an operating system because these software packages are highly reusable and highly modular, which greatly facilitates application developers to build the system they want in the shortest time. The number of software packages that RT-Thread already supports has reached 400+, as shown below:
IoT related packages: Paho MQTT, WebClient, mongoose, WebTerminal, etc.
Scripting language related software packages: currently support Lua, JerryScript, MicroPython, and PikaScript.
Multimedia-related software packages: Openmv, mupdf.
Tool software packages: CmBacktrace, EasyFlash, EasyLogger, SystemView.
System-related packages: RTGUI, Persimmon UI, lwext4, partition, SQLite, etc.
Peripheral library and driver software package: RealTek RTL8710BN SDK.
The Internet of Things is growing rapidly and now is marching on a deeper level. Real-Time Operating 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.
RT-Thread born in 2006, it's an open-source, neutral, and community-based real- time operating system (RTOS). The software has the characteristics of very low resource occupancy, high reliability, high scalability, can be greatly used in sensing nodes, wireless connection chips and many resource-constrained scenes, also widely applied in gateway, IPC, smart speakers, and many other high-performance applications.