fe24452460
JerryScript-DCO-1.0-Signed-off-by: SaeHie Park saehie.park@samsung.com
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
|
|
* libfdlibm.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.cpp` `jerry_loop()`, which calls `js_loop()` in
|
|
`jerry_mbedk64f.cpp`
|
|
|
|
```
|
|
minar::Scheduler::postCallback(jerry_loop)
|
|
.period(minar::milliseconds(100))
|
|
```
|
|
|
|
`sysloop()` then calls `blink()` in `blink.js` which blinks the `LED` in
|
|
every second.
|