lunedì 7 marzo 2016

Using JEMMA with the Freescale KW24D512 ZigBee Dongle

The USB-KW24D512 is a development platform based on MKW24D ARM MCU which embeds a low power IEEE 802.15.4 2.4 GHz radio frequency transceiver. This board comes with a pre-installed firmware able to operate as ZigBee traffic flow sniffer and can be directly used with the BeeKit Wireless Connectivity Toolkit freely downloadable from NXP. This toolkit provides among other functionalities the possibility to modify the firmware to best suite developers needs.

1. Prerequisites

In this particular case it is required the board to operate as a ZigBee dongle so that making possible to reach remote devices operating ZigBee based communications. To accomplish this purpose a programmer supporting the MKW2x ARM processors family is required.

In our case we used a SEGGER J-Link EDU (note: this is a cheaper version of the full J-Link product, which only allows non-for-profit use). Tje J-Link allows to debug end reprogram among others this particular Freescale board. The J-Link provides a 20-pin 0.1" JTAG socket therefore a J-Link 9-pin Cortex-M Adapter is required in order to interface the board. Before attempting to modify board's firmware, it is advisable to update J-Link debugger otherwise the board might not be correctly identified. It is possible to update the debugger's firmware by downloading the J-Link Configurator tool included in the SEGGER J-Link software pack.
Flash the board


2. Flash the firmware

  1. Open Test Tool application. Go to Tool 12Tool.exe
  2. Select Firmware Loaders --> Kinetis Firmware Loader option.
  3. Connect a J-Link Flash programmer to the mini-JTAG connector on the USB-KW24D512 board.
  4. Browse and select the KW24D512USB_BlackBox_ZigBeePro srec file to upload to the board
  5. Click on the "Upload" button and specify the board about to be updated
From this point on the Freescale USB-KW24D512 will operate as ZigBee dongle.

3. Set up and launch the runtime

To set up and launch the JEMMA runtime please refer to this guide. As pointed out in the guide, it is required to specify the port name assigned by the operating system to the zigbee dongle in the configuration/config.ini file. For linux users this is something similar to /dev/ttyACM0.

Authors

Sandro Tassone holds a MSc in Computer Engineering from Politecnico di Torino. He is currently collaborating with ISMB and Energy@home on JEMMA and other OSGi-based projects. He is a Software and C++ enthusiast. Thanks to Vito Monterosso (Gemino), for providing the initial instructions and support.


Nessun commento:

Posta un commento