嵌入式开发:发行版和FOSS如何帮助推动嵌入式Linux?

2023-11-02 08:20

本文主要是介绍嵌入式开发:发行版和FOSS如何帮助推动嵌入式Linux?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  发行版和FOSS并没有帮助产品制造商制作出色的嵌入式Linux产品。在嵌入式开发中,由于缺乏 FOSS 支持,Broadcom和Qualcomm等专有操作系统巨头得以继续作为大多数出厂嵌入式Linux设备的首选 SDK。出了什么问题?

  Linux 发行版是 FOSS 的核心

  毫无疑问,到目前为止,使用 Linux 发行版所做的工作已经使在 Linux 上创建应用程序变得更加简单。Linux 发行版突出的一个领域是开发人员可以做与大公司相同的事情。凭借社区的成熟度和可用的 Linux 发行版数量、集成和打包,个人开发人员可以非常简单地贡献或创建或重新混合特定于其用例的新发行版。如果没有 FOSS 社区创建的发行版及其基础设施,小型供应商或独立开发人员将无法做到这一点。

  支持 FOSS 项目及其社区是 Linux 发行版的关键组成部分,但对于嵌入式 Linux,所有这些都被抛在了后面。

 

  为什么嵌入式 Linux 没有跟上社区其他人的步伐?

  其中一个原因是嵌入式生态系统的不成熟使一些专有系统存在。因为这些公司主导了嵌入式Linux,这意味着2022年我们有以下情况:

  如果没有大量的前期投资和庞大的嵌入式开发工程师团队,小型产品制造商就无法创造出可生产的产品。

  当今广泛使用的嵌入式 Linux 系统存在安全隐患和维护混乱。

  嵌入式 Linux 发行版(如 Yocto、Ubuntu 和 Redhat)难以使用且学习曲线陡峭。

  那么我们如何转向下一代嵌入式发行版呢?

  开源发行版需要包含一些标准项目,并且更大的 FOSS 社区可以采用以下这些标准项目来简化构建嵌入式 Linux 产品的过程。

  生产级硬件支持

  在台式机和服务器领域,你拥有标准的 bios 驱动的英特尔架构,该架构具有跨环境工作的单一平台。不幸的是,Linux 发行版不支持芯片组的嵌入式硬件并非如此。如果这些对开放社区可用,那么这些专有公司中的许多将不再存在。

  生产级中间件堆栈

  中间件是硬件和应用程序之间的桥梁,称为 BSP(板级支持包)。在嵌入式 Linux 上,中间件是非标准的,每次为特定芯片组构建产品时都需要定制。如今,Linux 生态系统中几乎所有硬件上的东西都有中间件堆栈。但它们很少适合自己制造产品。

  下游维护

  对于小团队来说,将你需要的东西放到内核中可能是个问题。虽然这适用于桌面和服务器领域,但对于需要自定义 BSP 和中间件堆栈以使其产品运行良好的嵌入式开发人员来说尤其复杂。

  底线是发行版需要支架来支撑他们的工作,并使嵌入式开发人员更容易使用来自社区的开源软件而不是依赖专有公司来创建产品。

这篇关于嵌入式开发:发行版和FOSS如何帮助推动嵌入式Linux?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/329324

相关文章

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

基于Python开发PPTX压缩工具

《基于Python开发PPTX压缩工具》在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,不便于传输和存储,所以本文将使用Python开发一个PPTX压缩工具,需要的可以了解下... 目录引言全部代码环境准备代码结构代码实现运行结果引言在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

Linux之进程状态&&进程优先级详解

《Linux之进程状态&&进程优先级详解》文章介绍了操作系统中进程的状态,包括运行状态、阻塞状态和挂起状态,并详细解释了Linux下进程的具体状态及其管理,此外,文章还讨论了进程的优先级、查看和修改进... 目录一、操作系统的进程状态1.1运行状态1.2阻塞状态1.3挂起二、linux下具体的状态三、进程的