3ba286f3e1
* 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
86 lines
2.1 KiB
Markdown
86 lines
2.1 KiB
Markdown
### 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.
|