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.

OAD BIM/Bootloader CRC Issues CC2541

Other Parts Discussed in Thread: CC2541, CC2540

This is both a question but also just an attempt to get a better understanding of an area I'm not very familiar with.

We are using the CC2541 SoC (as part of the Panasonic PAN1721 board) and we've been having intermittent issues with the CRC calculation that is performed by the BIM (in bim_main.c).

The issue seems to be that the "crcCalcDMA" function intermittently generates different CRC values for ImageB.  If you reset the device enough it eventually calculates the right CRC. Once the right CRC is calculated then ImageB boots up fine until the device is re-flashed.

As a fix we're using the non-DMA crcCalc function that relies on HalFlashRead and that seems to work flawlessly.

I'm trying to have a better understanding of what may be the issue with crcCalcDMA. Why it may be generating different CRCs for the same ImageB, sometimes working, sometimes not.

Does anyone have insight into why this may be happening? Or has anyone else experienced this issue?