一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

星星科技指導員 ? 來源:嵌入式計算設(shè)計 ? 作者:James Clough ? 2022-06-28 14:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

替代開發(fā)方法

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

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

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

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

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

快速反饋,模擬

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

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

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

對代碼的寶貴見解

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

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

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

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

不再等待硬件

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

審核編輯:郭婷

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

    關(guān)注

    134

    文章

    9349

    瀏覽量

    377357
  • asic
    +關(guān)注

    關(guān)注

    34

    文章

    1246

    瀏覽量

    122358
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11509

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    什么是零代碼平臺?

    協(xié)作效率,減少開發(fā)人員的工作負擔。3.靈活適應(yīng)產(chǎn)線變化 通過模塊化架構(gòu)實現(xiàn)「熱更新」,產(chǎn)線工藝調(diào)整時,可在線進行功能選代,避免影響連續(xù)生產(chǎn)。4.顯著降低開發(fā)及運維成本開發(fā)成本節(jié)約達60%-80%,運維
    發(fā)表于 07-12 20:28

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

    軟件功能。 2. Visual Studio 簡稱VS: 它是一個IDE,集成開發(fā)環(huán)境。驗證C程序或是進行c#程序開發(fā),可以用它。一些與嵌入式相關(guān)的模擬器也是基于VS的。幫助開發(fā)人員更穩(wěn)定,更有
    發(fā)表于 07-03 17:06

    Thingy:91 X 開發(fā)人員提供了一個經(jīng)過全球認證的、多傳感器、電池供電的蜂窩物聯(lián)網(wǎng)原型平臺

    Thingy:91 X 開發(fā)人員提供了一個經(jīng)過全球認證的、多傳感器、電池供電的蜂窩物聯(lián)網(wǎng)原型平臺 挪威奧斯陸 – 2024年12月10日 – 全球領(lǐng)先的低功耗無線連接解決方案提供商Nordic
    的頭像 發(fā)表于 05-08 17:41 ?907次閱讀

    NanoEdge AI Studio 面向STM32開發(fā)人員機器學習(ML)技術(shù)

    NanoEdge? AI Studio*(NanoEdgeAIStudio)是一種新型機器學習(ML)技術(shù),可以讓終端用戶輕松享有真正的創(chuàng)新成果。只需幾步,開發(fā)人員便可基于最少量的數(shù)據(jù)其項目創(chuàng)建
    的頭像 發(fā)表于 04-22 11:09 ?578次閱讀
    NanoEdge AI Studio 面向STM32<b class='flag-5'>開發(fā)人員</b>機器學習(ML)技術(shù)

    基于RV1126開發(fā)板的人員檢測算法開發(fā)

    在RV1126上開發(fā)人員檢測AI算法組件
    的頭像 發(fā)表于 04-14 13:56 ?307次閱讀
    基于RV1126<b class='flag-5'>開發(fā)</b>板的<b class='flag-5'>人員</b>檢測算法<b class='flag-5'>開發(fā)</b>

    IAR發(fā)布云端平臺,助力現(xiàn)代嵌入式軟件開發(fā)團隊

    平臺嵌入式軟件開發(fā)人員提供前所未有的自由度與靈活性,助力開發(fā)團隊在工具選擇和日常工作流中實現(xiàn)更高效的協(xié)作與創(chuàng)新。
    的頭像 發(fā)表于 03-12 11:56 ?352次閱讀

    GoPoint嵌入式開發(fā)平臺 釋放i.MX潛力 簡化Linux開發(fā)

    GoPoint是一個以用戶中心的平臺,旨在釋放恩智浦i.MX微處理器的潛力,從而優(yōu)化基于i.MX應(yīng)用處理器的開發(fā)。憑借豐富的交互式演示庫和強大的技術(shù)支持,GoPoint幫助開發(fā)人員
    發(fā)表于 02-28 10:07 ?625次閱讀
    GoPoint嵌入式<b class='flag-5'>開發(fā)</b><b class='flag-5'>平臺</b> 釋放i.MX潛力 簡化Linux<b class='flag-5'>開發(fā)</b>

    ALINX NVME SPCle IP 特性詳解

    在嵌入式設(shè)備、邊緣計算、工業(yè)控制等領(lǐng)域快速崛起的同時,開發(fā)人員越來越多地面對一個問題: ? 硬件資源有限,但對高速存儲的需求卻越來越高。這些平臺可能沒有 PCIe 硬核,或者無法承擔高昂的硬件
    的頭像 發(fā)表于 02-20 15:35 ?504次閱讀
    ALINX NVME SPCle IP 特性詳解

    低代碼在敏捷開發(fā)中的應(yīng)用

    低代碼平臺的定義 低代碼平臺提供了一個可視化的、拖放式的用戶界面,允許開發(fā)者通過圖形化的方式快速構(gòu)建應(yīng)用程序,而無需編寫大量的代碼。這些平臺通常包括預構(gòu)建的模板、組件和邏輯模塊,使得
    的頭像 發(fā)表于 01-07 09:58 ?447次閱讀

    NVIDIA技術(shù)推動機器人仿真

    借助機器人仿真,開發(fā)人員能夠在基于物理學的現(xiàn)實世界數(shù)字呈現(xiàn)中對機器人進行虛擬訓練、測試和驗證。
    的頭像 發(fā)表于 01-03 14:10 ?478次閱讀

    Nordic推出最新物聯(lián)網(wǎng)原型驗證平臺Thingy:91 X

    SSID定位、DECT NR+以及GNSS等多種應(yīng)用而設(shè)計,旨在簡化開發(fā)人員的物聯(lián)網(wǎng)原型開發(fā)流程,加速蜂窩物聯(lián)網(wǎng)應(yīng)用的開發(fā)進程,縮短產(chǎn)品上市時間。 Thingy:91 X平臺集成了全
    的頭像 發(fā)表于 12-11 10:13 ?1521次閱讀

    MSPDebugStack開發(fā)人員指南

    電子發(fā)燒友網(wǎng)站提供《MSPDebugStack開發(fā)人員指南.pdf》資料免費下載
    發(fā)表于 12-05 14:49 ?0次下載
    MSPDebugStack<b class='flag-5'>開發(fā)人員</b>指南

    汽車異構(gòu)硬件平臺開發(fā)如何進行靜態(tài)代碼分析

    先進的靜態(tài)代碼分析工具,其新版本中引入的多CCT功能為開發(fā)人員提供了強大的支持,該功能不僅簡化了多編譯器環(huán)境下的代碼分析過程,還可以極大增強代碼的質(zhì)量和安全性。
    的頭像 發(fā)表于 10-09 16:15 ?872次閱讀
    汽車異構(gòu)<b class='flag-5'>硬件</b><b class='flag-5'>平臺</b><b class='flag-5'>開發(fā)</b>如何進行靜態(tài)代碼分析

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

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

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

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