Tizen RT

From Tizen Wiki
Jump to: navigation, search

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.

Worddav99f6e9828116f4e8628de37d93d84faa.png

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.

ArchitectureOfTizenRT.JPG

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.