This is a prototype of "integration repository" for Linaro LITE team for 2016.12 release. It's idea is to bring known-good versions of various projects together, to allow reproducible buils for multiple boards and server as a seed for CI efforts. Prerequisites ============= Zephyr SDK 0.8.2 should be installed in ~/opt/zephyr-sdk-0.8.2/ . If you have it in different place, the easiest solution is to make a symlink. After cloning the repository, run: git submodule update --init --recursive --rebase or just make update You'll need to re-run those regularly, to pick up any changes Before using this repository, you'll need to run following to setup Zephyr build environment: source zephyr-environ.sh Alternatively, instead of `make`, you can run `./zmake`, which will setup Zephyr environment in a make subshell, without affecting environment of your interactive shell. Projects ======== You can build any of the projects below for a particular board with: make BOARD= Or all projects with: make all BOARD= JerryScript ----------- Build with e.g.: make jerryscript BOARD=frdm_k64f The result is in the top-level directory, file jerryscript-.bin Note that JerryScript implements raw ECMAScript5 standard and doesn't support any hardware access. No LED blinking. You can print something with: print("Someting:", 2 + 2) MicroPython ----------- Build with e.g.: make micropython BOARD=frdm_k64f The result is in the top-level directory, file micropython-.bin MicroPython port includes support for accessing arbitrary Zephyr-defined GPIO and timing, i.e. all needed to blink an LED. For example code and instructions on blinking, follow https://github.com/micropython/micropython/tree/master/zephyr#quick-example (the code there needs to be updated for LED GPIO as used by your board!) Zephyr.js --------- Zephyr.js currently officially supports only 2 boards: arduino_101 (x86) and frdm_k64f. It various places, it so far hardcodes support for these 2 boards and bundles its own Zephyr snapshot, so building for other boards is complicated (and has a good chance to fail still). This is known issue and work is ongoing to improve the situation (but no specific ETA). Build with: make micropython BOARD=frdm_k64f The result is in the top-level directory, file zephyr.js-.bin Default Zephyr.js mode of operation is no interactive mode, a JavaScript application is bundled into the firmware binary. Steps above use default "hello world" application, which prints a message to the console.