每个嵌入式开发团队的 Linux 内核,使用它来启动目标板。多年来由供应商定制、构建、发布和维护,专注于构建出色应用程序而不是弄清楚硬件依赖性的团队,开发人员可以立即启动智能设备。
这就是高效嵌入式系统开发的样子,让我们解开这个愿景。
生产率
嵌入式系统开发人员可以像 Web、桌面或移动开发人员一样高效。 大多数开发人员不必担心内核和 BSP 等硬件依赖性,嵌入式软件除外。
开发人员的工作是构建应用程序,而不是构建和维护内核和 BSP。 构建和维护依赖于硬件的软件工件不是开发人员的工作。 Linux 供应商应该解决这个负担,因此开发人员可以专注于构建出色的嵌入式应用程序。
随着设备越来越由软件定义,新的开发体验成为可能。 构建您的嵌入式应用程序,生成操作系统映像以交付应用程序、刻录和启动。 恭喜,您已经构建了一个智能设备。
应用程序焦点
嵌入式开发人员友好的嵌入式 Linux 应该只向设备提供应用程序。卫星公司不制造自己的火箭,他们专注于建造卫星并租用火箭将其作为有效载荷运送,许多开发团队还必须“造火箭”来交付嵌入式应用程序。
如果 Linux 供应商将提供和维护团队交付嵌入式应用程序所需的支架作为他们的工作,那么开发人员将会更加成功。在这样的世界中,团队将专注于创建应用程序。
由此产生的以应用程序为中心的开发周期可以归结为启动、构建和部署。 在供应商提供的脚手架之上,开发人员将为他们的目标板创建一个可启动的映像。 然后团队将开发应用程序。 经过测试,他们将构建一个系统映像,提供所有这些应用程序。 然后刻录,部署,完成。
合作
嵌入式软件开发实践早于云原生和 DevOps 时代。 这些实践来自过去,当时任何架构的无限计算能力都无法按需提供。 它们源于软件在本地托管而不是在共享的在线存储库上的时代。 它们是在自动化构建和 CI/CD 不存在的时候制作的。
将嵌入式开发工具链与现代 CI/CD 工具集成可解锁 DevOps 风格的协作。 这意味着提供工具来协调安全、产品工程和运营焦点之间的协作。 安全专家将推送补丁,产品工程将发布功能,运营管理员将管理设备群,全部同步,使用相同的工具。