Akos Kiss 91e976f8c7 Move jerry-core API implementations and headers into dedicated subdirectories (#1793)
Moved all public API headers under the `jerry-core/include`
directory. This makes installing all the public headers easier.
Also, should we have new public headers in the future, their
installation will be automatic, there will be no need to update the
build files. Moreover, this aligns better with the structure of
other libraries in the project (in those cases, public headers
always reside in `<library>/include`).

Moved all public API implementations under the `jerry-core/api`
directory. This cleans up the root directory of `jerry-core`,
moving all implementation code under "modules", i.e.,
subdirectories. This also makes the future splitting of the big and
monolithic `jerry.c` along features easier, if needed. (Debugger
and snapshot-related functions are already in separate sources.)

Notes:
* `jerryscript.h` is split up to separate header files along
  feature boundaries. These new headers are included by
  `jerryscript.h`, so this is not a breaking change but header
  modularization only.
* `jerry-snapshot.h` is still under `jerry-core/api`, keeping it as
  a non-public header.
* This commit also adapts all targets to the include path change.

JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
2017-05-04 15:28:24 +02:00
..

About

This folder contains files to run JerryScript on RIOT-OS with STM32F4-Discovery board.

How to build

1. Preface

1, Directory structure

Assume harmony as the path to the projects to build. The folder tree related would look like this.

harmony
  + jerryscript
  |  + targets
  |      + riot-stm32f4
  + RIOT

2, Target board

Assume STM32F4-Discovery with BB as the target board.

2. Prepare RIOT-OS

Follow this page to get the RIOT-OS source.

Follow the Inroduction wiki site and also check that you can flash the stm32f4-board.

3. Build JerryScript for RIOT-OS

# assume you are in harmony folder
cd jerryscript
make -f ./targets/riot-stm32f4/Makefile.riot

This will generate the following libraries:

/build/bin/release.riotstm32f4/librelease.jerry-core.a
/build/bin/release.riotstm32f4/librelease.jerry-libm.lib.a

This will copy one library files to targets/riot-stm32f4/bin folder:

libjerrycore.a

This will create a hex file in the targets/riot-stm32f4/bin folder:

riot_jerry.elf

4. Flashing

make -f ./targets/riot-stm32f4/Makefile.riot flash

For how to flash the image with other alternative way can be found here: Alternative way to flash

5. Cleaning

To clean the build result:

make -f ./targets/riot-stm32f4/Makefile.riot clean

5. Running JerryScript Hello World! example

You may have to press RESET on the board after the flash.

You can use minicom for terminal program, and if the prompt shows like this:

main(): This is RIOT! (Version: ****)
                                     You are running RIOT on a(n) stm32f4discovery board.
                                                                                         This board features a(n) stm32f4 MCU.

please set Add Carriage Ret option by CTRL-A > Z > U at the console, if you're using minicom.

Help will provide a list of commands:

> help

The test command will run the test example, which contains the following script code:

print ('Hello, World!');