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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

虛擬硬件平臺(tái)為開發(fā)人員帶來光明的未來

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:James Clough ? 2022-06-28 14:42 ? 次閱讀

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

復(fù)雜的多核平臺(tái)(例如用于設(shè)計(jì)蜂窩基站的平臺(tái))越來越多地為軟件開發(fā)人員帶來挑戰(zhàn),這也加劇了他們傾向于鄙視硬件開發(fā)板的原因。 RadioFrame Networks 設(shè)計(jì)項(xiàng)目證明了這種兩難境地,這導(dǎo)致了開發(fā)人員與硬件的雙刃劍關(guān)系。

替代開發(fā)方法

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

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

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

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

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

快速反饋,模擬

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

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

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

對(duì)代碼的寶貴見解

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

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

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

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

不再等待硬件

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

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    8967

    瀏覽量

    365018
  • asic
    +關(guān)注

    關(guān)注

    34

    文章

    1175

    瀏覽量

    119987
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207905
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式開發(fā)常用軟件有哪些?

    開發(fā)人員更穩(wěn)定,更有生產(chǎn)力,更易于使用Debug調(diào)試功能。 3.SourceInsight source insight Mac 最新版支持多種開發(fā)語言(比如說Java,c,c++等)的編輯器.。對(duì)于
    發(fā)表于 09-09 15:22

    C2000 ePWM開發(fā)人員指南

    電子發(fā)燒友網(wǎng)站提供《C2000 ePWM開發(fā)人員指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-07 09:45 ?0次下載
    C2000 ePWM<b class='flag-5'>開發(fā)人員</b>指南

    【xG24 Matter開發(fā)套件試用體驗(yàn)】初識(shí)xG24 Matter開發(fā)套件

    和 Qwiic? 連接器對(duì)硬件附加板提供支持。硬件附加支持允許開發(fā)人員使用來自 mikroE、Sparkfun、AdaFruit 和 Seeed Studios 的現(xiàn)成板進(jìn)行各種組合,來創(chuàng)建和原型化應(yīng)用程序
    發(fā)表于 07-11 23:31

    【xG24 Matter開發(fā)套件試用體驗(yàn)】+開機(jī)啟動(dòng)

    和 Qwiic? 連接器對(duì)硬件附加板提供支持。硬件附加支持允許開發(fā)人員使用來自 mikroE、Sparkfun、AdaFruit 和 Seeed Studios 的現(xiàn)成板進(jìn)行各種組合,來創(chuàng)建和原型化應(yīng)用程序。 詳情請(qǐng)參見附件視頻
    發(fā)表于 07-11 14:05

    瑞薩電子發(fā)布R-Car Open Access平臺(tái),加速軟件定義汽車開發(fā)

    全球半導(dǎo)體解決方案領(lǐng)域的佼佼者瑞薩電子近日宣布,正式推出全新的軟件定義汽車(SDV)開發(fā)平臺(tái)——R-Car Open Access(RoX)。該平臺(tái)以全面整合的形式,車輛
    的頭像 發(fā)表于 06-22 14:10 ?667次閱讀

    選擇合適的數(shù)字孿生開發(fā)平臺(tái)因素有哪些?

    擁有各自獨(dú)特的功能和特性。企業(yè)需要根據(jù)自身項(xiàng)目需求,比較不同平臺(tái)提供的功能,確保選擇的平臺(tái)能夠滿足項(xiàng)目的具體要求,如模擬能力、數(shù)據(jù)集成、可視化等。 2.易用性:平臺(tái)的易用性對(duì)于開發(fā)人員
    的頭像 發(fā)表于 06-11 14:55 ?254次閱讀
    選擇合適的數(shù)字孿生<b class='flag-5'>開發(fā)</b><b class='flag-5'>平臺(tái)</b>因素有哪些?

    三星停止自動(dòng)駕駛研究,開發(fā)人員轉(zhuǎn)到機(jī)器人領(lǐng)域

    近日,三星電子宣布了一項(xiàng)重要的研發(fā)戰(zhàn)略調(diào)整。據(jù)業(yè)內(nèi)人士透露,三星先進(jìn)技術(shù)研究院(SAIT)已決定停止自動(dòng)駕駛汽車的研究,并將這一領(lǐng)域的開發(fā)人員轉(zhuǎn)移到機(jī)器人領(lǐng)域。
    的頭像 發(fā)表于 05-13 09:21 ?367次閱讀

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

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

    Qt上位機(jī)開發(fā)實(shí)戰(zhàn)案例

    Qt框架的開發(fā)人員能迅速上手和操作。 即使不開發(fā)Qt應(yīng)用程序,Qt Creator也是一個(gè)簡(jiǎn)單易用且功能強(qiáng)大的IDE。
    的頭像 發(fā)表于 03-13 12:31 ?1777次閱讀
    Qt上位機(jī)<b class='flag-5'>開發(fā)</b>實(shí)戰(zhàn)案例

    MWC2024亮點(diǎn) 愛立信旗下Vonage攜手AWS加速向數(shù)百萬開發(fā)人員提供新的解決方案

    開發(fā)人員提供新的解決方案。 推動(dòng)跨行業(yè)新應(yīng)用 近日,AWS工業(yè)副總裁Kathrin Renz表示:“AWS和Vonage在幫助客戶實(shí)現(xiàn)創(chuàng)新和價(jià)值方面有著共同的熱情。 我們與Vonage合作的目標(biāo)是推動(dòng)
    的頭像 發(fā)表于 02-29 09:42 ?1.2w次閱讀

    業(yè)務(wù)人員也能搭建企業(yè)應(yīng)用?盤點(diǎn)對(duì)比這幾款低代碼開發(fā)平臺(tái)

    在當(dāng)今的軟件開發(fā)領(lǐng)域,低代碼開發(fā)平臺(tái)正逐漸成為業(yè)務(wù)人員和技術(shù)開發(fā)人員的首選。這些平臺(tái)通過簡(jiǎn)化
    的頭像 發(fā)表于 12-27 18:31 ?823次閱讀
    業(yè)務(wù)<b class='flag-5'>人員</b>也能搭建企業(yè)應(yīng)用?盤點(diǎn)對(duì)比這幾款低代碼<b class='flag-5'>開發(fā)</b><b class='flag-5'>平臺(tái)</b>

    我用ST這個(gè)物聯(lián)網(wǎng)節(jié)點(diǎn)開發(fā)板連接到云快速完成了設(shè)計(jì)

    選擇兼容的軟件和硬件,事實(shí)證明,設(shè)計(jì)和構(gòu)建一個(gè)物聯(lián)網(wǎng)設(shè)備仍然需要廣泛的技能。 開發(fā)人員越來越需要隨時(shí)獲得安全的解決方案、云連接庫、實(shí)時(shí)操作系統(tǒng)和兼容的軟硬件開發(fā)
    的頭像 發(fā)表于 12-13 20:15 ?867次閱讀
    我用ST這個(gè)物聯(lián)網(wǎng)節(jié)點(diǎn)<b class='flag-5'>開發(fā)</b>板連接到云快速完成了設(shè)計(jì)

    開關(guān)電源開發(fā)人員必看

    電子發(fā)燒友網(wǎng)站提供《開關(guān)電源開發(fā)人員必看.pdf》資料免費(fèi)下載
    發(fā)表于 11-08 15:41 ?0次下載
    開關(guān)電源<b class='flag-5'>開發(fā)人員</b>必看

    MPP開發(fā)參考資料

    ,場(chǎng)視頻解交織(Deinterlace)本文檔描述了 MPP 框架以及組成模塊,以及供用戶使用的 MPI 接口。本文檔適合于上層應(yīng)用開發(fā)人員以及技術(shù)支持人員閱讀。
    發(fā)表于 10-09 08:38

    【米爾-芯馳D9開發(fā)板- 國產(chǎn)平臺(tái)試用】 基于GStreamer 測(cè)試板載的多媒體功能

    其他多媒體處理任務(wù),如音頻混音、視頻合成等。 GStreamer提供了一組豐富的API和工具,使開發(fā)人員可以輕松地創(chuàng)建自己的多媒體應(yīng)用程序。它支持多種編程語言,包括C、C++、Python等,并提供了
    發(fā)表于 09-22 15:33