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.

[参考译文] AM6442:软件更新策略-最佳实践

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1517542/am6442-software-update-strategy---best-practises

器件型号:AM6442

工具/软件:

尊敬的 TI 专家:

我们基于 AM64x-SK 设计开发产品。 我们计划产品拥有较长的生命周期(> 10年)。 当然、在整个生命周期中、我们希望(并且必须)能够推出软件更新。 为此、我们实施了一个恢复系统(基于 swupdate)。 虽然也可以更新引导加载程序、但我们强烈建议只更新 rootfs 并使我们的引导加载程序保持不变。

现在、引导加载程序映像(确切地说、tiboot3.bin)包含 SYSFW (请参阅)  3.1.1.1.一般信息—Processor SDK AM64X 文档)、该文档在引导期间加载到 DMSC、并稍后供 Linux 内核以及 R5上运行的固件使用。

我现在的问题是:

1. SYSFW 是否可以被认为是稳定的? 那么、每个 Linux 内核(目前我们计划以6.12版本发布、但在几年后、我们可能会切换到新的版本)是否都能够与从未触及的 tiboot3.bin 中包含的 SYSFW 进行交互?

2.对于二进制文件 ATF 和 OPTEE 也出现了同样的问题、它们包含在 tispl.bin 中并在引导期间从 A53 SPL 加载。

3.如果第一个问题的答案是  是否有适当产品生命周期管理的建议/最佳实践/示例?

提前感谢大家。

Br Benjamin

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

    嗨、Benjamin、

    [quote userid="633817" url="~/support/processors-group/processors/f/processors-forum/1517542/am6442-software-update-strategy---best-practices SYSFW 是否可被视为稳定? 因此、每个 Linux 内核(目前我们计划以6.12版本发布、但在几年后、我们可能会切换到新的版本)都能与从未触及的 tiboot3.bin 中包含的 SYSFW 进行交互吗?

    是的、SYSFW 现在被认为是稳定的、其现有的 ABI 不会改变、因此新内核不会损坏。 任何 ABI 更改都是通过在 ABI 中添加新的 SCI 请求类型来实现的。

    [引述 userid="633817" url="~/support/processors-group/processors/f/processors-forum/1517542/am6442-software-update-strategy---best-practices

    2.对于二进制文件 ATF 和 OPTEE 也出现了同样的问题、它们包含在 tispl.bin 中并在引导期间从 A53 SPL 加载。

    [/报价]

    这里也应用了#1的答案。

    但是、请记住、新 SDK 中的 SYSFW、ATF 或 OPTEE 可能存在错误修复、如果 U-Boot 二进制文件未在您的平台上更新、则无法修复这些错误。 不过、如果您的系统在投入生产之前经过了全面测试、这可能不是问题。

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

    忘记提及虽然我们不更改 SYSFW 中的现有 ABI、但我们不保证新版本内核不会与旧版本的 SYSFW 断开。 Processor SDK 不会验证此类场景。

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

    尊敬的 Bin:

    感谢您的回答、但我不确定我是否正确理解了第二部分。 这是否意味着、如果我们的 SYSFW 版本11.00.07 (就像在 TISDK 11.00.09中一样)、则可以将该版本视为稳定的(因此不会发生中断更改)。 但是、 您可能会发布   SYSFW 版本 12.00.00 (有重大更改)、并且 在 ti-linux-kernel 中会放弃对 SYSFW 版本11.00.07的支持?

    这意味着我无法升级到新的内核版本、对吧?

    TI 是否通常支持较旧版本的 SYSFW、或者旧版本的 SYSFW 支持是否存在很高的风险?

     

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

    嗨、Benjamin、

    是否意味着、如果我们的 SYSFW 版本为11.00.07 (就像在 TISDK 11.00.09中一样)、那么该版本可被视为稳定的(因此不会发生中断更改)。 但是、 您可能会发布   SYSFW 版本 12.00.00 (有重大更改)、并且 在 ti-linux-kernel 中会丢弃对 SYSFW 版本11.00.07的支持?

    抱歉、这并不意味着。

    在此示例中、您仍然可以将 SDK12.0内核与 SDK11.0 SYSFW 和 U-Boot 一起使用(理论上、因为我们不验证混合 SDK 组件版本)、只是 SDK12.0 FW 中的任何新内容或更改都不适用于 SDK SYS12.0内核。

    TI 通常是否支持较旧版本的 SYSFW、或者旧版本的 SYSFW 支持是否存在很高的风险?

    对 SYSFW 的支持遵循通用的 SDK 支持指南、通常持续几年。 但 SYSFW 的支持方式略有不同。 与源代码中提供并可修补的 U-Boot 或内核不同、SYSFW 在二进制文件中提供、在特定版本中发现的任何新问题只能在新的 SDK 版本中修复、这意味着在 SYSFW 的新版本中。