日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]在當(dāng)今競爭激烈的形勢下,使富含的復(fù)雜電子設(shè)備更快面市,但是同時確保其更便宜更可靠,是一種相當(dāng)冒險的做法。未經(jīng)徹底測試的硬件設(shè)計不可避免地導(dǎo)致返工,增加設(shè)計成本并

在當(dāng)今競爭激烈的形勢下,使富含的復(fù)雜電子設(shè)備更快面市,但是同時確保其更便宜更可靠,是一種相當(dāng)冒險的做法。未經(jīng)徹底測試的硬件設(shè)計不可避免地導(dǎo)致返工,增加設(shè)計成本并延長布局流程的網(wǎng)表交付時間,并最終延遲上市時間目標(biāo),對收益源造成破壞性影響。推遲嵌入式軟件的測試也潛藏有錯過上市機遇的可能,會帶來更嚴(yán)重的后果。
正因為如此,項目周期的驗證部分極大地占用計劃時間變成了很常見的事情。其中的根本原因,在于跟蹤和消除錯誤極為不易,尤其是在片上系統(tǒng) (SoC) 的軟件內(nèi)容以每年約 200% 的速度增長的情況下。與此相反,設(shè)計的硬件部分僅增長約 50%。
硬件仿真作為系統(tǒng)驗證的基礎(chǔ)
雖然虛擬原型和現(xiàn)場可編程門陣列 (FPGA) 原型在早期嵌入式軟件測試上已受到關(guān)注,但對于軟件和硬件的集成并無助益。前者缺乏追蹤硬件錯誤所需的硬件精確性,而對于盡快消除錯誤所需的硬件調(diào)試,后者能力有限。
因此,開發(fā)團隊和項目經(jīng)理已轉(zhuǎn)而采用硬件仿真作為其驗證策略的基礎(chǔ)。硬件仿真是一種多功能驗證工具,有許多相關(guān)優(yōu)勢,包括軟硬件協(xié)同驗證或測試硬件和軟件集成的功能。它已受到軟件開發(fā)者的注意,因為這是能夠確保嵌入式系統(tǒng)軟件通過底層硬件正常工作的唯一驗證工具。對于致力于調(diào)試復(fù)雜 SoC 設(shè)計的硬件工程師來說,這也是值得注意的,因為工程師可以憑借該方法追蹤硬件內(nèi)的軟件錯誤或軟件行為中的硬件錯誤。硬件仿真的其他優(yōu)勢包括快速匯編功能、軟件驗證、全面的設(shè)計調(diào)試和可擴展性,可滿足包括數(shù)十億應(yīng)用程序特定(ASIC) 門的設(shè)計。此外,它能夠以驗證嵌入式軟件和執(zhí)行系統(tǒng)驗證必需的高速率來處理數(shù)十億驗證周期。
過去,硬件調(diào)試和測試是項目周期驗證部分的唯一工作,此作業(yè)由硬件描述語言 (HDL) 測試平臺驅(qū)動的邏輯軟件仿真進(jìn)行管理。傳統(tǒng)的大箱式硬件仿真只用于最大型的設(shè)計。很多開發(fā)團隊已采用正式驗證對軟件仿真進(jìn)行補充,以增加基礎(chǔ)覆蓋范圍并確保不遺漏特殊用例。但是,只有硬件仿真可以在比較可行的時間內(nèi)完成 SoC 設(shè)計的全部驗證任務(wù),并緩解與基于事件的軟件仿真相關(guān)的運行問題。
都是軟件內(nèi)容的問題
SoC 的軟件內(nèi)容使協(xié)同驗證成為驗證策略中一個非常重要的部分,因為它可以在投片前確認(rèn)一個嵌入式 SoC 的硬件和軟件部分同時得到驗證且正確交互。
過去,如果設(shè)計流片后發(fā)生硬件問題,軟件開發(fā)者必須盡其所能設(shè)法圍繞問題進(jìn)行編碼。在 SoC 完成之前驗證軟件,設(shè)計團隊可以在進(jìn)入硅片階段之前解決硬件問題。如前所述,硬件仿真檢查用于確保嵌入式軟件根據(jù)規(guī)范在硬件上運行。
過去使用各種調(diào)試引擎進(jìn)行軟件調(diào)試。每種引擎有一個核心,充分利用硬件對處理器內(nèi)部工作的可視性和控制功能。雖然提供了部分調(diào)試功能,但由于處理器提供的接入方式,診斷問題的能力受限。此外,由于傳統(tǒng)軟件調(diào)試通常發(fā)生在實際系統(tǒng)中,軟件開發(fā)者以目標(biāo)系統(tǒng)速度在實際硬件上執(zhí)行實際代碼。這樣他們可以通過大量代碼迅速找到錯誤的程序。
這些傳統(tǒng)技術(shù)在調(diào)試 SoC 時無效,因為沒有實際硬件,無法以真實系統(tǒng)速度執(zhí)行代碼。一般來說,只要執(zhí)行代碼且軟件模擬器提供所有硬件可視性,即可仿真硬件。但問題是速度 - 調(diào)試代碼是很慢的一種方法。
例如,如果 SoC 設(shè)計為在 Linux 上運行程序,軟件開發(fā)者必須以數(shù)十億時鐘周期完成 Linux 啟動,軟件才能開始執(zhí)行。粗略估計這會以約 10 赫茲 (Hz) 的典型軟件仿真速度花費 28 年以上完成 Linux 啟動。
不管調(diào)試硬件還是軟件,傳統(tǒng)硬件和軟件調(diào)試工具都無法得知彼此的任何情況。如果采用復(fù)雜的大型 SoC 設(shè)計,嘗試找到問題時獨立完成兩種調(diào)試是效率低下的。
兩者結(jié)合是最為理想的方法,這樣硬件仿真就可以節(jié)約時間。SoC 硬件通常在 FPGA 或其他可編程器件中實施,速度更快。在此設(shè)置中,根據(jù)運行速度,最快可以 15 分鐘的速度完成 Linux 啟動。硬件仿真可提供與硬件調(diào)試器相似的斷點和波形控制及可視性。
確認(rèn) SoC 設(shè)計按預(yù)期工作
硬件仿真以其高性能(這是軟件需求推動的越來越重要的需求)在一眾驗證工具中脫穎而出。它能夠確認(rèn) SoC 設(shè)計按計劃工作,并適于處理大到十億 ASIC 等效門的復(fù)雜設(shè)計,且每月可完成超過一萬億驗證周期。即使是這樣,現(xiàn)階段使用硬件仿真進(jìn)行徹底詳盡的功能驗證仍然是可用的最具成本效益且有效的調(diào)試方法。


引入事務(wù)級建模 (TLM) 和事務(wù)處理器可用性可將硬件仿真轉(zhuǎn)為一系列垂直市場的虛擬平臺測試環(huán)境。事務(wù)處理器作為驗證知識產(chǎn)權(quán) (IP) 組合的一部分,是外設(shè)功能或協(xié)議的一種高級抽象模型。事務(wù)處理器通常作為現(xiàn)成 IP 提供,可用于各種不同的協(xié)議。典型的事務(wù)處理器通常包括 PCIe、USB、FireWire、Ethernet、Digital Video、RGB、HDMI、I2C、UART 和 JTAG 器件。
更好驗證更多的復(fù)雜系統(tǒng)

先前,硬件設(shè)計獨立于要在芯片上執(zhí)行的軟件的開發(fā)。但今非昔比,由于 SoC 處理器數(shù)量翻倍且每代產(chǎn)品包含兩倍的軟件內(nèi)容,軟件問題成為開發(fā)團隊和項目經(jīng)理優(yōu)先考慮的對象?,F(xiàn)在,開發(fā)團隊證實預(yù)期軟件在硬件平臺正常工作后,SoC 才算完整。
SoC 是一個全面的嵌入式系統(tǒng),需要進(jìn)行硬件仿真來驗證其能否正常工作。通過硬件仿真,開發(fā)團隊可以更策略性地進(jìn)行計劃,并根據(jù)多個抽象層面實施調(diào)試方法。他們可以同時在硬件和嵌入式軟件之間追蹤錯誤,確定問題所在。通過具有更高性價比且有效的方式,他們在這個過程中節(jié)約了時間,大幅降低錯過上市機遇的風(fēng)險。

0次

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

在工業(yè)物聯(lián)網(wǎng)設(shè)備部署中,Modbus通信故障是導(dǎo)致系統(tǒng)停機的首要原因之一。據(jù)統(tǒng)計,超過60%的現(xiàn)場問題源于通信配置錯誤或數(shù)據(jù)解析異常。本文從嵌入式系統(tǒng)開發(fā)視角,系統(tǒng)闡述Modbus通信調(diào)試的方法論,結(jié)合實際案例解析如何高...

關(guān)鍵字: 嵌入式系統(tǒng) Modbus通信

在嵌入式系統(tǒng)開發(fā)中,看門狗(Watchdog Timer, WDT)是保障系統(tǒng)可靠性的核心組件,其初始化時機的選擇直接影響系統(tǒng)抗干擾能力和穩(wěn)定性。本文從硬件架構(gòu)、軟件流程、安全規(guī)范三個維度,系統(tǒng)分析看門狗初始化的最佳實踐...

關(guān)鍵字: 單片機 看門狗 嵌入式系統(tǒng)

人工智能(AI)和機器學(xué)習(xí)(ML)是使系統(tǒng)能夠從數(shù)據(jù)中學(xué)習(xí)、進(jìn)行推理并隨著時間的推移提高性能的關(guān)鍵技術(shù)。這些技術(shù)通常用于大型數(shù)據(jù)中心和功能強大的GPU,但在微控制器(MCU)等資源受限的器件上部署這些技術(shù)的需求也在不斷增...

關(guān)鍵字: 嵌入式系統(tǒng) 人工智能 機器學(xué)習(xí)

Zephyr開源項目由Linux基金會維護,是一個針對資源受限的嵌入式設(shè)備優(yōu)化的小型、可縮放、多體系結(jié)構(gòu)實時操作系統(tǒng)(RTOS)。近年來,Zephyr RTOS在嵌入式開發(fā)中的采用度逐步增加,支持的開發(fā)板和傳感器不斷增加...

關(guān)鍵字: 嵌入式系統(tǒng) 軟件開發(fā) 實時操作系統(tǒng) Zephyr項目

在資源受限的嵌入式系統(tǒng)中,代碼執(zhí)行效率和內(nèi)存占用始終是開發(fā)者需要權(quán)衡的核心問題。內(nèi)聯(lián)函數(shù)(inline functions)和宏(macros)作為兩種常見的代碼展開技術(shù),在性能、可維護性和安全性方面表現(xiàn)出顯著差異。本文...

關(guān)鍵字: 內(nèi)聯(lián)函數(shù) 嵌入式系統(tǒng)

在嵌入式系統(tǒng)和服務(wù)器開發(fā)中,日志系統(tǒng)是故障排查和運行監(jiān)控的核心組件。本文基于Linux環(huán)境實現(xiàn)一個輕量級C語言日志庫,支持DEBUG/INFO/WARN/ERROR四級日志分級,并實現(xiàn)按大小滾動的文件輪轉(zhuǎn)機制。該設(shè)計在某...

關(guān)鍵字: C語言 嵌入式系統(tǒng)

在嵌入式系統(tǒng)和底層驅(qū)動開發(fā)中,C語言因其高效性和可控性成為主流選擇,但缺乏原生單元測試支持成為開發(fā)痛點。本文提出一種基于宏定義和測試用例管理的輕量級單元測試框架方案,通過自定義斷言宏和測試注冊機制,實現(xiàn)無需外部依賴的嵌入...

關(guān)鍵字: C語言 嵌入式系統(tǒng) 驅(qū)動開發(fā)

在嵌入式系統(tǒng)與驅(qū)動開發(fā)中,內(nèi)存映射I/O(Memory-Mapped I/O, MMIO)是一種將硬件寄存器映射到處理器地址空間的技術(shù),允許開發(fā)者通過指針直接讀寫寄存器,實現(xiàn)高效、低延遲的硬件控制。本文通過C語言實戰(zhàn)案例...

關(guān)鍵字: 內(nèi)存映射 I/O操作 嵌入式系統(tǒng)

在嵌入式系統(tǒng)開發(fā)和多線程編程中,程序崩潰、內(nèi)存越界等復(fù)雜問題常令開發(fā)者困擾。GDB作為強大的調(diào)試工具,其條件斷點和內(nèi)存查看功能可精準(zhǔn)定位隱蔽缺陷。本文通過實際案例演示這些高級功能的應(yīng)用,幫助開發(fā)者提升調(diào)試效率。

關(guān)鍵字: GDB 嵌入式系統(tǒng)
關(guān)閉