Files
jerryscript/targets/tizenrt-artik053/README.md
T
Roland Takacs 680bafdc8c Modify the build method of TizenRT target
Introduced a cmake/toolchain_mcu_artik053.cmake file that defines
all the target specific compiler options.

Modified the Makefile.tizenrt to do not copy the created static
libraries to the TizenRT folder. Instead, the application builder
Makefile (tizenrt-artik053/apps/jerryscript/Makefile) copies the
required static libraries to TizenRT.

JerryScript-DCO-1.0-Signed-off-by: Roland Takacs rtakacs.uszeged@partner.samsung.com
2018-01-16 10:57:37 +09:00

3.6 KiB

About

This folder contains files to build and run JerryScript on TizenRT with Artik053 board.

How to build

TL; DR

If you are in a hurry, run following commands:

$ sudo apt-add-repository -y "ppa:team-gcc-arm-embedded/ppa"
$ sudo apt-get update 
$ sudo apt-get install gcc-arm-embedded
$ git clone https://github.com/jerryscript-project/jerryscript.git jerryscript
$ cd jerryscript
$ make -f ./targets/tizenrt-artik053/Makefile.travis install script

Next, go to step 7

Build steps in detail

1. Set up build environment

  • Install toolchain

Get the build in binaries and libraries, gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.

Untar the gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar and export the path like

$ tar xvf gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar
$ export PATH=<Your Toolchain PATH>:$PATH
  • Get the jerryscript and TizenRT sources
$ mkdir jerry-tizenrt
$ cd jerry-tizenrt
$ git clone https://github.com/jerryscript-project/jerryscript.git
$ git clone https://github.com/Samsung/TizenRT.git -b 1.1_Public_Release

The following directory structure is created after these commands

jerry-tizenrt
  ├── jerryscript
  └── TizenRT

2. Add jerryscript configuration for TizenRT

$ cp -r jerryscript/targets/tizenrt-artik053/apps/jerryscript/ TizenRT/apps/system/
$ cp -r jerryscript/targets/tizenrt-artik053/configs/jerryscript/ TizenRT/build/configs/artik053/
$ cp jerryscript/targets/tizenrt-artik053/romfs-1.1.patch TizenRT/

3. Configure TizenRT

$ cd TizenRT/os/tools
$ ./configure.sh artik053/jerryscript

4. Configure TizenRT

$ cd ../../
$ patch -p1 < romfs-1.1.patch
$ cd build/output/
$ mkdir res
# You can add files in res folder
# The res folder is later flashing into the target's /rom folder
# CAUTION: You must not exceed 400kb

5. Build JerryScript for TizenRT

# assuming you are in jerry-tizenrt folder
jerryscript/tools/build.py \
    --clean \
    --lto=OFF \
    --jerry-cmdline=OFF \
    --jerry-libc=OFF \
    --all-in-one=OFF \
    --mem-heap=70 \
    --profile=es2015-subset \
    --compile-flag="--sysroot=${PWD}/TizenRT/os" \
    --toolchain=${PWD}/jerryscript/cmake/toolchain_mcu_artik053.cmake

Note: there is a Makefile in the targets/tizenrt-artik053/ folder that also helps to build JerryScript for TizenRT.

# assuming you are in jerry-tizenrt folder
$ cd jerryscript
$ make -f targets/tizenrt-artik053/Makefile.tizenrt

6. Build TizenRT binary

# assuming you are in jerry-tizenrt folder
$ cd TizenRT/os
$ make

Binaries are available in TizenRT/build/output/bin

7. Generate romfs

$ genromfs -f ../build/output/bin/rom.img -d ../build/output/res/ -V "NuttXBootVol"

8. Flash binary

make download ALL

Reboot the device.

For more information, see How to program a binary.

9. Run JerryScript

You can use minicom for terminal program, or any other you may like, but set baud rate to 115200.

(Note: Device path may differ like /dev/ttyUSB1.)

sudo minicom --device=/dev/ttyUSB0 --baud=115200

Run jerry with javascript file(s)

TASH>>jerry hello.js                                                               
Hello JerryScript!

Without argument it prints:

TASH>>jerry                                                                        
No input files, running a hello world demo:                                        
Hello World from JerryScript