[riot-users] Flashing to OpenMote cc2538 via OpenBase

Aaron Sowry aeneby at gmail.com
Mon Dec 7 11:17:06 CET 2015


I'm looking to flash RIOT to an OpenMote cc2538 via the serial
interface provided by the OpenBase board. I don't have a JTAG
programmer at the moment so I need to do everything via the bootloader
on the chip, and I'd therefore like to make sure I don't get locked
out of it.

This is apparently done by ensuring the top page of flash memory (CCA)
is written with a special byte sequence to enable a bootloader
"backdoor", allowing one to force bootloader execution even in the
presence of an existing flash image by setting a specified pin to high
or low during reset. This is what I would like to achieve on the

I can see that this is implemented in cpu/cc2538/vectors.c, and there
is a linker script in cpu/cc2538/ldscripts for the cc2538sf53 which is
what the OpenMote is. However the CCA array in vectors.c is protected
by an if/endif directive and is only included if UPDATE_CCA is
defined. I notice that this gets defined in the header files for the
cc2538dk and the ReMote, but *not* for the OpenMote.

So my question is, is this an oversight or is there a reason for it
being excluded on this platform? If I define UPDATE_CCA, I can then
flash the resulting binary using the script in dist/tools/cc2538-bsl
without being locked out of the bootloader, no?


More information about the users mailing list