每個嵌入式開發(fā)團隊的 Linux 內核,使用它來啟動目標板。多年來由供應商定制、構建、發(fā)布和維護,專注于構建出色應用程序而不是弄清楚硬件依賴性的團隊,開發(fā)人員可以立即啟動智能設備。
這就是高效嵌入式系統(tǒng)開發(fā)的樣子,讓我們解開這個愿景。
生產(chǎn)率
嵌入式系統(tǒng)開發(fā)人員可以像 Web、桌面或移動開發(fā)人員一樣高效。 大多數(shù)開發(fā)人員不必擔心內核和 BSP 等硬件依賴性,嵌入式軟件除外。
開發(fā)人員的工作是構建應用程序,而不是構建和維護內核和 BSP。 構建和維護依賴于硬件的軟件工件不是開發(fā)人員的工作。 Linux 供應商應該解決這個負擔,因此開發(fā)人員可以專注于構建出色的嵌入式應用程序。
隨著設備越來越由軟件定義,新的開發(fā)體驗成為可能。 構建您的嵌入式應用程序,生成操作系統(tǒng)映像以交付應用程序、刻錄和啟動。 恭喜,您已經(jīng)構建了一個智能設備。
應用程序焦點
嵌入式開發(fā)人員友好的嵌入式 Linux 應該只向設備提供應用程序。衛(wèi)星公司不制造自己的火箭,他們專注于建造衛(wèi)星并租用火箭將其作為有效載荷運送,許多開發(fā)團隊還必須“造火箭”來交付嵌入式應用程序。
如果 Linux 供應商將提供和維護團隊交付嵌入式應用程序所需的支架作為他們的工作,那么開發(fā)人員將會更加成功。在這樣的世界中,團隊將專注于創(chuàng)建應用程序。
由此產(chǎn)生的以應用程序為中心的開發(fā)周期可以歸結為啟動、構建和部署。 在供應商提供的腳手架之上,開發(fā)人員將為他們的目標板創(chuàng)建一個可啟動的映像。 然后團隊將開發(fā)應用程序。 經(jīng)過測試,他們將構建一個系統(tǒng)映像,提供所有這些應用程序。 然后刻錄,部署,完成。
合作
嵌入式軟件開發(fā)實踐早于云原生和 DevOps 時代。 這些實踐來自過去,當時任何架構的無限計算能力都無法按需提供。 它們源于軟件在本地托管而不是在共享的在線存儲庫上的時代。 它們是在自動化構建和 CI/CD 不存在的時候制作的。
將嵌入式開發(fā)工具鏈與現(xiàn)代 CI/CD 工具集成可解鎖 DevOps 風格的協(xié)作。 這意味著提供工具來協(xié)調安全、產(chǎn)品工程和運營焦點之間的協(xié)作。 安全專家將推送補丁,產(chǎn)品工程將發(fā)布功能,運營管理員將管理設備群,全部同步,使用相同的工具。