女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于開源軟件構建產品的工作流程挑戰

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Al Feczko ? 2022-08-12 10:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式 Linux 開發的早期(大約 Y2K),其中很大一部分工作是將開源代碼移植到目標硬件平臺上運行。除非工程師Intel x86 板上運行代碼,否則開發板支持包 (BSP) 并交叉編譯開源中間件以在硬件上運行并非易事。從那以后的幾年里,越來越多的硬件公司發現,提供免費的 Linux BSP 對于確保其硬件在嵌入式應用程序中的廣泛采用是必要的。在早期,通過控制臺端口到達 Linux shell 提示符可能需要數周或數月的時間,而現在應該只需要幾個小時。

由于現在可以在目標硬件上運行各種經過驗證的開源軟件,平臺工程師的典型日常任務轉而專注于現有開源軟件的配置、定制和集成,而不是設計和開發從零開始的軟件。鑒于這種轉變,讓我們回顧一下在決定是否基于開源軟件構建產品時要考慮的以下四個主要產品生命周期工作流程挑戰:

為應用程序團隊創建定制的軟件開發工具包 (SDK);

跟蹤開源軟件更新;

從源代碼重建平臺;和

管理與各種許可證相關的開源軟件義務。

創建自定義 SDK

隨著工程師越來越多地將嵌入式 Linux 視為可以在其公司的許多產品中重復使用的通用軟件平臺,創建定制的 SDK 變得比創建 BSP 更重要。應用程序開發人員喜歡 AndroidiOS,因為 Google 和 Apple 在為他們的手機和平板電腦平臺構建和維護自定義但功能強大且易于使用的 SDK 方面做得很好。誰在為開發工程師為您的硬件平臺構建應用程序奠定基礎?如果一家公司擁有一名正式負責為應用程序開發團隊創建和維護自定義 SDK 的工程師,則該公司處于領先地位。如果公司有人負責這項正在進行的任務,經理應該能夠回答以下問題:

工程師的工作做得如何?

他們花了多少時間做這件事?

他們如何將 SDK 分發給其他團隊成員?

如果這個人(或平臺團隊中的關鍵人物)離開了公司,是否有人可以介入并有效地接管這個角色?

創建自定義 SDK 基本上歸結為選擇應用程序開發人員應該使用的一組庫和 API,然后確保它們以受版本控制的方式內置到應用程序開發工具鏈中。如果應用程序將利用動態鏈接,那么這也意味著確保為開發人員的桌面以及運行時目標映像構建一致的版本。以易于安裝的格式提供 SDK 有助于確保所有應用程序開發人員的一致性。

跟蹤開源更新

團隊中誰負責跟蹤對公司產品內運行的開源軟件所做的更新?他們如何做到這一點,多久一次?他們在尋找什么樣的更新?安全補丁和錯誤修復是否與新功能發布一樣受到關注?他們如何與團隊其他成員一致地分享這些更新?

我們與一位客戶合作,通過讓三名工程師每周一天在午餐時間工作來解決這個特定問題。為了確保他們了解他們在公司產品中使用的開源軟件包的所有最新更新,三位工程師將筆記本電腦顯示器投影到會議室的屏幕上,并瀏覽各種網站、變更日志、GIT 樹、郵件列表存檔和下載站點。雖然這不一定是最有效的方法,但它確實說明了保持最新狀態的積極努力 - 并且還說明了這樣做所需的工程時間投資。

自動化可以在這方面有所幫助。訂閱 Timesys LinuxLink 服務 (linuxlink.timesys.com)、CERT 郵件列表 (forms.us-cert.gov/maillists) 或 Freecode(原freshmeat.org)等網站,(見圖 1),可以放置一些結構通過將相關的、經過過濾的開源更新直接流式傳輸到 Web 瀏覽器或電子郵件收件箱中,圍繞這項工作并節省時間。

圖 1:當開源軟件包的更新版本可供下載時,LinuxLink 更新引擎會通知平臺工程師。

poYBAGL1t4eAWfg8AAONMs1iIAw858.png

從源代碼重建平臺

曾經嘗試從 RPM 或 Debian 源代碼重建桌面發行版嗎?祝你好運。雖然分發人員確實提供了源代碼(畢竟它是開源的),但從源代碼重建絕對不是他們通常支持的用例。在大多數情況下,從源代碼包重建后,生成的系統不會被視為相同的發行版,因此供應商不太可能支持。

雖然這對于企業或桌面 Linux 環境來說可能是可以接受的,但對于嵌入式產品公司來說卻是不可接受的。典型的嵌入式產品在該領域使用多年,出貨后往往需要維護和更新。保留嵌入式產品的每個交付版本中包含的所有軟件的詳細清單以及用于構建它的工具和腳本是至關重要的。當今許多現代 Linux 構建引擎都提供了此功能,因此請務必選擇一個提供此功能的引擎。

管理開源軟件義務

與大多數基于開源平臺構建的典型嵌入式產品一樣,開發團隊可能必須跟蹤許多不同的開源許可證所產生的義務,而不僅僅是單個許可證。作為一個例子,我們提供了“小尺寸起點”,它們是預先構建的嵌入式 Linux 映像,通常只有幾兆字節大小,可以簡化嵌入式 Linux 的快速啟動和運行。如圖 2 所示,一個占用空間小的起點可能只包括七個開源包,但這七個包實際上屬于四個不同的開源許可證。

圖 2: Timesys 小尺寸起點圖像中的開源軟件包和相關許可證

poYBAGL1t5CAPsmVAAM6dA4Ua7E024.png

作為另一個例子,考慮一下索尼提供的相對簡單的無線數碼相框 ( www.docs.sony.com/release/VGFCP1_qs.pdf )。如圖 3 所示,該產品基于 20 個不同的開源軟件包 ( www.sony.net/Products/Linux/VAIO/VGF-CP1.html ),同樣涵蓋各種不同的開源許可證。

圖 3:索尼無線數碼相框中包含的開源包

pYYBAGL1t5mASAw6AALZUIu0yTA183.png

在嵌入式產品設計中使用每種類型的開源許可證對將這種軟件整合到他們的產品中的開發團隊施加了一組獨特的義務。正因為如此,一些公司維護了一個開源許可證列表,供其開發人員使用。其他公司走得更遠,明確列出了每個開源軟件包的哪個特定版本已被批準可能并入公司的產品中。

確保開發團隊了解并遵守與這些開源許可證相關的義務需要時間和精力。在嘗試達到激進的產品開發里程碑時,可以幫助識別和跟蹤適用的基礎許可并實現許可義務的工具可以證明是非常有價值的。

從一開始就考慮工作流程

開源的使用給整個嵌入式產品開發生命周期帶來了一系列新的工作流程挑戰。通過在新產品開發開始時考慮這些挑戰,通過指定適當的工程師來負責各種問題,并通過為工程師配備適當的工具,管理人員可以通過最大限度地減少對進度的意外影響來確保項目更成功。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5152

    文章

    19673

    瀏覽量

    317540
  • Linux
    +關注

    關注

    87

    文章

    11511

    瀏覽量

    213796
  • 開源
    +關注

    關注

    3

    文章

    3688

    瀏覽量

    43829
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    電氣CAD文件中高效的工作流程

    電氣CAD文件中高效的工作流程性能卓越的 PCschemetic ELautomation軟件具有作電氣設計時所需要的所有功能。其獨一無二的工作流程可節省您大量的時間,它代替了所有的訂貨信息——從
    發表于 12-04 11:24

    E8.Net工作流90%以上源代碼提供~

    E8.Net工作流開發架構,快速開發實施軟件項目:  E8.Net工作流是國內商業流程管理(BPM)領域在.Net平臺上的領先產品
    發表于 03-31 11:17

    幫忙分析下這個設計的工作流程

    你好我是單片機學習的菜鳥能不能幫我分析一下一下設計的工作流程各個器件的工作原理
    發表于 12-07 11:06

    AndroidWifi工作流程

    AndroidWifi工作流程
    發表于 11-02 10:52

    AndroidWifi工作流程

    AndroidWifi工作流程
    發表于 09-25 11:17

    AndroidWifi工作流程

    AndroidWifi工作流程
    發表于 11-08 09:07

    AS068工作流程是怎樣的?

    AS068工作流程是怎樣的?
    發表于 12-07 08:02

    嵌入式軟件開發數據結構的工作流程是怎樣的

    嵌入式軟件開發的數據結構是怎樣組成的?嵌入式軟件開發數據結構的工作流程是怎樣的?
    發表于 12-24 07:22

    軟件測試工作流程

    軟件測試工作流程軟件在開發過程中共有五個版本,分別是Base版、Alpha版、Beta版、RC版、Release版,每個版本的開發中都需
    發表于 10-22 12:58 ?4511次閱讀
    <b class='flag-5'>軟件</b>測試<b class='flag-5'>工作流程</b>圖

    測試工程師工作流程有哪些

    測試工程師的工作流程,與公司的整體工作流程,項目的測試要求等因素相關。本文主要討論測試工程師的一般工作流程
    的頭像 發表于 10-03 16:56 ?8103次閱讀

    雷電的4K工作流程

    在4K的雷電工作流程
    的頭像 發表于 05-31 11:20 ?2832次閱讀

    工作流程圖怎么用?有哪些繪制工作流程圖的軟件

    工作流程圖是清晰地展示工作中各個環節的流程圖圖示,主要用于工作活動和效率的管理。工作流程圖這種圖示方法具有直觀描述性、簡潔性、可操作性和指導
    的頭像 發表于 07-28 14:22 ?3931次閱讀

    SMC和Ansys正在構建一個自動化,優化和可重復的工作流程

    SMC和Ansys正在構建一個自動化,優化和可重復的工作流程,以快速設計和分析SMC Q系列SRM,該產品專為商業應用而設計,可大幅減少NVH。利用Ansys工作流程技術(包括尖端的多
    的頭像 發表于 09-10 13:57 ?2479次閱讀

    Optimajet工作流過程的管理

    WorkflowEngine是業務流程管理(BPM)的骨干解決方案,它使得通過使用低代碼可視化構建器來自動化工作流設計成為可能。它基于 .NETFramework/.NET Core
    的頭像 發表于 07-03 15:26 ?1169次閱讀
    Optimajet<b class='flag-5'>工作流</b>過程的管理

    NX CAD軟件:數字化工作流程解決方案(CAD工作流程)

    NXCAD——數字化工作流程解決方案(CAD工作流程)使用西門子領先的產品設計軟件NXCAD加速執行基于工作流程的解決方案。我們在了解行業需
    的頭像 發表于 02-06 18:15 ?436次閱讀
    NX CAD<b class='flag-5'>軟件</b>:數字化<b class='flag-5'>工作流程</b>解決方案(CAD<b class='flag-5'>工作流程</b>)