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

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

3天內不再提示

利用虛擬硬件平臺縮短開發(fā)周期

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:James Clough ? 2022-06-17 16:31 ? 次閱讀

軟件開發(fā)人員對硬件開發(fā)板又愛又恨。一方面,它們使軟件變得栩栩如生。另一方面,它們可能會讓人頭疼,特別是因為開發(fā)計劃取決于它們的可用性。開發(fā)板對軟件調試和分析行為的有限可見性通常迫使開發(fā)人員使用更復雜的方法。有時它們根本不像開發(fā)人員期望的那樣工作。虛擬硬件平臺可以通過快速執(zhí)行軟件來幫助解決開發(fā)人員的挫敗感,從而縮短開發(fā)周期。

復雜的多核平臺(例如用于設計蜂窩基站的平臺)越來越多地為軟件開發(fā)人員帶來挑戰(zhàn),這也加劇了他們傾向于鄙視硬件開發(fā)板的原因。

替代開發(fā)方法

在最初的硬件規(guī)范之后,開發(fā)團隊考慮使用與初步硬件設計略有相似的參考開發(fā)板。沒有任何設計外設或 DDR RAM 控制器與開發(fā)板匹配;但是,當時沒有其他可用的東西。一旦最終硬件可用,開發(fā)人員將不得不盲目地編寫然后修改軟件,因為他們沒有參考板上的所有硬件組件。這是他們認為可以用來完成工作的唯一方法。

然后,開發(fā)團隊遇到了用于軟件開發(fā)的虛擬平臺,這是一種模擬硬件模型并以接近實時的速度執(zhí)行軟件的技術。盡管開發(fā)人員對這個概念很感興趣,但由于對用于創(chuàng)建虛擬硬件平臺的建模技術和方法缺乏了解,他們有所保留。開發(fā)人員想知道閃存模型是否與通用閃存接口/可擴展命令集兼容,以及新的 MAC 控制器功能是否足以為開發(fā)驅動程序提供先機。由于為 ASIC 選擇的 ARM 內核沒有使用完整的 ARM 指令集,因此開發(fā)人員希望虛擬硬件平臺能夠捕獲內核嘗試的非法指令,并捕獲和報告非法寄存器寫入。

隨著團隊開始項目,很明顯有些擔憂是沒有根據的。他們很快了解到建模使用稱為 SystemC 的標準語言、專門為建模硬件而設計的 C++ 子集以及稱為事務級建模的方法。SystemC 中的概念對開發(fā)人員來說非常自然。因此,在這個項目中對閃光燈進行建模不是問題。

使用這項技術保存了會話之間的修改。盡管本案例中的特定內核沒有建模,但開發(fā)人員仍然可以控制仿真并在出現非法指令時停止執(zhí)行,這是他們通過使用工具命令語言 (Tcl) 腳本功能完成的。

在初始建模期間,開發(fā)人員發(fā)現軟件和建模團隊之間的溝通對于了解使用虛擬硬件平臺可以實現什么至關重要。他們了解到,他們需要考慮虛擬硬件平臺建模本身,并注意外圍模型及其支持的功能。開發(fā)虛擬硬件平臺涉及 IP 和工具供應商之間的交互。經過幾周的建模,開發(fā)人員開始使用虛擬硬件平臺開始軟件開發(fā)。

快速反饋,模擬

最初的軟件開發(fā)任務是開發(fā) Linux 支持包和 U-Boot 監(jiān)視器。從一開始,虛擬硬件平臺就提供了寶貴的反饋,使開發(fā)人員能夠確定他們是否走在正確的軌道上。開發(fā)板支持包開發(fā)的初始假設中的疏忽很快就被捕獲并解決了。

一個具體問題涉及先進的高性能總線控制器。必須包括在初始引導期間交換閃存和 DDR RAM 的支持。虛擬平臺快速幫助開發(fā)人員識別和糾正跳轉的設置方式,這是虛擬平臺中的一個簡單功能,但需要 JTAG 工具才能在物理硬件中捕獲它。在平臺中完成的建模使開發(fā)人員不僅可以檢測代碼,還可以檢測平臺。如果需要,虛擬硬件平臺提供了任何和所有外圍設備狀態(tài)的視圖,而不會影響操作。

在軟件開發(fā)過程中,CoWare 的 Virtual Platform Analyzer(圖 1)允許開發(fā)人員觀察和控制虛擬硬件平臺,并使用它來有效地跟蹤發(fā)起方對外圍塊的訪問。特別是,斷點可以放置在外設塊訪問上,并且可以通過 Tcl 應用程序編程接口使用特定的調試消息。相同的 Tcl 腳本功能還使開發(fā)人員能夠使虛擬硬件平臺適應他們的開發(fā)需求,從而通過模擬與時序相關的配置來驗證固件中硬件配置的編程,而無需模型是時間準確的。因此,該團隊享受了快速的仿真速度,并且無需等待物理硬件。

圖1

poYBAGKsPCyAOSRHAAKrs8pTn2A714.png

對代碼的寶貴見解

在該項目中,與使用物理硬件相比,使用虛擬硬件平臺將開發(fā)周期縮短了 33%。虛擬硬件平臺提供了硅前軟件開發(fā)測試環(huán)境。此外,其獨特的調試和分析能力使其優(yōu)于物理硬件上提供的類似調試和分析能力。

鑒于該項目的成功,很明顯虛擬硬件平臺可以顯著提高軟件開發(fā)團隊的生產力。隨著多核平臺開發(fā)的快速增長,虛擬硬件平臺提供的可見性水平可以讓應用程序開發(fā)人員深入了解他們以前在沒有專門設備的情況下無法看到的代碼。

因此,開發(fā)人員應考慮使用虛擬硬件平臺來糾正代碼。這樣做的價值遠遠超過了最初的建模投資。從 CoWare 等虛擬硬件平臺技術供應商處獲得的交流、教育、專業(yè)知識和其他優(yōu)勢可以減輕任何擔憂。

要欣賞這項技術,請考慮白盒測試與黑盒測試的優(yōu)勢。使硬件設置日志級別允許開發(fā)人員記錄操作系統和應用程序執(zhí)行的各種訪問。設計人員還可以將硬件斷點設置在寄存器訪問上,直至位級別,直觀地驗證中斷和其他離散信號的變化狀態(tài),并通過設置硬件觀察點和斷點等 Tcl 腳本程序擴展虛擬硬件平臺的功能。最重要的是,開發(fā)人員可以在他們的工作站上完成所有這些工作,而無需復雜的硬件設置、電纜和不穩(wěn)定的硬件板。

不再等待硬件

虛擬硬件平臺為開發(fā)人員帶來了光明的未來,免除了他們等待硬件可用性的痛苦,并提供了硬件開發(fā)板無法提供的調試功能。虛擬硬件平臺對于這十年及以后的軟件開發(fā)人員來說,絕對是經過生產力驗證的、可用于生產的工具。

審核編輯:郭婷

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

    關注

    112

    文章

    16133

    瀏覽量

    177148
  • 寄存器
    +關注

    關注

    31

    文章

    5301

    瀏覽量

    119868
  • C++
    C++
    +關注

    關注

    21

    文章

    2102

    瀏覽量

    73457
收藏 人收藏

    評論

    相關推薦

    利用智能eFuses最大限度地縮短系統停機時間

    電子發(fā)燒友網站提供《利用智能eFuses最大限度地縮短系統停機時間.pdf》資料免費下載
    發(fā)表于 09-25 10:25 ?0次下載
    <b class='flag-5'>利用</b>智能eFuses最大限度地<b class='flag-5'>縮短</b>系統停機時間

    華納云:OpenStack是虛擬化管理平臺嗎?其工作原理是什么?

    位于不同供應商產品環(huán)境中的業(yè)務流程。 但虛擬化管理平臺主要是方便利用虛擬資源的特性和功能,而 OpenStack 則是使用虛擬資源來運行一系
    的頭像 發(fā)表于 09-23 14:20 ?197次閱讀

    鴻蒙開發(fā)組件:DataAbility的生命周期

    應用開發(fā)者可以根據業(yè)務場景實現data.js/data.ets中的生命周期相關接口。DataAbility生命周期接口說明見下表。
    的頭像 發(fā)表于 06-20 09:39 ?380次閱讀

    鴻蒙ArkUI-X跨平臺開發(fā):【bility開發(fā)說明(Android平臺)】

    本文介紹將ArkUI框架擴展到Android平臺所需要的必要的類及其使用說明,開發(fā)者基于OpenHarmony,可復用大部分的應用代碼(生命周期等)并可以部署到Android平臺,降低
    的頭像 發(fā)表于 05-21 10:54 ?861次閱讀
    鴻蒙ArkUI-X跨<b class='flag-5'>平臺</b><b class='flag-5'>開發(fā)</b>:【bility<b class='flag-5'>開發(fā)</b>說明(Android<b class='flag-5'>平臺</b>)】

    怎樣利用數字示波器測量信號的周期和振幅

    在電子工程領域,信號的周期和振幅是評估和分析電路性能的重要參數。數字示波器作為一種高精度、高效率的測量儀器,被廣泛用于測量信號的周期和振幅。本文將詳細介紹如何利用數字示波器進行信號的周期
    的頭像 發(fā)表于 05-17 17:08 ?3026次閱讀

    SC171開發(fā)套件V1 硬件平臺介紹及使用

    課程類別 課程名稱 視頻課程時長 視頻課程鏈接 課件鏈接 硬件 硬件平臺介紹 6分29秒 https://t.elecfans.com/v/25510.html *附件:硬件
    發(fā)表于 04-01 10:35

    Arm推出汽車增強處理器及虛擬平臺縮短人工智能汽車開發(fā)周期

    近日,全球領先的半導體和基礎設施軟件設計公司Arm控股有限公司(納斯達克股票代碼:ARM,簡稱“Arm”)與合作伙伴共同推出了最新的Arm汽車增強(AE)處理器和虛擬平臺。這一創(chuàng)新解決方案旨在讓汽車行業(yè)在開發(fā)初期即可應用,有望大
    的頭像 發(fā)表于 03-28 10:46 ?502次閱讀

    Arm 宣布推出全新汽車技術,可縮短多達兩年的人工智能汽車開發(fā)周期

    開發(fā)時間、降低成本,并帶來最大的靈活性 Arm 生態(tài)系統首次實現在物理芯片就緒前就可基于虛擬原型解決方案啟動軟件開發(fā),由此可縮短多達兩年的開發(fā)
    發(fā)表于 03-14 13:34 ?211次閱讀

    Arm宣布推出全新汽車技術,可縮短多達兩年的人工智能汽車開發(fā)周期

    Arm 攜手生態(tài)伙伴推出了最新的 Arm 汽車增強 (AE) 處理器和虛擬平臺,讓汽車行業(yè)在開發(fā)伊始便可應用,助力縮短多達兩年的開發(fā)
    的頭像 發(fā)表于 03-14 12:17 ?885次閱讀

    百度智能云進一步集成Arm虛擬硬件 加速AI開發(fā)創(chuàng)新

    繼 Arm 虛擬硬件于 2023 年八月上線百度智能云后,近日,雙方基于 Arm 虛擬硬件的合作再度迎來新里程!
    的頭像 發(fā)表于 03-11 15:17 ?409次閱讀

    MZ7100/045FC 開發(fā)平臺硬件手冊

    電子發(fā)燒友網站提供《MZ7100/045FC 開發(fā)平臺硬件手冊.pdf》資料免費下載
    發(fā)表于 02-26 09:11 ?7次下載

    英偉達大幅縮短AI GPU交付周期

    根據瑞銀分析師最近提供給投資者的備忘錄,英偉達已經顯著縮短了其AI GPU的交付周期。這一周期已經從去年年底的8-11個月迅速縮短至目前的3-4個月。這一變化引發(fā)了市場的廣泛關注,分析
    的頭像 發(fā)表于 02-18 17:31 ?800次閱讀

    恩智浦與MicroEJ共同開發(fā)平臺加速器

    恩智浦與MicroEJ共同開發(fā)的新平臺加速器,利用具有標準API的軟件容器,為工業(yè)和物聯網邊緣應用帶來與智能手機類似的軟件設計靈活性,幫助客戶大幅降低開發(fā)成本,
    的頭像 發(fā)表于 01-22 10:16 ?674次閱讀

    Versal自適應SoC硬件、IP和平臺開發(fā)方法指南

    電子發(fā)燒友網站提供《Versal自適應SoC硬件、IP和平臺開發(fā)方法指南.pdf》資料免費下載
    發(fā)表于 01-03 10:49 ?0次下載
    Versal自適應SoC<b class='flag-5'>硬件</b>、IP和<b class='flag-5'>平臺</b><b class='flag-5'>開發(fā)</b>方法指南

    使用英特爾Simics仿真器創(chuàng)建軟件開發(fā)虛擬平臺

    虛擬化。HPS 的設計支持將硬件虛擬化擴展到 FPGA SoC 可編程邏輯結構中的實例化外設,并為早期軟件開發(fā)創(chuàng)建虛擬
    的頭像 發(fā)表于 11-24 12:27 ?1430次閱讀