您好,NXP团队,
背景:
完整调查报告以PDF格式附件形式提供。
主要问题
软件在 Clock_Ip_DistributePll() 中崩溃,MCU RESET。此外,调试器有时无法附加。
当我尝试热连接调试器时,复位原因有时会报告为 HSE_CLK_FAIL。
请您主要检查上述流程、IVT 和 DCF 记录,以及有关此问题发生原因及其解决方案的信息。如有任何其他需要的信息,请告知我们。
请您检查 HSE 安装程序、IVT 配置和 DCF 记录,并告知出现此问题的原因以及如何解决?
如有任何其他信息需要提供,请告知我们。
此致,
舒巴姆·帕德西
提到的 70 秒和 20 秒是从 RESET 到 HSE_STATUS_INIT_OK 的时间。所以基本上只包含启动时间,对吗?
在所有设备上的表现都一样吗?
我们的软件由 FBL 和 APPL 组成,两者都使用相同的功能复位机制。
当 APPL 发起复位时,不会出现此问题。
当 FBL 发起 RESET 时,软件在 APPL 启动期间于 Clock_Ip_DistributePll() 内部崩溃。
最初,我们在 Mcu_InitClock() 之后、Mcu_DistributePllClock() 之前添加了对 HSE_STATUS_INIT_OK 的检查。这样就避免了车祸。然而,大约 20 秒后 HSE_STATUS_INIT_OK 才被设置,之后 APPL 的实际启动才继续进行。
今天,我们将 HSE_STATUS_INIT_OK 检查移到了 APPL 中的 Mcu_Init() 之前的更早阶段,如附图所示。
Shubham_MQ_0-1784123821324.png
通过此序列,HSE_STATUS_INIT_OK 几乎立即被设置,并且不再观察到崩溃。
请问您能否澄清以下问题?
为什么只有当 FBL 发起 RESET 时才会出现这个问题,即使 FBL 和 APPL 使用的是相同的 RESET 机制?
为什么在 Mcu_InitClock() 之后检查 HSE_STATUS_INIT_OK 时大约需要 20 秒,但在 Mcu_Init() 之前检查时几乎立即可用?
为什么 FBL 中不需要 HSE_STATUS_INIT_OK 检查,而 APPL 启动时似乎需要?
请提供清晰的根本原因解释和推荐的初始化顺序。我们需要确保当前解决方案的稳健性,并且不会在生产环境中造成任何问题。
如有任何其他详情或时钟配置详情需要告知,请与我们联系。
此致,
舒巴姆·帕德西