* Rename modified fdlibm to jerry-libm
* Move third-party/fdlibm to jerry-libm
* Rename original fdlibm.h to jerry-libm-internal.h
* And remove it from the public headers.
* Rename jerry-libm's public header to math.h
* This also makes jerry-core sources include `<math.h>`. Therefore,
should anyone want to use a different libm implementation with
jerry, it becomes possible. (The same way as we provide a minimal
libc with standard headers, but should it be insufficient or
conflicting for someone, it can be replaced.)
* Drop `s_` prefix from jerry-libm sources
* The original fdlibm implementation had various prefixes (e.g., `k_`
for sources of kernel routines, and `w_` for wrapper routines), but
after the specialization of fdlibm to jerry, only `s_` remained.
Since it does not encode anything anymore, it can be dropped.
* Stylistic edits to jerry-libm's CMakeLists
* Align project name with other CMakeLists in the code base
* Move Jerry-LibM under Apache License
* Using the same approach as was used by linux-wireless when ath5k
driver license needed clarification. Solution was proposed by SFLC.
External mail for future reference: http://lwn.net/Articles/247806/
* Tests & checks
* Remove FD from the name of libm unit test-related files
* Make vera++ and cppcheck check jerry-libm
* Targets
* Speculative update of targets to use jerry-libm
JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
About
This folder contains files to run JerryScript in mbed / FRDM-K64F board.
Installing yotta
You need to install yotta before proceeding. Please visit http://yottadocs.mbed.com/#installing-on-linux
Cross-compiler for FRDM-K64F
If you don't have any GCC compiler installed, please visit [this] (https://launchpad.net/gcc-arm-embedded/+download) page to download GCC 4.8.4 which was tested for building JerryScript for K64F.
How to build JerryScript
make -f targets/mbedk64f/Makefile.mbedk64f clean
make -f targets/mbedk64f/Makefile.mbedk64f jerry
JerryScript output files
Two files will be generated at targets/mbedk64f/libjerry
- libjerrycore.a
- libjerrylibm.a
Building mbed binary
make -f targets/mbedk64f/Makefile.mbedk64f js2c yotta
Or, cd to targets/mbedk64f where Makefile.mbedk64f exist
cd targets/mbedk64f
yotta target frdm-k64f-gcc
yotta build
Build at once
Omit target name to build both jerry library and mbed binary.
make -f targets/mbedk64f/Makefile.mbedk64f
Flashing to k64f
make -f targets/mbedk64f/Makefile.mbedk64f flash
It assumes default mound folder is /media/(user)/MBED
If its mounted to other path, give it with TARGET_DIR variable, for example,
TARGET_DIR=/mnt/media/MBED make -f targets/mbedk64f/Makefile.mbedk64f flash
Or you can just copy targets/mbedk64f/build/frdm-k64f-gcc/source/jerry.bin
file to mounted folder.
When LED near the USB port flashing stops and MBED folder shows up on the
desktop(if you are using GUI), press RESET button on the board to execute
JerryScript led flashing sample program in js folder.
How blink sample program works
All .js files in js folder are executed, with main.js in first order.
sysloop() function in main.js is called periodically in every 100msec by
below code in main.c jerry_loop(), which calls js_loop() in
jerry_mbedk64f.c
minar::Scheduler::postCallback(jerry_loop)
.period(minar::milliseconds(100))
sysloop() then calls blink() in blink.js which blinks the LED in
every second.