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