This directory contains example platform drivers for Synopsys DesignWare® ARC® EM Starter Kit 2.3(EMSK2.3) and Digilent Pmod RF2 equipped with the Microchip MRF24J40 IEEE 802.15.4™ 2.4GHz RF transceiver.
The EMSK platform is a configurable, FPGA-based software development platform for the ARC EM Processor Family. Please note that:
<path-to-openthread>/examples/platforms/emsk/radio.c
. It can be set manually or loaded from non-volatile memory.Download and install GNU toolchain for ARC EM.
Download and install Digilent Adept Software for the Digilent JTAG-USB cable.
$ cd <path-to-openthread> $ ./script/bootstrap $ ./bootstrap $ make -f examples/Makefile-emsk clean $ make -f examples/Makefile-emsk
After a successful build, the elf
files can be found in <path-to-openthread>/output/arc-elf32/bin
. You can convert them to bin
files using arc-elf32-objcopy
:
$ arc-elf32-objcopy -O binary ot-cli-ftd ot-cli-ftd.bin
embARC embarc is an open software platform to facilitate the development of embedded systems based on ARCv2 processors. Download embARC embarc to generate and flash the EMSK bootloader from source code. See the application note Using a secondary bootloader on the EMSK for details.
Modify the file name arc-elf32-ot-cli-ftd.bin
to boot.bin
. Copy boot.bin
to the SD card. The EMSK2.3 includes an SPI flash storage device pre-programmed with FPGA images containing different configurations of DesignWare® ARC EM cores. Set pins 1 and 4 of SW1
DIP switch and press FPGA configure
button to configure the ARC EM11D and secondary bootloader.
Prepare two EMSK2.3 boards and copy the boot.bin
(CLI example) to the EMSK2.3 SD card (as shown above).
The CLI example uses UART connection. To view raw UART output, start a terminal emulator like Tera Term and PuTTY. Connect EMSK J7 to the COM port with the following serial port settings:
Open a terminal connection on the first board. The boot.bin
in the SD card will be loaded to the EMSK after a few seconds.
MRF24J40 Init started. MRF24J40 Init finished. Node No. :
1
and press the Enter
key in the terminal emulator.Node No. :1 OpenThread Init Finished
> panid 0x1234 Done > ifconfig up Done > thread start Done
> state Leader
2
and press the Enter
key in the terminal emulator.MRF24J40 Init started. MRF24J40 Init finished. Node No. :2 OpenThread Init Finished
> panid 0x1234 Done > ifconfig up Done > thread start Done
> state Child
> ipaddr fdde:ad00:beef:0:0:ff:fe00:fc00 fdde:ad00:beef:0:0:ff:fe00:ec00 fdde:ad00:beef:0:4f6e:7e53:67c8:f5b0 fe80:0:0:0:c462:f165:44eb:ef9f
> ping fdde:ad00:beef:0:0:ff:fe00:ec00 8 bytes from fdde:ad00:beef:0:0:ff:fe00:ec00: icmp_seq=1 hlim=64 time=30ms
For a list of all available commands, visit OpenThread CLI Reference README.md.
The following hardware have been used for testin and verification:
The following toolchains and software have been used for testing and verification:
The EMSK example has been verified by Synopsys with commit 064aba2
.