Since TizenRT doesn't have any commands to get the return value of a process, added a debug print line that shows the return value. JerryScript-DCO-1.0-Signed-off-by: Roland Takacs rtakacs.uszeged@partner.samsung.com
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