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.

[参考译文] AM62A7-Q1:使用 Uiflash 刷写到 QSPI 时、MCU R5F 多核 appimage.hs_fs 会在内核冻结中登录

Guru**** 2644745 points

Other Parts Discussed in Thread: UNIFLASH, AM62A7-Q1

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1585310/am62a7-q1-mcu-r5f-multicore-appimage-hs_fs-landing-in-core-freeze-when-flashed-onto-qspi-using-uniflash

器件型号: AM62A7-Q1
Thread 中讨论的其他器件: UNIFLASH

您好、

我正在开发一个具有 QSPI 闪存的定制 TI AM62A7-Q1 电路板。 我们正在为 MCU R5F 内核开发 autosar 软件。 当使用 sbl_null.cfg (UART uniflash) 通过 XDS 调试器进行刷写时、该软件按预期工作

我们现在要使用 sbl_qspi.cfg(随附在票证中)和其他内核的映像对其进行刷写。 闪存过程成功完成、但在通过 QSPI 引导时、我可以看到 MCU 内核进入内核冻结状态。 我可以通过连接 XDS 调试器并暂停程序来验证这一点。

令人惊讶的是、当我通过 CCS IDE 上的 XDS 调试器复位(不是上电复位)时、该软件会运行、这会使我认为存在一些对其他内核映像的依赖。 我相信、当通过 CCS 重新定向时、其他内核映像已经加载到 ram 中、因此能够实现依赖性。  

据我所知、引导流程如下: SBL stage 1 -> MCU R5F -> SBL stage 2 -> DM 和其他内核映像。 由于在 MCU 已启动时 DM 尚未引导、它是否会导致任何内核间相关性问题?  

我已附上我 用于传递到 uniflash 的自定义 sbl_qspi.cfg。 sbl_qspi.cfg 

如果您能帮助我解决这个问题、那会很棒。

谢谢、此致、

Nikhil Bhat

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

    您好、Nikhil、

    我例行向 SBL 专家提问、您可能会收到延迟的回复、因为他明天下班。

    此致、

    Anil.

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

    你好、Nikhil、

    、我可以看到 MCU 内核稳定在内核冻结。 我可以通过连接 XDS 调试器并暂停程序来验证这一点。

    您能告诉我它卡住的地方吗?

    此致、

    会面。

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

    尊敬的会议:

    它被卡在 ClockP_Init() 函数中。 我有以下补充意见-

    1.当我在 autosar 程序中注释掉 ClockP_Init() 时、autosar 程序会正常运行、但是在 A53 上运行的 Linux 会继续重新启动

    2.当我将 ClockP_Init() 添加回 autosar 程序时、autosar 程序停止工作、并进入 OS 核心的空闲处理程序、而 Linux 则不重新启动即可正常启动。  

    ClockP 计时器可以独立配置为 autosar 堆栈的一部分、因此将其注释掉不会影响 autosar 程序、但 A53 内核在某种程度上需要它

    如果您需要我方面的更多信息、请告诉我

    谢谢、此致、

    Nikhil  

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

    你好、Nikhil、

    1.您使用的是哪个 MCU+SDK 版本?

    2.您是否在 autosar 程序中启用了看门狗? 还是从 autosar 程序调用任何复位 API?

    此致、

    会面。

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

    尊敬的会议:

    MCU+SDK 版本 10_01_00_33
    2.禁用看门狗,在 autosar 程序中不使用重置 API

    此致、

    Nikhil  

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

    你好、Nikhil、

    当我注释掉 autosar 程序中的 ClockP_Init() 时、autosar 程序可以正常运行、但是在 A53 上运行的 Linux 一直在重新启动

    让我们重点关注这个问题。

    您能否共享整个引导日志以及 Linux 中可能指示重置位置的日志。  

    复位是否持续? 如果没有、请告诉我 RST_SRC 寄存器的值。

    此致、

    会面。

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

    尊敬的会议:

    很抱歉晚才回复。 我设法解决了这个问题。 我注释掉了整个 ClockP_init 函数、但该函数中调用的 HwiP_Params_init 除外、如下所示:

    HwiP_Params_init (&timerHwiParams);
    timerHwiParams.intNum = gClockConfig.timerHwiIntNum;
    timerHwiParams.callback = ClockP_timerTickIsr;
    timerHwiParams.isPulse = 0;
    (void) HwiP_Construct (&gClockctrl.timerHwiObj、&timerHwiParams);

    MCU R5F 内核实际上不需要上述部分以及整个 ClockP_init、因为中断和时钟传入由 autosar OS 栈处理、但运行 Linux 的 A53 内核似乎需要此功能、原因对我来说是未知的。 如果在 ClockP_init 函数中取消注释上述部分、则可以解决该问题。  

    我想知道你对此的看法,这个修复是否有意义?  

    谢谢、此致、

    Nikhil  

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

    你好、Nikhil、

    您能否共享整个引导日志以及 Linux 中可能指示重置发生位置的日志。  [/报价]

    最好从 Linux 获取日志、这可能表明 Linux 正在重置的原因。

    此致、

    会面。