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.

RM57L843: RM57L843

Part Number: RM57L843

It seems I can't call SL_SelfTest_PBIST(PBIST_EXECUTE, ramGroup, algoInfo); to test ram group 29, from 0x080000 to 0x08020000, whera the stack is located at. At the begging of  SL_SelfTest_PBIST(PBIST_EXECUTE, ramGroup, algoInfo); LR will be pushed into stack, and at the end of this function, the value in stack will be pop into PC, but after testing ram goupe 29 the stack will be corrupted, so it can't return from this function correctly. How to deal with this problem?

  • Hello,

    Before the PBIST for group 29, you need to copy the content in SRAM to other SRAM group, and backup the MCU general registers. After the PBIST is done, copy SRAM content back and restore the MCU registers.
  • Hello User,

    Another aspect to this is that in most cases, the return address is stored in the LR register within the CPU and not pushed to the stack so it doesn't end up causing an issue unless there are additional calls within the function causing the return address to be pushed to the stack.

    Another option that some customers have chosen to do is to include the PBIST source directly in line within the startup code in order to eliminate the need for the function call. To be effective, this would need to happen as early during boot time as possible.