Flashing RIOT in OpenMote-CC2538 Rev. A1


I am new to RIOT OS and I am hoping that you help me with my issue.

I have obtained 3 OpenMoteCC2538 Rev.A1 (attached with OpenUSB Rev.A2 and battery container), and I followed the provided Tutorial of RIOT’s GitHub page. I believe I have failed to complete the first task (task-01), I get multiple messages “Target returned: 0x43, Invalid address” whenever I execute the make flash command inside the “…Tutorial/task-01” directory. This is the command log result:


Ok, I have successfully flashed some of the tasks in the RIOT tutorials. For those having similar OpenMote-CC2538_Rev.A1, I will put the solution below but first I have a question to ask.

My question is how can I debug the openmote-cc2538 device using eclipse? I mean does it necessarily required JLink-programmer to do so? can I use the USB port for debugging instead? Please help.

The solution: It turns out, rev. A1 requires different ldscript since it has lower memory (at least that’s the difference I know). Therefore, I made a copy of the current ldscript of the CC2538SF53 CPU found here “RIOT/cpu/cc2538/ldscripts/cc2538sf53.ld” and name it “cc2538sf23.ld” as the ldscript of CC2538SF23. I put the copy in the same place “RIOT/cpu/cc2538/ldscripts/cc2538sf23.ld” and edit the lines starting with “rom (rx) :” and "cca : " with these lines:

rom (rx) : ORIGIN = 0x00200000, LENGTH = 256K - 44 cca : ORIGIN = 0x0023ffd4, LENGTH = 44

I also made some changes to the file “RIOT/boards/openmote-cc2538/Makefile.include”, specifically edit the lines with “export CPU_MODEL” and “export JLINK_DEVICE” to equal “cc2538sf23”. Now you can just flash the Rev.A1 device with the make command specifying the cc2538 board like this: “> sudo BOARD=openmote-cc2538 make flash all term”. I hope this help anyone having a similar issue.

Best, Ahed