本帖最后由 STM新闻官 于 2024-12-20 10:36 编辑
当下,微处理器(MPU)已逐渐成为众多系统厂商手中的 “秘密武器”,而一款直观且功能强大的嵌入式 Linux 发行版,对于STM32 MPU生态来说就仿佛是一种超能力。企业的决策者们往往会忽视操作系统对于一个项目成功与否所起到的关键作用。但开发人员非常清楚,一个有缺陷的内核、编写糟糕的中间件以及不稳定的构建方式,都会大大拖延开发进度。正因如此,自 2019 年推出OpenSTLinux之后,ST一直在不断拓展其应用范围与功能,推出了更多的软件包、发行版以及丰富的扩展包。OpenSTLinux 生态系统为何能在 STM32 MPU的发展中始终扮演着如此强有力的支撑角色?让我们深入探究一下。出色的板级支持包(BSP)
OpenSTLinux 的核心在于其强大的板级支持包(BSP),自发布以来已经日趋成熟。而完备的安全性和与开源社区的紧密合作是OpenSTLinux BSP两个关键特点。
为确保整个系统的完整性和安全性,ST 推出的 BSP 采用了基于 Trusted Firmware for Cortex-A(基于Arm可信固件 )及 U-Boot (通用自举程序)的启动链。这样能够让OpenSTLinux 充分利用 Cortex-A 内核的各种保护机制,从最底层保证系统完整性。
OpenSTLinux 的 BSP 还包含了一个开放可移植可信执行环境(OP-TEE),借助该环境可将安全代码与系统的其他部分进行隔离,让开发者享受系统的一系列安全措施。这些措施能够对系统配置、资源管理及其他关键服务起到有效的保护作用。
▲ OpenSTLinux 位于系统的核心位置
STM32Trust 为各类安全部署提供了相应的文档及代码。ST 通过 STM32Trust 大大增强了系统的安全性。ST 还更新了 STM32CubeProgrammer,在所有 ST MPU上进行密钥配置变得更方便快捷。新款 STM32MP2 更是将目标瞄准了 SESIP 3级认证,以便为用户提供更可靠的安全保障。
因此,OpenSTLinux BSP着重于保证系统的完整性,让安全保障更容易落实。这也是 ST 坚持把所有驱动程序都纳入 Linux 内核主线的原因所在。ST 希望开源社区能够审查 ST 的工作,以便及时回应他们的反馈。
从 OpenSTLinux 问世起,ST 就秉持一个理念:向开源上游贡献代码符合各方的最大利益。对于那些希望在几十年内进行系统维护的公司而言,这样既能获得安全特性,又能得到长期的支持,同时还有助于应用程序编程接口(API)标准化,增强互操作性。
由此可见,OpenSTLinux 对于ST的MPU来讲不只是一款操作系统,更是一种愿景,即通过推动安全、长期的开发,降低嵌入式系统的准入门槛。ST 希望在发挥 Linux 强大功能的同时,保证硬件兼容性并提供硬件支持,帮助用户更快将产品推向市场。
这也正是 ST 增加对 Buildroot 支持的原因所在。当然我们同时还是会继续Yocto项目的建设。ST 致力于 Yocto 项目建设,并一直在持续投入。近年来,ST 收到了来自社区不同背景人员的各种反馈,便与 ST 合作伙伴计划中的成员——Bootlin 公司展开合作,共同推出了一款基于 Buildroot 的 OpenSTLinux 板级支持包(BSP)。ST 还开发了一些新的基于 OpenSTLinux 的发行版,如 OpenSTDroid 以及其他基于 OpenWRT 和 OpenBMC 的发行版。
随着越来越多的社区开始采用 OpenSTLinux 及 STM32 MPU,ST 会尽力满足开发者们的实际需求,做到因地制宜、有的放矢。
打造出色的生态系统
为了优化项目的每个开发阶段,ST 还提供了OpenSTLinux软件包和扩展包,打造更强大的生态系统,使开发人员能够选择最符合其需求的支持,加快产品上市。
要了解 OpenSTLinux,最好的方式就是借助评估板和 Starter package 入门套件。它是一个预构建的镜像,包含了从 SD 卡(或嵌入式闪存)运行该操作系统所需的所有驱动程序和模块,开发人员几分钟内就能在自己的开发板上运行这个操作系统。甚至不需要集成开发环境(IDE),只需启动设备就可以开始测试、运行脚本、连网等等。STM32 MPU WIKI页面还提供了在 STM32MP2 或 STM32MP1 开发板上运行入门套件的详细操作指南。
OpenSTLinux 还有另外两种软件包:Developer package开发者软件包和 Distribution package发行版软件包。顾名思义,开发者软件包适用于正在开展的项目,程序员可借此着手编写与测试他们的应用程序。它带有软件开发工具包(SDK)以及 MPU 固件的源代码等,它建立在 Starter package 入门套件的基础上,将有助于加快开发速度。当接近生产阶段时,用户可下载 Distribution package 发行版软件包。它是这三种软件包中最精简的版本,是系统在实际应用场景下运行的最优化的 OpenSTLinux 版本。用户还能对发行软件包进行定制,为特定的项目或企业打造专属的开发套件或入门套件。
此外,OpenSTLinux 的BSP还配备了丰富而全面的服务及模块,开发人员可使用为在 STM32MP1 或 STM32MP2 的 Cortex-M 协处理器上运行而量身打造的 STM32Cube 软件包。
在 Cortex-A 上运行嵌入式 Linux 发行版之时,能够同步实现对部分应用程序的隔离操作,或从实时操作系统中获益,方便开发人员更轻松地从 MCU 过渡到MPU,实现代码复用,并可依照自身需求定制系统,从而将两者的优势发挥到极致。
把 STM32Cube 软件包集成到 OpenSTLinux BSP 中后,对于那些非常熟悉STM32 MCU生态系统的开发者来说,就拥有了优化工作流程必备的工具。
ST 还将持续推出新的 OpenSTLinux 扩展软件包,以进一步加快开发速度。比如,有用于辅助机器学习应用的 X-LINUX-AI 软件包,能实现接近实时执行的 X-LINUX-RT 软件包,适用于预测性维护的 X-LINUX-PRDMNT 软件包,支持蜂窝连接的 X-LINUX-GNSS1 软件包,可连接亚马逊网络服务(Amazon Web Services)的 X-LINUX-AWS 软件包,以及用于非接触式系统的 X-LINUX- NFC6 软件包等等,各类开发需求基本都能找到对应的软件包来满足。并且该生态系统还在不断发展壮大。当下,其他类似的生态系统仍在为其 ARM 微处理器提供可靠的 Linux 发行版而绞尽脑汁,而 OpenSTLinux 已经做到了既可靠又功能完备,所以ST现在的工作重点是帮助用户优化操作系统之外的功能。
|