Files
jerryscript/targets/particle
Dániel Bátyai 9860d66a56 Rework the public API (#4829)
Related to #4186.

Some notable changes:
  - The term 'Error' now strictly refers to native Error objects defined in
    the ECMA standard, which are ordinary objects. All other uses of
    'error' or 'error reference' where the term refers to a thrown value is
    now called 'exception'.

  - Simplified the naming scheme of many String API functions. These functions
    will now also take an 'encoding' argument to specify the desired
    encoding in which to operate.

  - Removed the substring-copy-to-buffer functions. These functions
    behaved awkwardly, as they use character index to specify the
    start/end positions, and were mostly used incorrectly with byte
    offsets instead. The functionality can still be replicated with
    other functions if necessary.

  - String-to-buffer functions will no longer fail if the buffer is not
    sufficiently large, the string will instead be cropped.

  - Fixed the usage of the '_sz' prefix in many API functions. The term
    'sz' means zero-terminated string in hungarian notation, this was
    used incorrectly in many cases.

  - Renamed most of the public API functions to have shorter, more on-point
    names, rather than the often too long descriptive names. Functions are now
    also grouped by the type of value they operate on, where this makes
    sense.

JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai dbatyai@inf.u-szeged.hu
2021-12-06 10:20:09 +01:00
..
2021-12-06 10:20:09 +01:00

About

This folder contains files to run JerryScript beside Particle Device Firmware on Photon board. It runs a mini example, blinking an LED which is the "Hello World" example of the microcontroller universe.

How to build

1. Preface / Directory structure

Assume root as the path to the projects to build. The folder tree related would look like this.

root
  + jerryscript
  |  + targets
  |      + particle
  + particle
  |  + firmware

2, Update/Install the Particle Firmware

For detailed descriptions please visit the official website of the firmware: https://www.particle.io/

You can checkout the firmware with the following command:

# assume you are in root folder
git clone https://github.com/spark/firmware.git particle/firmware

The Photons latest firmware release is hosted in the latest branch of the firmware repo.

# assume you are in root folder
cd particle/firmware
git checkout latest

Before you type any commands, put your Photon in DFU mode: hold down both the SETUP and RESET buttons. Then release RESET, but hold SETUP until you see the RGB blink yellow. That means the Photon is in DFU mode. To verify that the Photon is in DFU mode and dfu-util is installed properly, try the dfu-util -l command. You should see the device, and the important parts there are the hex values inside the braces the USB VID and PID, which should be 2b04 and d006 for the Photon.

To build and flash the firmware: switch to the modules directory then call make with a few parameters to build and upload the firmware:

cd modules
make PLATFORM=photon clean all program-dfu

3. Build JerryScript

# assume you are in root folder
cd jerryscript
make -f ./targets/particle/Makefile.particle

This will create a binary file in the /build/particle/ folder:

jerry_main.bin

Thats the binary what well be flashing with dfu-util.

4. Flashing

Make sure you put your Photon in DFU mode. Alternatively, you can make your life a bit easier by using the make command to invoke dfu-util:

make -f targets/particle/Makefile.particle flash

You can also use this dfu-util command directly to upload your BIN file to the Photons application memory:

dfu-util -d 2b04:d006 -a 0 -i 0 -s 0x80A0000:leave -D build/particle/jerry_main.bin

5. Cleaning

To clean the build result:

make -f targets/particle/Makefile.particle clean

Running the example

The example program will blinks the D7 led periodically after the flash.