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.

[参考译文] SK-AM62P-LP:在 Linux 上从 eMMC Boot0 自动故障转移到 boot1 或裸机崩溃–可行性和用户指南申请

Guru**** 2580365 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1548433/sk-am62p-lp-automatic-failover-from-emmc-boot0-to-boot1-on-linux-or-baremetal-crash-feasibility-and-user-guide-request

器件型号:SK-AM62P-LP


工具/软件:

您好、

我目前使用以下设置:

  • PSDK 版本 ti-processor-sdk-linux-am62pxx-evm-10.01.10.04

  • MCU+ SDK 版本 mcu_plus_sdk_am62px_10_01_00_33

  • 视图 SK-AM62Px-LP

目前、我的系统从成功引导 eMMC Boot0 分区 。 我想实施 故障转移机制 这样 如果 Linux 或裸机固件崩溃 和系统 自动切换到从 boot1 分区引导

AM62Px 平台上是否可以实现这种故障转移机制?

如有、请提供 用户指南或分步文档的链接 才能实现该行为。

此致、
Veerapandiyan 五.

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

    您好:

    在 AM62Px 平台上是否可以使用此故障转移机制?

    编号 来自 MCU+ SDK 的 ROM 和 SBL 都不支持此故障转移机制。 如果需要、您可以至少为 MCU+ SDK 中的 SBC 自行实现。

    此致、

    Prashant

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

    您好、Prashant、  

    如果需要、您可以至少自己在 MCU+ SDK 中实现 SBL。

    我将尝试自己实施它;但是、如果您可以共享任何可用的相同文档、将会很有帮助。

    此致、

    维拉潘迪扬五世

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

    您好:

    我想实施 故障转移机制 这样 如果 Linux 或裸机固件崩溃 和系统 自动切换到从 boot1 分区引导 .

    在这里最好的做法是使用 SBL 无法加载图像 然后它可能会尝试从不同的分区引导相应的映像。

    这与的故障转移机制情况不同 固件崩溃  这将需要您实施机制来识别固件是否正在运行、崩溃并相应地采取措施。

    此致、

    Prashant

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

    您好、Prashant、

    那么、如果 Linux 崩溃、我们会做些什么呢? 现在它在 boot 0 分区中工作、所以如果 Linux 崩溃、我们如何从 Boot 0 更改为 Boot 1 分区?

    此致、

    维拉潘迪扬五世

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

    您好、Prashant、
      我正在等待你的答复。
    此致、
    维拉潘迪扬五世

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

    您好:

    那么、如果 Linux 崩溃、我们会怎么做?

    正如我所说的、您必须实现某种机制、如 IPC、以便检测 Linux 是否崩溃并采取相应的措施。 如果此操作涉及加载与最初引导的映像不同的映像、您还必须实现此加载。

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

    您好、Prashant、

    我已经完成了故障转移机制的代码。 我想知道如何在 Linux 崩溃时从 Boot0 更改为 boot1。  

    此致、

    维拉潘迪扬五世

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

    您好、Prashant、
      我正在等待你的答复。
    此致、
    维拉潘迪扬五世

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

    您好、Prashant、
      我还在等待你的答复。
    此致、
    维拉潘迪扬五世

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

    您好:

    请问您计划如何在崩溃后使用另一个映像引导 A53 内核? 加载不同映像只是整个流程的一部分。

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

     您好、

    我想知道当 Linux 崩溃时如何从 Boot0 切换到 boot1。 关于您提出的问题、我认为在当前分区崩溃后无法使用另一个映像引导 A53、因此我需要切换到另一个引导分区来引导 A53 内核。

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

    您好、Prashant、
      我还在等待你的答复。
    此致、
    维拉潘迪扬五世

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

    您好:

    我想知道如何在 Linux 崩溃时从 Boot0 切换到 boot1。

    在此之后是否要重置 SoC、因此是否要从不同分区引导映像?

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

    您好、Prashant、

    我的想法是、如果 IPC 通信失败三次、表明 Linux 已崩溃。 此时、系统应自动从 boot0 切换到 boot1。 如果可以、请告诉我。

    此致、
    Veerapandiyan 五.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此时、系统应自动从 boot0 切换到 boot1。

    这不是完整的画面。 只需切换到另一个分区就能实现什么? 为什么你认为你需要切换到另一个分区的 Linux 崩溃或任何东西?

    可能由于某些运行时环境问题导致 Linux 崩溃。 一种直接的解决方案是复位 SoC 并让其从同一引导介质再次启动。

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

    您好、Prashant、

    这不是完整的图片。 只需切换到另一个分区就能实现什么? 为什么您认为您需要在 Linux 崩溃或任何情况下切换到另一个分区?

    我正在努力实现仪表组汽车仪表板。 在 SOTA/FOTA 更新期间、如果更新应用于 R5F 或 A53、并且 Linux 崩溃、我希望系统自动从分区 boot0 切换到 boot1。

    可能是由于某些运行时环境问题导致 Linux 崩溃。 一个简单的解决方案是只需重置 SoC 并让其从同一引导介质再次引导。

    我理解这个概念。 在某些情况下、当电路板复位且 Linux 崩溃时、没有可用的 IPC 通信。 我观察到、如果 IPC 消息未收到 3 次、或在 10–15 秒内未收到、则表示 Linux 崩溃。 在这种情况下、如何自动将系统从 boot0 切换到 boot1?

    此致、
    Veerapandiyan 五.

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

    您好:

    在这种情况下、如何自动将系统从 boot0 切换到 boot1?

    您可以使用 WKUP 内核的 MMCSD_enableBootPartition API 将引导分区设置为 boot1。 这将允许 ROM 在复位后从 boot1 分区引导 SBL stage1。 SBL 必须负责从所需的分区手动加载映像。

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

    您好、Prashant、

    您可以使用 WKUP 内核中的 MMCSD_enableBootPartition API 将引导分区设置为 boot1。 这将允许 ROM 在复位后从 boot1 分区引导 SBL stage1。 SBL 必须小心地从所需的分区手动加载映像。

    好的。 我尝试更新。

    谢谢、此致、
    Veerapandiyan 五.