Running OpenThread on the OpenMote

20 Mar

The OpenMote is a development board which is like the TI CC2538DK based on the TI CC2538 MCU. However during the early development stages the OpenMote hosted a TI CC2538SF53 with 512kB Flash memory. The newer versions (Board revision A1) that one can buy these days are hosting a TI CC2538SF23 which only has 256kB of Flash. Due to that the linker script file which OpenThread uses for the CC2538DK needs to be altered.

To do so, change the following lines the examples/platform/cc2538 directory:

MEMORY
{
  FLASH (rx) :           ORIGIN = 0x00200000,            LENGTH = 0x0007FFD4
  FLASH_CCA (rx) :       ORIGIN = 0x0027FFD4,            LENGTH = 0x2C
  SRAM (rwx) :           ORIGIN = 0x20000000,            LENGTH = 32K
}

to:

MEMORY
{
  FLASH (rx) :           ORIGIN = 0x00200000,            LENGTH = 0x0003FFD4
  FLASH_CCA (rx) :       ORIGIN = 0x0023FFD4,            LENGTH = 0x2C
  SRAM (rwx) :           ORIGIN = 0x20000000,            LENGTH = 32K
}

This mainly reduces the available flash for the linker by half – and makes OpenThread fit onto the OpenMote!

I am using the OpenMote hosted on a OpenUSB carrier board which can be powered either over USB or battery. It also hosts a FTDI USB to Serial converter chip which is used for programming/flashing.

If your OpenMote is already actively running software, you cannot flash it. You first need to set it into the Bootloader mode to enable flashing. This is done by taking the CTS pin (second from the bottom on the right) on the mote to GND (first small from the bottom on the left) while pressing the RESET button on the mote. The OpenUSB board gives easy access to the CTS and a GND pin, so simply connect this two for a moment while releasing the RESET button.

OpenMote OpenUSB

Note: The board normally powers all LEDs when it’s in the bootloader mote. However these can also be controlled by your application of course…

The image can be flashed either by e.g. using the TI Flash Programmer 2 or the cc2538-bsl script (depending on your preferences and operating system).

Facebooktwittergoogle_plusFacebooktwittergoogle_plus

Leave a Reply

Your email address will not be published. Required fields are marked *