This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Contiki does not boot on CC2538 on a custom board

Other Parts Discussed in Thread: CC2538

Hello,

I have built a custom board with a CC2538.  The schematic closely mirrors the one of the TI CC2538 evaluation module that comes with the TI SmartRF06 evaluation board, except for a few GPIO pins.  I also have developed a program using the aforementioned development kit and Contiki OS.  It runs fine on the evaluation modules.

When I finished my custom board, I could program it via JTAG to enable the bootloader backdoor.  I then could program it via uART using the XDS100v3 from the SmartRF06 EB (jumper J503 not mounted).

Of course, I expect my program will have to be adapted to the new board because it is slightly different from the EM.  However, it turns out it crashes long before anything board-specific runs.

There are several instructions that trigger a crash or an infinite loop.  The first one is in random_init() when it uses the RF core to seed the random generator :

https://github.com/contiki-os/contiki/blob/eed135228289a8059d5908ce2ee56865c2d7bbfe/cpu/cc2538/dev/random.c#L110

I have also seen it crashing during the initialization of the network stack, also as RF-related instructions are executed.

So here it is, I have double-checked my design and my code and cannot see what causes the problem, not even whether it is hardware- or software-related.  I have several slightly different custom boards and they all display the same behaviour.

Any hints on where I should be looking or what would be the likely cause?

Thanks,