The 'external' toolchain file does nothing but transitively sets some cmake system variables from values received on the command line, and forcibly sets the C compiler. However, the same cmake system variables can be directly set via the command line, together with the C compiler, and specifying a toolchain is not a must. Thus, this patch drops the superfluous 'external' toolchain file and updates cmake-based targets to invoke cmake in a simpler form. Related changes in this commit: - While updating the cmake invocations, all the command line arguments have been reviewed and simplified (removed those, which did not change the defaults). - Removed unnecessary forced C compiler settings from some toolchain files (and/or changed them to setting the "compiler works" flag to true, thus keeping cmake's compiler identification logic but disabling some of its overzealous compiler sanity checks). JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
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!');