Tizen RT
Contents
Tizen RT Introduction
Background
The goal of Tizen RT is to extend the device coverage of Tizen platform to low-end devices. Tizen has been commercialized in smart TV, smartphone, wearable devices (Gear S, Gear Fit), and smart home appliances. By the way, how about low-end and low-cost IoT devices such as home appliances without LCD and wearable bands with small LCD? Tizen RT is the RTOS-based lightweight platform so that it can fit into these devices which typically equip with Cortex-M/R processors with MPU, less than 2MB RAM, and less than 16MB Flash.
Typical RTOS-based development environment has several limitations. First, it cannot load additional modules in runtime. Second, it may be inferior to Linux environment. To tackle these limitations, Tizen RT adopts Linux-style development environments including POSIX API, BSD Socket API, Shell, and Kconfig build configuration. This helps Linux developers easily build their business logics on the top of Tizen RT. In addition, Tizen RT will adopt the lightweight JavaScript environment which consists of JerryScript and IoT.js in 2017.
Overview
Tizen RT consists of lightweight RTOS called TinyAra, IoT Protocols like IoTivity and LWM2M, and JerryScript/IoT.js as shown in the figure below.
Figure 1. Overview of Tizen RT
TinyAra project was started in 2015, based on NuttX which is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. While maintaining the kernel architecture, TinyAra has grown by building up IPv4/IPv6 network stack, File System, lightweight database called AraStorage, device monitor, and IoT protocols such as IoTivity (OCF) and LWM2M. The combination of AraStorage and IoTivity has TinyAra easily collect/store/deliver IoT sensor data. The mixture of device monitor, which observes the status of connectivity, power, and error, and the lightweight M2M promotes TinyAra as a large-scale device management solution. TinyAra have evolved into Tizen RT by stacking multiple frameworks required for IoT scenarios in 2016 and will have adopted the lightweight JavaScript environment called JerryScript and IoT.js in 2017 as shown in the figure below. Green-colored boxes and gray-colored boxes will be released in 2016 and in 2017, respectively.
Tizen RT will be first commercialized in low-end home appliances in the first or second quarter of 2017.
Figure 2. Architecture of Tizen RT
Tizen RT 1.0 Specification
Tizen RT Long-term Goals
Tizen RT Getting Started
Coding Style
Basically we follow Tizen Coding Style except R04.
We use braces even though there is a single statement.
[R04] [BRC_R_SST] In case of a single statement, do not use braces.
- Exception: if one branch of a conditional statement has multiple lines, use braces in both branches.