S32G3 ATF behavior on fatal errors

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

S32G3 ATF behavior on fatal errors

跳至解决方案
2,136 次查看
yashasdu
Contributor I

Hello NXP Support Team,

I am working with an S32G399-based custom board using Yocto BSP 43 and ARM Trusted Firmware (TF-A) v2.10.7.

When ATF encounters a fatal error during boot (for example, panic, assert, or BL2/BL31 failure), the system currently enters a halt state and stops execution. For my use case, I would prefer the system to automatically reboot instead of halting when such failures occur.

Could you please advise:

  • What is the recommended behavior for handling fatal ATF errors on S32G platforms?

  • Whether reboot-on-failure is supported or recommended by NXP for S32G?

  • If there is any existing configuration, hook, or reference implementation provided by NXP to achieve this behavior?

Thank you for your guidance.

Regards,
@yashasdu 

0 项奖励
回复
1 解答
1,981 次查看
chenyin_h
NXP Employee
NXP Employee

Hello, @yashasdu 

Thanks for your reply.

As I had mentioned, there is not such a formal guidance/documents from us for your requirements, I apologize. From my experience,  maybe the s32_destructive_reset API is helpful for you, you may check if it could be compatible for rebooting the system in your case.

 

BR

Chenyin

在原帖中查看解决方案

0 项奖励
回复
3 回复数
1,993 次查看
chenyin_h
NXP Employee
NXP Employee

Hello, @yashasdu 

Thanks for your post.

1. BSP is based on open source project, you may find all source code of TFA part, from the BSP UM, there is not special settings/implementation for your requirements.

2. There are not a formal recommendation from BSP's perspective, but you may also reference the safety manual for implementing some of the functionality required.

3. From my understanding, the default reaction in TFA for critical errors(system hang) is useful for protect the system safety and is convenient to debug/obtain logs/stack/registers, etc, it is possible for you to trigger reset to the system for certain critical errors as required.

 

BR

Chenyin

0 项奖励
回复
1,989 次查看
yashasdu
Contributor I

Hello @chenyin_h 

Thanks for your clarification. I understand that ATF halts on fatal errors by default for safety and debugging purposes.

I intend to implement a controlled reset on critical failures for our board. Could you advise the recommended way to trigger a system reset safely from BL2/BL31 context on S32G399 (e.g., using MC_RGM or other platform mechanisms)?

This guidance will help me ensure the changes follow platform best practices.

Regards,
Yashas

0 项奖励
回复
1,982 次查看
chenyin_h
NXP Employee
NXP Employee

Hello, @yashasdu 

Thanks for your reply.

As I had mentioned, there is not such a formal guidance/documents from us for your requirements, I apologize. From my experience,  maybe the s32_destructive_reset API is helpful for you, you may check if it could be compatible for rebooting the system in your case.

 

BR

Chenyin

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2290693%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ES32G3%20ATF%20%E5%9C%A8%E5%87%BA%E7%8E%B0%E8%87%B4%E5%91%BD%E9%94%99%E8%AF%AF%E6%97%B6%E7%9A%84%E8%A1%8C%E4%B8%BA%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2290693%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%20class%3D%22%22%3E%3CSPAN%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%E6%81%A9%E6%99%BA%E6%B5%A6%E6%94%AF%E6%8C%81%E5%9B%A2%E9%98%9F%E3%80%81%3C%2FSPAN%3E%3C%2FP%3E%3CP%20class%3D%22%22%3E%3CSPAN%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20Yocto%20%E7%94%B5%E8%B7%AF%E6%9D%BF%E6%94%AF%E6%8C%81%E5%8C%85%2043%20%E5%92%8C%20Arm%20%E5%8F%AF%E4%BF%A1%E5%9B%BA%E4%BB%B6%20(TF-A)%20v2.10.7%20%E4%BD%BF%E7%94%A8%E5%9F%BA%E4%BA%8E%20S32G399%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%E6%9D%BF%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20class%3D%22%22%3E%3CSPAN%3E%E5%BD%93%20ATF%20%E5%9C%A8%E5%90%AF%E5%8A%A8%E6%9C%9F%E9%97%B4%E9%81%87%E5%88%B0%E8%87%B4%E5%91%BD%E9%94%99%E8%AF%AF%EF%BC%88%E4%BE%8B%E5%A6%82%E6%AD%BB%E6%9C%BA%E3%80%81%E6%96%AD%E8%A8%80%E6%88%96%20BL2%2FBL31%20%E6%95%85%E9%9A%9C%EF%BC%89%E6%97%B6%EF%BC%8C%E7%B3%BB%E7%BB%9F%E5%BD%93%E5%89%8D%E4%BC%9A%E8%BF%9B%E5%85%A5%E6%9A%82%E5%81%9C%E7%8A%B6%E6%80%81%E5%B9%B6%E5%81%9C%E6%AD%A2%E6%89%A7%E8%A1%8C%E3%80%82%E5%B0%B1%E6%88%91%E7%9A%84%E4%BD%BF%E7%94%A8%E6%83%85%E5%86%B5%E8%80%8C%E8%A8%80%EF%BC%8C%E6%88%91%E6%9B%B4%E5%B8%8C%E6%9C%9B%E7%B3%BB%E7%BB%9F%E8%83%BD%E8%87%AA%E5%8A%A8%E9%87%8D%E5%90%AF%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E5%9C%A8%E5%8F%91%E7%94%9F%E6%AD%A4%E7%B1%BB%E6%95%85%E9%9A%9C%E6%97%B6%E5%81%9C%E6%AD%A2%E8%BF%90%E8%A1%8C%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20class%3D%22%22%3E%3CSPAN%3E%E8%83%BD%E5%90%A6%E8%AF%B7%E6%82%A8%E6%8C%87%E7%82%B9%E4%B8%80%E4%BA%8C%EF%BC%9F%3C%2FSPAN%3E%3C%2FP%3E%3CUL%3E%3CLI%3E%3CP%20class%3D%22%22%3E%3CSPAN%3E%E5%9C%A8%20S32G%20%E5%B9%B3%E5%8F%B0%E4%B8%8A%E5%A4%84%E7%90%86%E8%87%B4%E5%91%BD%20ATF%20%E9%94%99%E8%AF%AF%E7%9A%84%E6%8E%A8%E8%8D%90%E8%A1%8C%E4%B8%BA%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%20class%3D%22%22%3E%3CSPAN%3E%E6%81%A9%E6%99%BA%E6%B5%A6%E6%98%AF%E5%90%A6%E6%94%AF%E6%8C%81%E6%88%96%E6%8E%A8%E8%8D%90%20S32G%20%E6%95%85%E9%9A%9C%E9%87%8D%E5%90%AF%EF%BC%9F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%20class%3D%22%22%3E%3CSPAN%3E%E6%81%A9%E6%99%BA%E6%B5%A6%E6%98%AF%E5%90%A6%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%BB%E4%BD%95%E7%8E%B0%E6%9C%89%E7%9A%84%E9%85%8D%E7%BD%AE%E3%80%81%E6%8C%82%E9%92%A9%E6%88%96%E5%8F%82%E8%80%83%E5%AE%9E%E7%8E%B0%E6%9D%A5%E5%AE%9E%E7%8E%B0%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%EF%BC%9F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%3CSPAN%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E6%8C%87%E5%AF%BC%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E8%87%B4%E6%95%AC%EF%BC%8C%3CBR%20%2F%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F234498%22%20target%3D%22_blank%22%3E%20%40yashasdu%3C%2FA%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2291497%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32G3%20ATF%20behavior%20on%20fatal%20errors%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2291497%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F24163%22%20target%3D%22_blank%22%3E%40chenyin_h%3C%2FA%3E%3C%2FP%3E%3CP%3E%E8%B0%A2%E8%B0%A2%E6%82%A8%E7%9A%84%E6%BE%84%E6%B8%85%E3%80%82%E6%88%91%E7%9F%A5%E9%81%93%E5%87%BA%E4%BA%8E%E5%8A%9F%E8%83%BD%E5%AE%89%E5%85%A8%E5%92%8C%E8%B0%83%E8%AF%95%E7%9B%AE%E7%9A%84%EF%BC%8C%E9%BB%98%E8%AE%A4%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8CATF%20%E4%BC%9A%E5%9C%A8%E5%87%BA%E7%8E%B0%E8%87%B4%E5%91%BD%E9%94%99%E8%AF%AF%E6%97%B6%E5%81%9C%E6%AD%A2%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E6%89%93%E7%AE%97%E5%9C%A8%E6%9D%BF%E5%87%BA%E7%8E%B0%E4%B8%A5%E9%87%8D%E6%95%85%E9%9A%9C%E6%97%B6%E5%AE%9E%E6%96%BD%E5%8F%97%E6%8E%A7RESET%E3%80%82%E6%82%A8%E8%83%BD%E5%90%A6%E5%BB%BA%E8%AE%AE%E5%9C%A8%20S32G399%20%E4%B8%8A%E4%BB%8E%20BL2%2FBL31%20%E7%8E%AF%E5%A2%83%E4%B8%AD%E5%AE%89%E5%85%A8%E8%A7%A6%E5%8F%91%E7%B3%BB%E7%BB%9F%20RESET%20%E7%9A%84%E6%8E%A8%E8%8D%90%E6%96%B9%E6%B3%95%EF%BC%88%E4%BE%8B%E5%A6%82%EF%BC%8C%E4%BD%BF%E7%94%A8%20MC_RGM%20%E6%88%96%E5%85%B6%E4%BB%96%E5%B9%B3%E5%8F%B0%E6%9C%BA%E5%88%B6%EF%BC%89%EF%BC%9F%3C%2FP%3E%3CP%3E%E8%AF%A5%E6%8C%87%E5%8D%97%E5%B0%86%E5%B8%AE%E5%8A%A9%E6%88%91%E7%A1%AE%E4%BF%9D%E6%9B%B4%E6%94%B9%E9%81%B5%E5%BE%AA%E5%B9%B3%E5%8F%B0%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5%E3%80%82%3C%2FP%3E%3CP%3E%E9%97%AE%E5%80%99%EF%BC%8C%3CBR%20%2F%3EYashas%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2291653%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32G3%20ATF%20behavior%20on%20fatal%20errors%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2291653%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F234498%22%20target%3D%22_blank%22%3E%40yashasdu%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E5%9B%9E%E5%A4%8D%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%AD%A3%E5%A6%82%E6%88%91%E6%89%80%E6%8F%90%E5%88%B0%E7%9A%84%EF%BC%8C%E6%88%91%E4%BB%AC%E6%B2%A1%E6%9C%89%E9%92%88%E5%AF%B9%E6%82%A8%E7%9A%84%E8%A6%81%E6%B1%82%E6%8F%90%E4%BE%9B%E6%AD%A3%E5%BC%8F%E7%9A%84%E6%8C%87%E5%AF%BC%2F%E6%96%87%E4%BB%B6%EF%BC%8C%E5%AF%B9%E6%AD%A4%E6%88%91%E6%B7%B1%E8%A1%A8%E6%AD%89%E6%84%8F%E3%80%82%E6%A0%B9%E6%8D%AE%E6%88%91%E7%9A%84%E7%BB%8F%E9%AA%8C%EF%BC%8C%E4%B9%9F%E8%AE%B8%20s32_destructive_reset%20API%20%E5%AF%B9%E4%BD%A0%E6%9C%89%E5%B8%AE%E5%8A%A9%EF%BC%8C%E4%BD%A0%E5%8F%AF%E4%BB%A5%E6%A3%80%E6%9F%A5%E4%B8%80%E4%B8%8B%E5%9C%A8%E4%BD%A0%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E9%87%8D%E5%90%AF%E7%B3%BB%E7%BB%9F%E6%98%AF%E5%90%A6%E4%B8%8E%E5%AE%83%E5%85%BC%E5%AE%B9%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBR%3C%2FP%3E%0A%3CP%3E%E5%88%87%E5%AE%81%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2291481%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32G3%20ATF%20behavior%20on%20fatal%20errors%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2291481%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F234498%22%20target%3D%22_blank%22%3E%40yashasdu%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E8%B0%A2%E8%B0%A2%E6%82%A8%E7%9A%84%E5%B8%96%E5%AD%90%E3%80%82%3C%2FP%3E%0A%3CP%3E1%E3%80%82%E7%94%B5%E8%B7%AF%E6%9D%BF%E6%94%AF%E6%8C%81%E5%8C%85%20%E5%9F%BA%E4%BA%8E%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%EF%BC%8C%E4%BD%A0%E5%8F%AF%E4%BB%A5%E4%BB%8E%20%E7%94%B5%E8%B7%AF%E6%9D%BF%E6%94%AF%E6%8C%81%E5%8C%85%20UM%20%E4%B8%AD%E6%89%BE%E5%88%B0%20TFA%20%E9%83%A8%E5%88%86%E7%9A%84%E6%89%80%E6%9C%89%E6%BA%90%E4%BB%A3%E7%A0%81%EF%BC%8C%E6%B2%A1%E6%9C%89%E6%BB%A1%E8%B6%B3%E4%BD%A0%E8%A6%81%E6%B1%82%E7%9A%84%E7%89%B9%E6%AE%8A%E8%AE%BE%E7%BD%AE%2F%E5%AE%9E%E7%8E%B0%E3%80%82%3C%2FP%3E%0A%3CP%3E2%E3%80%82%E4%BB%8E%E7%94%B5%E8%B7%AF%E6%9D%BF%E6%94%AF%E6%8C%81%E5%8C%85%E7%9A%84%E8%A7%92%E5%BA%A6%E6%9D%A5%E7%9C%8B%EF%BC%8C%E6%B2%A1%E6%9C%89%E6%AD%A3%E5%BC%8F%E7%9A%84%E5%BB%BA%E8%AE%AE%EF%BC%8C%E4%BD%86%E6%82%A8%E4%B9%9F%E5%8F%AF%E4%BB%A5%E5%8F%82%E8%80%83%E5%8A%9F%E8%83%BD%E5%AE%89%E5%85%A8%E6%89%8B%E5%86%8C%E6%9D%A5%E5%AE%9E%E7%8E%B0%E6%89%80%E9%9C%80%E7%9A%84%E6%9F%90%E4%BA%9B%E5%8A%9F%E8%83%BD%E3%80%82%3C%2FP%3E%0A%3CP%3E3.%E6%8D%AE%E6%88%91%E4%BA%86%E8%A7%A3%EF%BC%8CTFA%E4%B8%AD%E5%AF%B9%E4%B8%A5%E9%87%8D%E9%94%99%E8%AF%AF%EF%BC%88%E7%B3%BB%E7%BB%9F%E6%8C%82%E8%B5%B7%EF%BC%89%E7%9A%84%E9%BB%98%E8%AE%A4%E5%8F%8D%E5%BA%94%E6%9C%89%E5%8A%A9%E4%BA%8E%E4%BF%9D%E6%8A%A4%E7%B3%BB%E7%BB%9F%E5%8A%9F%E8%83%BD%E5%AE%89%E5%85%A8%EF%BC%8C%E5%B9%B6%E4%B8%94%E5%8F%AF%E4%BB%A5%E6%96%B9%E4%BE%BF%E5%9C%B0%E8%B0%83%E8%AF%95%2F%E8%8E%B7%E5%8F%96%E6%97%A5%E5%BF%97%2F%E5%A0%86%E6%A0%88%2F%E5%AF%84%E5%AD%98%E5%99%A8%E7%AD%89%EF%BC%8C%E6%82%A8%E5%8F%AF%E4%BB%A5%E6%A0%B9%E6%8D%AE%E9%9C%80%E8%A6%81%E9%92%88%E5%AF%B9%E6%9F%90%E4%BA%9B%E5%85%B3%E9%94%AE%E9%94%99%E8%AF%AF%E8%A7%A6%E5%8F%91RESET%E7%B3%BB%E7%BB%9F%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBR%3C%2FP%3E%0A%3CP%3E%E5%88%87%E5%AE%81%3C%2FP%3E%3C%2FLINGO-BODY%3E