Code Monkey home page Code Monkey logo

tizenrt's Introduction

TizenRT

License Build Status

TizenRT is lightweight RTOS-based platform to support low-end IoT devices.
Please find project details at Wiki especially documentations page.

Contents

Environment Setup

TizenRT provides the easiest way to build with the use of Docker. There is no need to install the required libraries and toolchains since the provided Docker container already includes everything required for TizenRT development. However, if your development systems are not eligible for running the Docker container, all libraries and toolchains should be manually installed. Please refer to Manual Setup Build Environment.

For more information of libraries in the TizenRT Docker Image, see https://hub.docker.com/r/tizenrt/tizenrt/.

1. Install Docker

To install OS specific Docker engines, see https://docs.docker.com/install/. For example, if you are using Ubuntu, you need to install the Docker engine located at https://docs.docker.com/install/linux/docker-ce/ubuntu/. If you already have a Docker engine, please skip this step.

2. Get TizenRT source code

If you are building TizenRT on a Windows environment, you need to first configure CRLF as shown below:

git config --global core.autocrlf input

Now, clone TizenRT source code as shown below:

git clone https://github.com/Samsung/TizenRT.git
cd TizenRT
TIZENRT_BASEDIR="$PWD"

Note To contribute in this community, you need to create a fork, and clone your forked private repository instead of the main repository. Github guides this by working-with-forks.

How to build

There are two ways to build TizenRT.

Use an interactive tool

TizenRT provides an interactive tool (dbuild.sh) where you are prompted to select a option among multiple choices. According to your selection, it consecutively provides next-step options. When you become familiar to the TizenRT build system, you may use the dbuild.sh script with a specific build option.

Note As the build script is running based on Docker, it requires sudo for root permission. To run Docker without sudo, refer to https://docs.docker.com/install/linux/linux-postinstall/.

To get started, use the dbuild.sh script with the menu option as follows:

cd os
./dbuild.sh menu

This command shows you the complete list of supported boards first as shown below:

======================================================
  "Select Board"
======================================================
  "1. artik053"
  "2. cy4390x"
      ...
  "x. EXIT"
======================================================

After the board selection, you are prompted to select configuration of the given board:

======================================================
  "Select Configuration of artik053"
======================================================
  "1. hello"
  "2. tc"
      ...
  "x. EXIT"
======================================================

Finally, you are prompted to select a build option as shown below:

======================================================
  "Select build Option"
======================================================
  "1. Build with Current Configurations"
  "2. Re-configure"
  "3. Menuconfig"
  "4. Build Clean"
  "5. Build Dist-Clean"
  "d. Download"
  "x. Exit"
======================================================

Once the board and configuration selection is finished,
you are prompted to select a build option repeatedly until you remove configuration by the Re-configure or Build Dist-Clean option.

Use specific build options

1. Configuration

cd os
./tools/configure.sh <board>/<configuration_set>

This command retrieves the specific pre-configured file named defconfig and Make.defs according to <board>/<configuration_set>.
Once the configuration is done, you can skip this step next time unless you want to change your configuration.
You can see collection of all configuration files at $TIZENRT_BASEDIR/build/configs.
To check all pre-defined configurations, type as follows:

./tools/configure.sh --help
1.1 Additional Configuration (optional)

After basic configuration by 1. Configuration, you can additionally modify your configuration with menuconfig.

./dbuild.sh menuconfig

Note In Docker environment, make menuconfig command from other README files should be replaced with this command. make menuconfig applies only in Manual Setup Build Environment.

2. Compilation

There are two aspects to compilation, namely Build and Clean, which are described as follows:

Build

To compile, simply type the following:

./dbuild.sh

After compilation, built binaries will be located in $TIZENRT_BASEDIR/build/output/bin.

Clean

There are two types of clean commands, clean and distclean.

./dbuild.sh clean

This command removes built files including objects, libraries, .depend, Make.dep, etc.
After modifying configuration with menuconfig, this command is required.

./dbuild.sh distclean

This command includes the clean option and additionally removes configured files including .config, Make.defs and linked folders / files.
Before changing basic configuration with ./configure.sh command, this command is required to delete pre-set configurations.

3. Programming

./dbuild.sh download [OPTION]

TizenRT supports download command to program a binary into a board.
You might be required to set up USB driver. For more information, please refer to Supported board / Emulator.

OPTION designates which flash partitions are flashed.
For example, ALL means programming all of binaries. This also depends on each board.

Advanced

You can give multiple build options to the dbuild.sh script as mentioned below:

./dbuild.sh distclean configure artik053 hello build download all

This executes sequentially multiple commands including

  1. Execute distclean
  2. Configure with artik053/hello
  3. Build
  4. Program all of binaries

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]

tizenrt's People

Contributors

amogh-samsung avatar an4967 avatar btheosam avatar chanijjani avatar davidfather avatar dr-venkman avatar eunbongsong avatar hongchaehee avatar hyunjun85 avatar jeongarmy avatar jeongchankim avatar jeongjunsik avatar jisuukim avatar jsdosa avatar juitem avatar junhwanpark avatar junmin-kim avatar junyeonl avatar kishore-sn avatar manoharahk avatar pillip8282 avatar sangam-swami avatar sangwon03 avatar seonghobyeon avatar sinzah avatar sunghan-chang avatar taejun-kwon avatar thapav avatar yihyunjin avatar zhouxinhe avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.