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

Guru**** 2463330 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/659816/rm57l843-rm57l843

器件型号:RM57L843

我似乎无法调用 sl_SelfTest_PBIST (PBIST_EXECUTE、RAMGROUP、ALGOInfo);要测试 RAM 组29、从0x080000到0x08020000、堆栈位于何处。 在 sl_SelfTest_PBIST ( PBIST_EXECUTE、RAMGROUP、ALGOInfo)的设置下;LR 将被压入堆栈、在该函数的末尾、堆栈中的值将被弹出到 PC 中、但在测试 RAM 组29后、堆栈将被损坏、因此无法正确地从该函数返回。 如何处理此问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    在第29组的 PBIST 之前、您需要将 SRAM 中的内容复制到其他 SRAM 组、并备份 MCU 通用寄存器。 PBIST 完成后、将 SRAM 内容复制回并恢复 MCU 寄存器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    用户好!

    另一方面、在大多数情况下、 返回地址存储在 CPU 内的 LR 寄存器中、不会压入栈、因此不会最终导致问题、除非函数内有额外的调用导致返回地址被压入栈。

    一些客户选择的另一种选择是直接在启动代码中将 PBIST 源代码包含在行中、以消除对函数调用的需求。 为了有效、这需要在启动期间尽早发生。