0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用OpenSTLinux帮助决定合适的嵌入式Linux发行版

星星科技指导员 来源:意法半导体 作者:意法半导体 2022-05-12 10:49 次阅读

OpenSTLinux是用于STM32 微处理器的开源 Linux 发行版。该操作系统可帮助工程团队更快地进行原型设计并缩短产品上市时间。因此,它可以作为一种独特的支持工具,同时也为开源社区做出贡献。 很多时候,团队将 Tux 视为可以解决所有软件需求的灵丹妙药。然而,从概念到大众市场需要的不仅仅是内核,尤其是在嵌入式系统上。因此,选择正确的发行版和平台至关重要。为了帮助面临这一挑战的专业人士,我们列出了在开始项目之前需要回答的七个基本问题。这些询问还将帮助决策者评估他们的需求并决定哪种嵌入式 Linux 发行版适合他们。实际上,它们代表了旨在减少开发过程中重大摩擦的开发人员的指导方针。

正如我们在今年早些时候发布的使用 MPU 的十诫中看到的那样,使用微处理器和嵌入式 Linux 会变得异常复杂。为了帮助处理这种复杂性,我们提出了 OpenSTLinux,这是一个主流的开源发行版。它包括板级支持包 (BSP)、内核、驱动程序、安全引导链、安全操作系统和应用程序框架。无论是来自 MCU 领域还是熟悉 MPU,开发人员面临的挑战是找出最适合他们项目的解决方案。因此,以下问题可作为团队评估其需求的预备调查。

OpenSTLinux 及其贡献

一、嵌入式Linux发行版给开发者带来了什么?

按照惯例,OpenSTLinux 为 STM32MP1 微处理器提供板级支持包和应用程序框架。BSP 包括带有低级驱动程序的内核空间。它还拥有 TF-A 和 U-Boot 引导链、用于安全系统的 OP-TEE 安全操作系统以及用于非安全环境的 Linux 内核。传统上,许多业内人士只是停留在 BSP 上。发生这种情况时,开发人员必须花费大量时间寻找合适的中间件。ST采用了不同的理念。为了帮助工程师更快地编写应用程序,OpenSTLinux 还在用户空间中提供了软件包。它位于内核空间之上,为电源管理或特定网络协议等提供中间件。我们决定超越内核空间,以确保开发人员可以更快地选择驱动程序并从软件优化中受益。

2. 嵌入式 Linux 发行版为项目带来了什么?

嵌入式 Linux 在许多方面都是独一无二的,其中之一就是需要创建自定义发行版。与 PC 上的 Linux 不同,推出通用发行版是不可能的。主流的 OpenSTLinux 发行版是嵌入式系统定制发行版的基础。但是,获得专用发行版是开发过程中最复杂的阶段之一。为了确保开发人员能够尽快完成最佳工作,我们与Yocto 项目合作。Yocto 是工业环境中用于定制嵌入式 Linux 发行版的事实上的创建工具。因此,与 Yocto 项目密切合作可以确保团队获得项目所需的支持和资源。

ST 合作伙伴计划的成员也提供了宝贵的帮助。例如,Bootlin可以为从事 Yocto Project 或 Buildroot 的团队提供培训服务。当项目要求不像工业应用程序那样严格时,许多开发人员通常更喜欢后者。无论哪种方式,Bootlin 都可以帮助工程师快速入门。同样,Pengutronix、TimeSys和Witekio负责引导加载程序、内核、用户空间等,因此团队可以专注于他们的功能。因此,OpenSTLinux 不仅仅是一个简单的操作系统。它是一个庞大的生态系统的一部分,将一个项目带到了终点线。

查找更多 ST 授权合作伙伴

3. 嵌入式 Linux 发行版为开源社区带来了什么?

在所有发布嵌入式 Linux 软件包的公司中,许多公司不愿与开源社区广泛合作,这可能会导致各种问题。例如,它可以限制对硬件的支持,或者它可能意味着安全漏洞仍然未被注意到。结果,它增加了维护成本并降低了代码质量。硬件供应商可以做出的一个真正重要的贡献是上游他们的驱动程序。这是制造商上传其开源驱动程序以使其成为主要 Linux 代码库的一部分的过程。但是,社区可能需要几个月甚至一年的时间才能批准其中的一些。公司可能还必须修改其提交的重要部分或进行优化。

上游是如此重要,而且往往如此不受欢迎,以至于 Linux 基金会试图解决这个问题。Linux.com上的一篇博文展示了如何让管理人员相信,上游化符合他们的“最大利益”。ST 致力于与开源社区密切合作,在过去三年中,我们尽可能多地向上游推广了我们的驱动程序。我们还创建了业内最大的内部 Linux 开发团队之一。今天,大约 95% 的 STM32MP1 驱动程序位于主要的 Linux 代码库中。与社区合作还可以确保我们继续改进我们的解决方案。与传统驱动程序相比,应用程序将在更长的时间内获得更大的支持。同样,开发人员可以利用标准化的 API,而用户可以更快地收到安全补丁。因此,由于我们对 Linux 社区的承诺,ST 可以保证更高水平的质量。

OpenSTLinux 及其支持

4. 嵌入式 Linux 发行版是否有来自其供应商和专门社区的强大支持系统?

选择嵌入式 Linux 发行版的公司必须考虑支持操作。传统上,供应商维护当前的 LTS 内核,这意味着他们添加功能并发布错误修复。因此,当新内核出现时,制造商可能不支持先前版本的最新驱动程序。因此,工程师必须使用第三方来继续支持在其应用程序中使用的旧内核。

如果这是非常标准的做法,它可能会变得很麻烦。嵌入式开发人员通常在以前的 LTS 内核版本上启动项目,这与倾向于支持最新版本的 PC 开发人员不同。如果嵌入式系统使用先前的内核意味着工程师可以重用过去的工作,它甚至可能是有利的。不幸的是,如果供应商不再支持以前的 LTS 内核版本,团队可能不得不在最新版本上开始一个项目。因此,程序员必须编写更多的代码,从而进一步延迟它们的上市时间。

ST 通过系统地支持当前和以前的 LTS 内核解决了这个问题。因此,团队具有更大的灵活性。开发人员可能更有信心在较早的内核上启动项目以加速开发。此外,STM32 MPU 社区是询问有关 OpenSTLinux 问题的好地方。举个例子,这个 ST 社区成员在构建其 Linux 内核时遇到了问题。几个小时后,一名 ST 员工回复了一些提示,另一位社区成员也提出了其他建议。我们还提供了一个广泛的 Wiki,可帮助开发人员入门。我们还提供研讨会和其他网络研讨会来协助工程师。

5. 嵌入式 Linux 发行版的供应商是否提供安全功能?

保护嵌入式系统的安全既复杂又至关重要。工程师们知道,黑客可能会损害他们的品牌、伤害用户并可能窃取重要的知识产权。但是,如果没有负责嵌入式 Linux 发行版的制造商的支持,开发人员必须自己做所有事情。因此,它可能导致延误和大量投资。

为确保团队不必经历这些,我们提供了一系列安全解决方案。例如,STM32Trust提供了帮助开发人员实现安全固件更新或安全启动的工具。我们还提供软件包以利用安全固件和安全模块安装。两者都可以保护公司在生产过程中免受知识产权盗窃。最后,OpenSTLinux 依赖于 STM32MP1 中的硬件单元,例如那些加速 AES 256 加密和解密操作的单元。

OpenSTLinux 和 STM32MP1 还意味着开发人员可以快速使用基于Arm 可信固件 (TF-A)的安全启动链。然后,他们可以启动一个开放式可移植可信执行环境 (OP-TEE)。OP-TEE 对 ST 来说是特殊的,因为我们最初编写了 Secure OS 并将其反向移植到 Arm v7,然后将其交给ST 合作伙伴计划的成员Linaro 。最终,我们的重点是保护嵌入式系统的所有级别。

6. 嵌入式 Linux 发行版的供应商是否提供软件来扩展功能?

刚接触嵌入式 Linux 的工程师可能会低估编写应用程序的工作量。不管发行版如何,就是这样,在开发人员发布工作程序之前还有很长的路要走。因此,我们提供扩展包来帮助团队让他们的概念验证更快地工作。例如,X-LINUX-AI包含用于计算机视觉演示的框架和应用示例。同样,X-LINUX-PREDMNT将启动预测性维护和状态监测应用。后一个包包括 AWS IoT Greengrass Edge Computing 服务并使用 STM32MP1 设置网关。该软件还适用于WireST-SDK和EdgeST-SDK以促进边缘计算系统的创建。

ST 将使其合作伙伴和客户能够提供他们的扩展包。与 Yocto recipes 类似,这些软件工具将帮助希望快速发布应用程序的开发人员。

要了解开发人员如何使用我们的 STM32MP1 作为 AWS 云服务的网关,请查看状态监控和预测性维护:更快发送您的第一个传感器数据的解决方案。

我们在 XR 日会议期间展示了 X-LINUX-AI 的演示。要了解有关我们使用的硬件的更多信息,请查看:XR Day Live!关注塑造我们头上穿什么的活动。

7. 嵌入式 Linux 发行版的供应商是否提供用于快速原型制作的软件包?

OpenSTLinux 提供了三个包。STM32MP1Starter是启动演示和试用我们的开发板的最快方式。它包括多个固件示例和工具来安装我们的 Linux 映像。一旦开发人员希望开始编写概念验证或原型设计,他们就可以转向STM32MP1Dev,其中包括一个软件开发套件。最后,STM32MP1Distrib提供 OpenSTLinux 板级支持包 (BSP)。它使团队能够创建类似于 Starter 或 Developers Package 的自定义分发。

查看我们在线发布的培训课程:视频:STM32MP1 研讨会或如何欣赏 MPU 设计的复杂性。

现在怎么办?

对于许多工程师来说,下一步通常是最困难的:开始实际项目。一旦团队评估了他们的需求并回答了这七个问题,规划路线图可能会令人生畏。这就是我们确保 OpenSTLinux 成为 ST 生态系统不可或缺的一部分的原因。我们努力使操作系统成为工程师和开源社区的重要贡献者。它还具有丰富的功能,可简化开发、保护产品并缩短上市时间。然而,因为它存在于 ST 产品组合中,所以 OpenSTLinux 不仅仅是其各个部分的总和。

熟悉 STM32 MCU 的开发人员可以移植 MCU 代码并在 STM32MP1 的 Cortex-M4 上使用 RTOS。希望构建界面的团队可以依赖Qt和Crank是 ST 合作伙伴计划的成员这一事实。工程师可以添加屏蔽层来试验传感器,尝试亚千兆赫协议,或者只是添加新功能,使其与竞争对手区分开来。我们还提供软件工具来促进定制 PCB 的创建。最终,OpenSTLinux 和 ST 生态系统的其余部分提供了一种整体方法,力求揭开开发的神秘面纱,因此工程师不会问他们如何提出设计,而是他们可以为客户做些什么。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2515

    文章

    47684

    浏览量

    738675
  • mcu
    mcu
    +关注

    关注

    145

    文章

    15885

    浏览量

    342777
  • 嵌入式
    +关注

    关注

    4962

    文章

    18145

    浏览量

    286510
收藏 人收藏

    评论

    相关推荐

    到底要不要放弃嵌入式这条路?

    到底要不要放弃嵌入式这条路? 嵌入式是一个稳定而有前景的领域,然而,要决定是否要坚持这条路,需要综合考虑个人兴趣、职业规划和市场需求等多个因素。以下对该问题展开讨论,帮助大家更好地做出
    发表于 12-07 10:43

    linux镜像制作工具

    Linux镜像制作工具是一类非常重要的工具,可以用于创建定制的Linux操作系统镜像。这些工具可以帮助开发人员、系统管理员和Linux爱好者创建个性化的
    的头像 发表于 11-23 09:56 717次阅读

    什么是嵌入式Linux

    什么是嵌入式Linux? 对于很多电气、电信、通信专业的同学来说,对口专业就业方向主要有软、硬件两个方向。无论是对于学生还是就业而言,软硬件的开发学习,嵌入式物联网在近年来无疑是一个摆在面前
    发表于 10-11 13:47

    嵌入式Linux开发教程

    嵌入式Linux开发教程(下册)
    发表于 09-27 07:11

    嵌入式Linux_Android的学习路线图

    嵌入式Linux_Android学习路线图
    发表于 09-27 06:09

    嵌入式Linux应用开发的完全手册

    障碍。很多人买了开发板想进一步练习,却发现不知从何入手。 鉴于上述种种困难及需求,作者结合自己的学习经历、工.作心得写成此书,期望能帮助读者加快嵌入式 Linux 的入门速度,并体会到深入学习
    发表于 09-25 07:12

    基于树莓派的嵌入式Linux开发教学

    树莓派对于全球嵌入式 Linux 开发及教育已经并将继续带来广泛的影响,及早将之引入我国主流的嵌入式开发与教学环境中或将是有益的。尽管传统的 “ARM 开发板硬件设计 +Linux
    发表于 09-21 07:09

    嵌入式Linux命令总结

    嵌入式Linux命令总结
    发表于 09-19 16:30 263次阅读

    2023年10个最佳Linux服务器发行版

    Debian Server: Debian是最古老的Linux发行版之一,并以其稳定性而闻名。它拥有强大的软件包管理系统,并提供稳定版、不稳定版和测试版三个版本。Debian被广泛用作其他发行版的基础,并支持多种计算机架构。
    的头像 发表于 09-13 16:00 1124次阅读
    2023年10个最佳<b class='flag-5'>Linux</b>服务器<b class='flag-5'>发行版</b>

    龙架构Arch Linux发行版正式发布

    近日,龙架构Arch Linux发行版官方网站宣布结束beta状态,正式支持龙架构。Arch Linux是一种轻量级、可定制、灵活的Linux操作系统。作为一款简单、现代、开放的操作系
    的头像 发表于 07-18 11:16 587次阅读

    SUSE 将开发一个与 RHEL 兼容的发行版

    投资千万美金只为确保用户自由使用 SUSE 将通过投资持续支持 SUSE Linux Enterprise 发行版及相关开源项目的发展,驱动创新 SUSE 计划将源代码贡献给开源基金会 北京2023
    的头像 发表于 07-12 21:36 269次阅读
    SUSE 将开发一个与 RHEL 兼容的<b class='flag-5'>发行版</b>

    5个最漂亮的Arch Linux发行版

    如果你是窗口管理器的粉丝,想要一个令人惊艳的 Arch Linux 发行版,试试 Mabox Linux 吧。Mabox Linux 专注于简单和优雅。它是 Manjaro
    的头像 发表于 07-04 10:30 550次阅读
    5个最漂亮的Arch <b class='flag-5'>Linux</b><b class='flag-5'>发行版</b>

    微软发布自己的Linux发行版

    Azure Linux 发行版源于 CBL-Mariner 项目,其中 CBL 代表 Common Base Linux。Perrin 称,微软启动 CBL-Mariner 项目是因为它需要一个内部
    的头像 发表于 05-30 14:59 557次阅读
    微软发布自己的<b class='flag-5'>Linux</b><b class='flag-5'>发行版</b>!

    【米尔MYD-JX8MMA7开发板-ARM+FPGA架构试用体验】 七、Yocto介绍资料整理

    yocto项目。它不是嵌入式Linux发行版,而是为您创建一个自定义发行版。Yocto项目(YP)是一个开源协作项目,帮助开发人员创建自定
    发表于 05-23 09:07

    求助,有人可以指点我如何从Linux发行版的ISO文件转到能够在此板上运行它的说明吗?

    有人可以指点我如何从 Linux 发行版的 ISO 文件转到能够在此板上运行它的说明吗?我能找到的所有说明都是基于使用 NXP 的 LSDK 版本
    发表于 04-19 06:27