衡阳派盒市场营销有限公司

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

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

3天內不再提示

在硬件/軟件接口調試

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Frank Schirrmeister, ? 2022-06-19 07:36 ? 次閱讀

雖然硬件/軟件接口的設計問題已經討論了 10 年的大部分時間,但當今應用程序驅動設計中軟件內容的增加已經給這些問題帶來了新的緊迫性——特別是軟件對硬件和高效分區的依賴。過去,軟件開發人員使用連接到原型板的嵌入式軟件調試器以獨立于硬件的“外圍盲區”方式執行調試任務。這提供了對處理器的深入了解,但幾乎沒有關于周圍外圍設備和片上互連結構的信息。相比之下,硬件開發人員專注于寄存器和片上系統 (SoC) 互連中的低級效應,這些效應每年都變得越來越復雜。

在考慮調試挑戰時,必須評估片上和系統內效應。在開發階段需要進行片上調試,以確保芯片本身正常工作。系統內效應與芯片在其環境中的行為方式有關。如果要在芯片開發期間考慮影響,則調試系統內影響需要對環境進行復雜建模,或者在芯片可用后控制實際環境。

圖 1 顯示了一個典型的基于 ARM 內核的 SoC,其處理器子系統包含各種處理器,這些處理器通過連貫的結構連接到芯片的其余部分。SoC 還包含用于 3D 圖形、數字信號處理、專用專用硬件加速器、低速外設和高速接口的定制應用特定組件。調試挑戰包括同步調試多個內核、確保 IP 塊集成正常工作、調試 AMBA 4 AXI 一致性擴展 (ACE) 協議等協議,以及調試整個芯片互連。

圖 1:典型的基于 ARM 內核的 SoC 存在調試挑戰,例如同步調試多個內核。

pYYBAGKsS0aAPlW3AAP8HBXdvdE081.png

相比之下,圖 2 在其系統環境中顯示了相同的 SoC。SoC 和實際系統外圍設備之間的連接建立在 PCB 上,并且通常基于 DigRF、MIPIUSB 等標準。現在,調試挑戰從片上區域轉移到芯片在其環境中的行為方式。例如,圖形引擎生成的幀是否被外部顯示器正確顯示?各種片外和系統內效應需要與片上效應一起考慮,因為它們通常會驅動圖形內容和控制。

圖 2:系統環境中的 SoC 對芯片在其環境中的行為方式提出了調試挑戰。

poYBAGKsS0-AJdbTAAU1c-4qO8U543.png

硬件/軟件集成和調試方法

在開發流程中,設計團隊使用多種技術來實現軟件調試和硬件/軟件集成。

一旦所有芯片都可用并集成后,硬件團隊通常會構建有限數量的原型板,以便軟件開發人員可以開始在設備上構建他們的代碼。在產品發布并激增后,這些原型板通常被稱為開發套件。它們以實時速度運行并且完全準確。調試器通過 JTAG(邊界掃描)接口連接到這些板。這種類型的軟件調試非常普遍且易于理解,但也有其挑戰,因為對硬件深度的訪問受限于實現的片上儀器的級別。

將集成到板上的基于 FPGA 的芯片原型可以在硅片之前幾個月提供。這些原型在數十 MHz 范圍內運行,硬件精確,并且通常只有在穩定的寄存器傳輸語言 (RTL) 代碼可用后才能使用。它們允許有限的調試功能。與軟件調試器的連接通常通過 JTAG 建立,但設計人員可以使用調試信息增強 RTL,以啟用硬件/軟件調試和分析。根據原型,可以將芯片連接到環境;經常需要使用速度適配器,或者需要降低環境速度以匹配原型速度。

硬件仿真器甚至可以在設計流程的早期使用,它們在 MHz 速度范圍內執行正在開發的芯片或其子集。它們提供快速啟動(與基于 FPGA 的原型設計相比,后者需要對實現硬件的代碼進行更多修改)和更好的硬件/軟件調試,因為硬件仿真器的很大一部分專用于調試和控制設計。然而,當今仿真器的大小和價格限制了它們被大量軟件開發人員復制的能力。

RTL 仿真是第一個可以滿足精確硬件和軟件的執行環境。它提供了出色的硬件調試能力,但由于它運行在 KHz 范圍內,它在軟件開發和軟硬件集成方面的適用性非常有限。RTL 專注于硬件驗證,傳統上僅用于非常低級的裸機軟件開發。鑒于現代片上和片外接口的復雜性,商業驗證 IP(提供預定義的測試模式以檢查接口正確性)可以在片上和系統內使用。

使用不太準確的抽象硬件模型,正在開發的虛擬芯片平臺可以高速運行,有時在硅片之前 9-12 個月就可以使用。它們使用 GNU 調試器 (GDB) 和周期精確調試接口 (CADI) 等標準接口提供出色的軟件調試功能,以將軟件調試器連接到虛擬化硬件。以后可以在板級使用相同的軟件調試器。根據建模工作,整個芯片及其環境可用于片上和系統內的高級硬件/軟件調試。

最后,軟件開發工具包 (SDK) 通常是最早可用的開發平臺。像 Apple iPhone SDK 或 Android SDK 這樣的 SDK 使許多軟件開發人員能夠為非常抽象的硬件編寫代碼,因此無法調試。在 SDK 上開發的代碼通常需要重新編譯才能在實際設備上運行,這與前面提到的虛擬原型和其他引擎不同,后者加載 .elf 文件并運行相同的二進制代碼,然后在硬件目標上執行。

跨執行引擎進行調試

電子制造商越來越多地跨多個內核分發軟件,以保持在復雜設計的功率范圍內。因此,多核調試已成為更大的挑戰。多核設計的完全同步的異構軟件調試非常適合在所有軟件組件和硬件本身中設置斷點,然后允許檢查狀態、堆棧、軟件中的變量和硬件中的寄存器。

使用原型板,即使不是不可能,也很困難。如果斷點觸發了一個處理器的軟件并導致其停止,則所有其他處理器繼續執行,從而改變斷點發生的環境狀態。相比之下,使用虛擬原型,所有參與元素(即所有處理器和硬件模塊)都可以在斷點發生時準確停止,從而實現高效的硬件/軟件調試。

此外,當開發人員在實際硬件或老一代虛擬原型上工作時,他們會看到各種不同步的調試器窗口。現代虛擬原型允許用戶通過抽象層有效地集成來自不同供應商的處理器模型,從而在單一、統一的環境中實現完全同步的調試和分析。

另一個在實際開發板上難以分析的影響是根據硬件所處的狀態而必須停止軟件。在仿真器、RTL 模擬器和虛擬原型的世界中,硬件調試是先進的,兩者硬件和軟件可以根據表示硬件內狀態或狀態轉換的斷點有效地停止 - 例如達到特定的計數器值或通過總線發送的特定事務。

每當涉及基于軟件的硬件執行時,軟件調試也可以與不同硬件抽象級別的混合有效地同步。這在衍生項目開始時很有價值,因為新的硬件組件在事務級別作為高度抽象的模型可用,而不是在 RTL 上實現的硬件。

全面了解硬件/軟件

現代軟件的復雜性及其對執行它的硬件的依賴性使得延遲調試和硬件/軟件集成,直到所有芯片都可用并集成到 PCB 上是不可行的。芯片和系統開發團隊可以使用多個執行引擎,但這些引擎的開發和調試軟件能力差異很大。圖 3 顯示了之前介紹的芯片和電路板與引擎相結合以執行正在開發的芯片以及與硬件/軟件調試的連接。

圖 3:結合 SoC 和電路板的硬件/軟件執行引擎在芯片開發過程中執行芯片。

poYBAGKsS1iAQqVzAATjsala9JE667.png

Debug 有幾個層次,通常構建在 Eclipse 等集成開發環境 (IDE) 上。用戶需要調試實際硬件、操作系統之外的裸機軟件執行、硬件和軟件的結合以及整個系統的性能。

隨著不同引擎和新一代軟件調試器的混合組合,該行業正在接近一個時代,在這個時代,軟件開發人員可以比以往任何時候都更早地在設計周期中獲得軟件和硬件的完整程序員視圖。

作者:Frank Schirrmeister,Michael (Mac) McNamara,Larry Melling,Neeti Bhatnagar

審核編輯:郭婷

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

    關注

    68

    文章

    19408

    瀏覽量

    231186
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9167

    瀏覽量

    369208
  • 寄存器
    +關注

    關注

    31

    文章

    5363

    瀏覽量

    121166
收藏 人收藏

    評論

    相關推薦

    Dali通信系統的調試指南

    的是要完全理解Dali通信系統的架構。這包括了解其硬件組件、軟件模塊、協議棧以及它們之間的交互方式。 2. 準備調試環境 硬件連接 :確保所有硬件
    的頭像 發表于 01-10 10:47 ?276次閱讀

    RAID 5 硬件軟件 RAID 的區別

    RAID 5硬件RAID與軟件RAID之間存在顯著的差異,這些差異主要體現在實現方式、性能、數據安全性、靈活性以及成本等方面。 一、實現方式 硬件RAID : 依賴于專用的硬件RAID
    的頭像 發表于 12-27 18:05 ?436次閱讀

    是德示波器音頻設備調試中的作用

    是德示波器音頻設備調試中的具體應用,包括信號分析、故障診斷、參數測量等方面。 一、音頻設備調試的挑戰與需求 現代音頻設備,從耳機、音箱到專業音頻接口,其內部電路復雜,涉及模擬和數字信
    的頭像 發表于 11-26 16:48 ?330次閱讀
    是德示波器<b class='flag-5'>在</b>音頻設備<b class='flag-5'>調試</b>中的作用

    如何進行硬件調試

    硬件調試硬件系統設計、開發和制造過程中不可或缺的一環,旨在對可能出現的問題進行分析和解決。以下是進行硬件調試的一般步驟和方法: 一、準備階
    的頭像 發表于 11-10 10:17 ?896次閱讀
    如何進行<b class='flag-5'>硬件</b><b class='flag-5'>調試</b>?

    接口的控制與狀態寄存器什么作用

    的行為并獲取硬件的狀態信息。 接口的控制與狀態寄存器的作用 現代計算機系統中,硬件設備與軟件之間的交互是通過一系列的
    的頭像 發表于 10-17 10:42 ?599次閱讀

    微機中io接口位于什么之間

    /O接口的設計和實現涉及到多個層面,包括硬件設計、軟件驅動、協議標準等。 1. I/O接口的基本概念 I/O接口是計算機系統中的一個關鍵組件
    的頭像 發表于 10-14 14:03 ?839次閱讀

    TI低功率Smart PA調試系列之一:揚聲器工作原理及軟件調試入門

    電子發燒友網站提供《TI低功率Smart PA調試系列之一:揚聲器工作原理及軟件調試入門.pdf》資料免費下載
    發表于 09-26 09:14 ?2次下載
    TI低功率Smart PA<b class='flag-5'>調試</b>系列之一:揚聲器工作原理及<b class='flag-5'>軟件</b><b class='flag-5'>調試</b>入門

    說說硬件調試中發現的那些低級錯誤

    。雖然是傳言甚至戲謔但多少也反應出硬件調試中一些奇怪的問題,有時甚至不以人的意志為轉移。 我們看來,系統性能能否成功無非就是軟件硬件的配
    發表于 07-03 12:02

    說說硬件調試中發現的那些低級錯誤

    硬件調試中會經常遇到各種意想不到的問題,有些調試花了幾個月,各種能想到的辦法都嘗試了,最后發現卻是一個非常低級的錯誤,有多低級?請看今天的內文介紹。
    的頭像 發表于 07-03 12:00 ?426次閱讀
    說說<b class='flag-5'>硬件</b><b class='flag-5'>調試</b>中發現的那些低級錯誤

    從事嵌入式方向,一定要軟硬件通吃?

    軟件工程師的職責嵌入式軟件工程師的主要職責是為嵌入式系統編寫和調試代碼,確保系統按預期工作。他們需要處理底層硬件接口、實時操作系統(RTOS
    的頭像 發表于 06-05 08:10 ?1284次閱讀
    從事嵌入式方向,一定要軟<b class='flag-5'>硬件</b>通吃?

    嵌入式軟件工程師和硬件工程師的區別?

    、機器人等。 定義和工作職責 嵌入式軟件工程師的主要職責包括但不限于:設計、開發、測試和調試嵌入式軟件應用程序,以滿足特定硬件軟件要求。他
    發表于 05-16 11:00

    JTAG整個嵌入式系統開發生命周期中的系統調試和測試中的作用

    時代變了。如今,內存空間和高CPU時鐘頻率“幾乎”。設計、調試和測試挑戰已經從硬件組件集成和調試發展到系統硬件設計的仿真,先于 SOC 流片,再到系統
    發表于 05-03 10:13 ?504次閱讀
    JTAG<b class='flag-5'>在</b>整個嵌入式系統開發生命周期中的系統<b class='flag-5'>調試</b>和測試中的作用

    fpga是硬件還是軟件

    FPGA(現場可編程門陣列)本質上是一種硬件設備,但它在功能實現上結合了硬件軟件的特性。
    的頭像 發表于 03-27 14:14 ?993次閱讀

    fpga是硬件還是軟件

    FPGA(現場可編程門陣列)屬于硬件設備,而不是軟件。它是一種可編程的硬件設備,由大量的邏輯單元、存儲單元和互連資源組成,能夠實現復雜的數字電路和系統設計。
    的頭像 發表于 03-14 17:08 ?2003次閱讀

    SWD接口隔離調試的電路

    軟件工程師里面我的硬件水平最好,調試軟件的時候經常用到RTT打印或者Jscope打印,但是
    的頭像 發表于 03-07 21:19 ?1144次閱讀
    SWD<b class='flag-5'>接口</b>隔離<b class='flag-5'>調試</b>的電路
    太阳城网上娱乐| 报价| 百家乐官网分析绿色版| 利澳百家乐官网娱乐城| 新世纪百家乐现金网| 威尼斯人娱乐城网络百家乐| 连云港市| 百家乐官网象棋玩法| 永利博百家乐现金网| 大发888体育场| 百家乐官网赌场作弊| 恒利百家乐官网的玩法技巧和规则| 百家乐赌博经历| 易发娱乐城| 蓝盾百家乐官网网址| 百家乐五湖四海娱乐场| 百家乐平注常赢玩法| 百家乐官网空调维修| 百家乐娱乐求解答| 百家乐投注| 联合百家乐官网的玩法技巧和规则 | 网络百家乐官网网站| 百家乐赌博程序| 丹巴县| 2024属虎人全年运势| 棋牌新闻| 大发888赌城官方| 百家乐官网鸿泰棋牌| 百家乐视频游戏挖坑| 菲律宾赌球| 百家乐官网路单怎样| 长春百家乐的玩法技巧和规则| 蛟河市| 奔驰百家乐可信吗| 优博娱乐网址| 武汉百家乐官网赌具| 百家乐永利娱乐场开户注册| 百家乐官网什么平台好| 百家乐游戏机路法| 赌百家乐的计划跟策略| 百家乐官网视频二人雀神|