Tencent announced opensource lightweight Internet of Things real-time operating system TencentOS tiny . Compared to other systems on the market, Tencent’s TencentOS tiny is highly competitive in terms of resource footprint, equipment cost, power management and security. The open source of the system can greatly reduce the development cost of IoT applications, improve development efficiency, and support one-click cloud, docking massive resources.

 

Topic

I am honored to witness the open source of TencentOS tiny, and I am honored to have used it in a test more than a month ago~

It must be said that the core of TencentOS tiny is indeed very very small, and the minimum resources are occupied by RAM 0.6KBand ROM 1.8 KB. This is the RTOS independently developed by their team. The source code is very simple and easy to understand. The source author implements the whole kernel with very clear logic (still admiring the great god, worshipping).

Learn about the TencentOS tiny framework
TencentOS_tiny_introduce_0.png

TencentOS tiny consists of a lightweight RTOS kernel+ consisting of multiple IoT components , from bottom to top:

CPU library : CPU IP core architecture supported by TencentOS tiny, currently major support ARM Cortex M0/3/4/7, and now very hot RISC-V, of course, Tencent IoT team will certainly support more types of more IP cores and development boards.

Drive management layer : including BSPboard support package, these things are mainly developed and maintained by MCU chip manufacturers, HALhardware abstraction, Drivers device driver, this part is still very important for pure embedded developers, it will definitely become more and more perfect of!

Kernel : TencentOS tinyReal-time kernel includes tasks management, real-time scheduling, time management, interrupt management, memory management, exception handling, software timers, linked lists, message queues, semaphores, mutex locks, event flags, etc.

IoT protocol stack :  TencentOS tinyProvides lwip、AT Adapter、SAL layer and supports different network hardware, such ethernet, serieal port, WIFI、GPRS、NB-IoT、4Gas communication modules. In TCP/IP providing common things on an application layer protocol stack network protocol stack, such as COAP、MQTTthe support terminal quick access service Tencent cloud;

Security framework : TencentOS tinyTo ensure the security of data transmission of IoT terminals and device authentication security, a relatively complete security solution is provided. The security framework DTLSand TLSsecurity protocol reinforced COAPand the MQTTtransport layer, ensures things terminal authentication and data encryption for secure docking Tencent in the cloud; low additional hardware resources for the terminal, and also provides a security framework tencent cloud IoT Hub supporting key authentication scheme To ensure that resource-constrained devices can also achieve device security certification to a certain extent; IoT security is very important, and these frameworks must also exist.

Component framework : TencentOS tiny provide file ssytem, KV storage, self connect network、JS engineer、low power consume framework、device framework、OTA、debug tool and a series of components such as the chain, this part I think is still very good, looking forward to ing;

Open API (in planning and development): TencentOS tinyOpen APIfunctions will be provided on the middleware and framework layers of the protocol , so that the functions of the intermediate components can be easily used. I like this kind of development most, without making wheels, and can be used directly. Simply put, this API can quickly connect to Tencent Cloud, realize the cloud demand on the terminal business, minimize the development cycle of the terminal IoT product, and save development costs;

Sample application : TencentOS tinySample code provided, module test code, etc., for user reference.

Tencent Cloud IoT Platform (the top part of the picture): Strictly speaking, this part does not count TencentOS tinythe content of the framework, this is the access platform layer, Tencent Cloud’s IoT platform is a multi-language SDKpackage, of course Definitely used on embedded devices C SDK, but overall it is very good.

In general, TencentOS tinyit is still very good, there are some features, you can consider using this operating system~

TencentOS tiny event-driven model-based scheduling will be introduced later, which is not supported on some microcontrollers for context-based scheduling.