STM32MP1 OpenSTLinux版本更新
内容:应该使用哪一个OpenSTLinux版本?我们应该转到OpenSTLinux的下一个版本吗?有关固件更新支持的信息。列举了一些可能有助于您做出决策的规则。意法半导体OpenSTLinux紧随Yocto de。。。
内容:
- 应该使用哪一个OpenSTLinux版本?
- 我们应该转到OpenSTLinux的下一个版本吗?
- 有关固件更新支持的信息。
列举了一些可能有助于您做出决策的规则。
STMicroelectronics OpenSTLinux紧随Yocto交付之后;
每年都会提供一个新的yocto版本:
https://wiki.yoctoproject.org/wiki/Releases
yocto的交付采用以下内核版本
- 每两年一次的LTS内核版本,并提供两年的维护。
- 每两年提供一次非LTS内核版本,并提供七个月的维护。
STMicroelectronics每年都会推出一款新的主要OpenSTLinux x.0,六个月后推出基于同一yocto版本的OpenSTLinuxx.1。
然后在github下交付x.y.z的次要版本。
意法半导体负责BSP组件,并提供两年的交付支持。
Userland组件作为示例提供。
关于组件的安全CVE补丁,OpenSTLinux版本在发布时采用了可用的补丁,但在发布后不进行补丁的整合。这是站在你这边的(或者与像TimeSys这样的STMicroelectronics合作伙伴一起)。
如果您需要LTS内核版本,下一个LTS Yocto版本将在2024年4月发布。
如果您已经在使用OpenSTLinux5.0,那么迁移到此版本会更容易。
有关OpenSTLinux版本的内容,请参阅发行说明:
https://wiki.st.com/stm32mpu/wiki/STM32_MPU_OpenSTLinux_release_note
有关版本的更改,请参阅发行说明:(例如OpenSTLinux4.0)。
https://wiki.st.com/stm32mpu/wiki/STM32_MPU_OpenSTLinux_release_note_-_v4.0.0/Changes_notification_%...
发行版是一组组件:tf-A、u-boot、optee、kernel。
内核依赖于optee服务,所以需要有一致的版本。
版本在发行说明中进行了说明。
不能将组件从一个版本混合到另一个版本。
当需要更新到新版本时,请考虑询问以下问题:
本例以OpenSTLinux 2.x和OpenSTLinux3.x为例。
真的需要更新到新版本吗?
在客户端转移到一个新的主要版本可能需要付出相当多的努力。必须对其进行评估和预测。您的产品真的需要版本更新吗?这取决于电路板设计与STMicroelectronics参考电路板的不同之处。此外,关于OpenSTLinux版本的差异(BSP配置差异,Yocto更新了上一版本)。
如果您即将使用OpenSTLinux 2.0进行生产
建议保持此版本2.x和如果可能的话,采用最新版本2.x例如OpenSTLinux 2.1(比2.0更稳定)。
不建议切换到下一个版本OpenSTLinux3.x(除非你有充分的理由)。
如果你真的想更新你的OpenSTLinux版本
如果您想更新您的OpenSTLinux版本,3.1版总是比3.0版更稳定。
最好是直接从2.1版本切换到3.1版本,而不是3.0版本。
如果你在董事会提出阶段
如果您处于板载升级阶段,那么使用以前的稳定版本可能会更容易。
例如,仅在启动阶段使用2.1而不是3.0(除非您有充分的理由使用3.0)
另请参阅
https://community.st.com/s/article/FAQ-STM32MP1-Bring-up-procedure
https://community.st.com/t5/stm32-mpus/stm32mp1-bring-up-troubleshooting-guide/ta-p/49272
https://community.st.com/t5/stm32-mpus/faq-stm32mp1-how-to-create-a-device-tree-adapted-to-your-desi...
这些提议的主要原因是:2.x和3.x在STMicroelectronics板上具有相同的稳定性(相同的测试计划和通过标准)。
然而,客户端的集成可能会在X.1版本上更加成熟(有半年的经验)。
固件升级
由于支持OpenSTLinux4.0固件更新
有关信息,请访问https://wiki.st.com/stm32mpu/wiki/Secure_Firmware_Updateas总结:
除了TF-A bl2(fsbl)之外,可以对引导链进行固件更新。
包含u-boot和optee的引导链的fip分区可以更新。
OTA更新基于A/B分区:STM32 MPU闪存映射-stm32mpu
此闪存映射用于从一个版本到另一个版本的固件更新功能。
在分区A(引导链A)和分区B(引导链B)之间切换的机制是由于元数据分区而完成的。
仅在固件更新阶段,在切换到新分区之前,会检查新引导链是否正确引导,否则引导将保留在以前的引导链上。请小心,因为您可能需要另一种机制来处理系统恢复功能,以防在正常引导模式下出现引导故障。
如前所述同一启动链的分区必须在同一版本上对齐以下为:tf-a、u-boot、optee、内核
已找到一个使用STM32MP1实现固件更新的合作伙伴。io
增量Kernal和Docker应用OTA更新| Foundries.io
