TizenRT lightweight RTOS for low-end IoT devices (Intro)
TizenRT is a lightweight RTOS-based platform to support low-end IoT devices. It has been commercialized in smart TV, smartphone, wearable devices (Gear S, Gear Fit), and smart home appliances. However, low-end and low-cost IoT devices, such as home appliances without display and wearable bands with a small LCD, have received less attention. The goal of TizenRT is to extend the Tizen platform device coverage to these kind of low-end devices. It is an RTOS-based lightweight platform fitting in these devices, which are typically equipped with Cortex-M/R processors with MPU, less than 2 MB RAM, and less than 16 MB Flash.
TizenRT was kicked off with TinyAra project, which was based on the NuttX kernel, in 2015. NuttX is a real-time operating system (RTOS) with an emphasis on standard compliance and a small footprint. While maintaining the kernel architecture, TizenRT has grown by building up the IPv4/IPv6 network stack, file system, lightweight database called AraStorage, device monitor, and IoT protocols, such as OCF and LWM2M. The combination of AraStorage and IoT protocols allows TizenRT to collect, store, and deliver IoT sensor data easily.
Typical RTOS-based development environment has several limitations. First, it can not load additional modules at runtime, and second, it’s used to being inferior to a Linux environment. To tackle these limitations, TizenRT adopts Linux-style development environments, including POSIX API, BSD Socket API, Shell, and Kconfig build configuration. This helps Linux developers build their business logics easily on top of TizenRT. In addition, It has adopted the lightweight JavaScript environment, consisting of JerryScript and IoT.js, since 2017.
TizenRT has been commercialized in smart home appliances and various IoT devices without display since 2017. Now, TizenRT is looking forward to some intelligent features such as voice services.
You can find official Documentation here.
Supported Board / Emulator
TizenRT supports multiple boards as well as QEMU.
The linked page for each board includes board-specific environments, programming method, and board information.
ARTIK053 [details]
ARTIK053S [details]
ARTIK055S [details]
CY4390X [details]
ESP32-DevKitC [details]
ESP-WROVER-KIT [details]
iMX RT 1020 EVK [details]
iMX RT 1050 EVK [details]
SIDK_S5JT200 [details]
STM32F407-DISC1 [details]
STM32F429I-DISCO [details]
STM32L4R9AI-DISCO [details]
QEMU [details]
Source code: https://github.com/Samsung/TizenRT
For Developer : https://developer.samsung.com/codelab/SDC18-experiences/SmartThings-Application
Recommended : Top IoT Operating Systems in 2020 | IoT OS and RTOS
I hope you like this post. Do you have any questions? Leave a comment down below!
Thanks for reading. If you like this post probably you might like my next ones, so please support me by subscribing my blog
Pingback: Samsung SmartThings ? (Intro) - IoTbyHVM - Bits & Bytes of IoT