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

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

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

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

在硬件/軟件接口調(diào)試

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Frank Schirrmeister , ? 2022-07-09 06:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

雖然硬件/軟件接口的設(shè)計(jì)問題已經(jīng)討論了十年的大部分時(shí)間,但當(dāng)今應(yīng)用程序驅(qū)動(dòng)設(shè)計(jì)中軟件內(nèi)容的增加使這些問題——特別是軟件對(duì)硬件和有效分區(qū)的依賴性——成為了新的緊迫性。過去,軟件開發(fā)人員使用連接到原型板的嵌入式軟件調(diào)試器以獨(dú)立于硬件的“外圍盲區(qū)”方式執(zhí)行調(diào)試任務(wù)。這提供了對(duì)處理器的深入了解,但幾乎沒有關(guān)于周圍外圍設(shè)備和片上互連結(jié)構(gòu)的信息。相比之下,硬件開發(fā)人員專注于寄存器和片上系統(tǒng) (SoC) 互連中的低級(jí)效應(yīng),這些效應(yīng)每年都變得越來越復(fù)雜。

在考慮調(diào)試挑戰(zhàn)時(shí),必須評(píng)估片上和系統(tǒng)內(nèi)效應(yīng)。在開發(fā)階段需要進(jìn)行片上調(diào)試,以確保芯片本身正常工作。系統(tǒng)內(nèi)效應(yīng)與芯片在其環(huán)境中的行為方式有關(guān)。如果要在芯片開發(fā)期間考慮影響,則調(diào)試系統(tǒng)內(nèi)影響需要對(duì)環(huán)境進(jìn)行復(fù)雜建模,或者在芯片可用后控制實(shí)際環(huán)境。

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

圖 1:典型的基于 ARM 內(nèi)核的 SoC 存在調(diào)試挑戰(zhàn),例如同步調(diào)試多個(gè)內(nèi)核。

pYYBAGLCqhKANw4mAAP9L5kBhcs244.png

相比之下,圖 2 在其系統(tǒng)環(huán)境中顯示了相同的 SoC。SoC 和實(shí)際系統(tǒng)外圍設(shè)備之間的連接建立在 PCB 上,并且通?;?DigRF、MIPIUSB 等標(biāo)準(zhǔn)?,F(xiàn)在,調(diào)試挑戰(zhàn)從片上區(qū)域轉(zhuǎn)移到芯片在其環(huán)境中的行為方式。例如,圖形引擎生成的幀是否被外部顯示器正確顯示?各種片外和系統(tǒng)內(nèi)效應(yīng)需要與片上效應(yīng)一起考慮,因?yàn)樗鼈兺ǔ?huì)驅(qū)動(dòng)圖形內(nèi)容和控制。

圖 2:系統(tǒng)環(huán)境中的 SoC 對(duì)芯片在其環(huán)境中的行為方式提出了調(diào)試挑戰(zhàn)。

poYBAGLCqhqAPGg8AAUzG2ceeOo200.png

硬件/軟件集成和調(diào)試方法

在開發(fā)流程中,設(shè)計(jì)團(tuán)隊(duì)使用多種技術(shù)來實(shí)現(xiàn)軟件調(diào)試和硬件/軟件集成。

一旦所有芯片都可用并集成后,硬件團(tuán)隊(duì)通常會(huì)構(gòu)建有限數(shù)量的原型板,以便軟件開發(fā)人員可以開始在設(shè)備上構(gòu)建他們的代碼。在產(chǎn)品發(fā)布并激增后,這些原型板通常被稱為開發(fā)套件。它們以實(shí)時(shí)速度運(yùn)行并且完全準(zhǔn)確。調(diào)試器通過 JTAG(邊界掃描)接口連接到這些板。這種類型的軟件調(diào)試非常普遍且易于理解,但也有其挑戰(zhàn),因?yàn)閷?duì)硬件深度的訪問受限于實(shí)現(xiàn)的片上儀器的級(jí)別。

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

硬件仿真器甚至可以在設(shè)計(jì)流程的早期使用,它們?cè)?MHz 速度范圍內(nèi)執(zhí)行正在開發(fā)的芯片或其子集。它們提供快速啟動(dòng)(與基于 FPGA 的原型設(shè)計(jì)相比,后者需要對(duì)實(shí)現(xiàn)硬件的代碼進(jìn)行更多修改)和更好的硬件/軟件調(diào)試,因?yàn)橛布?a target="_blank">仿真器的很大一部分專用于調(diào)試和控制設(shè)計(jì)。然而,當(dāng)今仿真器的大小和價(jià)格限制了它們被大量軟件開發(fā)人員復(fù)制的能力。

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

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

最后,軟件開發(fā)工具包 (SDK) 通常是最早可用的開發(fā)平臺(tái)。像 Apple iPhone SDK 或 Android SDK 這樣的 SDK 使許多軟件開發(fā)人員能夠?yàn)榉浅3橄蟮挠布帉懘a,因此無法調(diào)試。在 SDK 上開發(fā)的代碼通常需要重新編譯才能在實(shí)際設(shè)備上運(yùn)行,這與前面提到的虛擬原型和其他引擎不同,后者加載 .elf 文件并運(yùn)行稍后在硬件目標(biāo)上執(zhí)行的相同二進(jìn)制代碼。

跨執(zhí)行引擎進(jìn)行調(diào)試

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

使用原型板,即使不是不可能,也很困難。如果斷點(diǎn)觸發(fā)了一個(gè)處理器的軟件并導(dǎo)致其停止,則所有其他處理器繼續(xù)執(zhí)行,從而改變斷點(diǎn)發(fā)生的環(huán)境狀態(tài)。相比之下,使用虛擬原型,所有參與元素(即所有處理器和硬件模塊)都可以在斷點(diǎn)發(fā)生時(shí)準(zhǔn)確停止,從而實(shí)現(xiàn)高效的硬件/軟件調(diào)試。

此外,當(dāng)開發(fā)人員在實(shí)際硬件或老一代虛擬原型上工作時(shí),他們會(huì)看到各種不同步的調(diào)試器窗口?,F(xiàn)代虛擬原型允許用戶通過抽象層有效地集成來自不同供應(yīng)商的處理器模型,從而在單一、統(tǒng)一的環(huán)境中實(shí)現(xiàn)完全同步的調(diào)試和分析。

另一個(gè)在實(shí)際開發(fā)板上難以分析的影響是根據(jù)硬件所處的狀態(tài)而必須停止軟件。在仿真器、RTL 模擬器和虛擬原型的世界中,硬件調(diào)試是先進(jìn)的,兩者硬件和軟件可以根據(jù)表示硬件內(nèi)狀態(tài)或狀態(tài)轉(zhuǎn)換的斷點(diǎn)有效地停止 - 例如達(dá)到特定的計(jì)數(shù)器值或通過總線發(fā)送的特定事務(wù)。

每當(dāng)涉及基于軟件的硬件執(zhí)行時(shí),軟件調(diào)試也可以與不同硬件抽象級(jí)別的混合有效地同步。這在衍生項(xiàng)目開始時(shí)很有價(jià)值,因?yàn)樾碌挠布M件在事務(wù)級(jí)別作為高度抽象的模型可用,而不是在 RTL 上實(shí)現(xiàn)的硬件。

全面了解硬件/軟件

現(xiàn)代軟件的復(fù)雜性及其對(duì)執(zhí)行它的硬件的依賴性使得延遲調(diào)試和硬件/軟件集成,直到所有芯片都可用并集成到 PCB 上是不可行的。芯片和系統(tǒng)開發(fā)團(tuán)隊(duì)可以使用多個(gè)執(zhí)行引擎,但這些引擎的開發(fā)和調(diào)試軟件能力差異很大。圖 3 顯示了之前介紹的芯片和電路板與引擎相結(jié)合以執(zhí)行正在開發(fā)的芯片以及與硬件/軟件調(diào)試的連接。

圖 3:結(jié)合 SoC 和電路板的硬件/軟件執(zhí)行引擎在芯片開發(fā)過程中執(zhí)行芯片。

poYBAGLCqiKALrzrAATk0JVGEuw232.png

Debug 有幾個(gè)層次,通常構(gòu)建在 Eclipse 等集成開發(fā)環(huán)境 (IDE) 上。用戶需要調(diào)試實(shí)際的硬件、操作系統(tǒng)之外的裸機(jī)軟件執(zhí)行、硬件和軟件的結(jié)合以及整個(gè)系統(tǒng)的性能。

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

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

審核編輯:郭婷

聲明:本文內(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)投訴
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4392

    瀏覽量

    222800
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7152

    瀏覽量

    125610
  • JTAG
    +關(guān)注

    關(guān)注

    6

    文章

    404

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    單板布局空閑受限,TC397的OCDS1和DAP 2個(gè)接口 是否可以只留DAP接口來進(jìn)行調(diào)試和燒錄軟件

    您好,單板布局空閑受限,TC397的OCDS1和DAP 2個(gè)接口 是否可以只留DAP接口來進(jìn)行調(diào)試和燒錄軟件
    發(fā)表于 07-14 07:27

    解鎖CAN接口開發(fā)高效路徑!五個(gè)核心要點(diǎn)一次講透

    高效開發(fā)CAN接口,關(guān)鍵在于把握協(xié)議基礎(chǔ)、硬件適配、錯(cuò)誤管理、性能優(yōu)化與調(diào)試五大核心要點(diǎn)。下面將逐一剖析每個(gè)環(huán)節(jié)的技術(shù)細(xì)節(jié)與實(shí)踐方法,助力開發(fā)者快速突破難點(diǎn),實(shí)現(xiàn)可靠通信。 Air7
    的頭像 發(fā)表于 06-23 16:08 ?163次閱讀
    解鎖CAN<b class='flag-5'>接口</b>開發(fā)高效路徑!五個(gè)核心要點(diǎn)一次講透

    普源示波器MSO5074嵌入式系統(tǒng)聯(lián)合調(diào)試中的高效實(shí)踐

    一、引言:嵌入式系統(tǒng)調(diào)試的挑戰(zhàn)與示波器的必要性 嵌入式系統(tǒng)作為核心控制單元廣泛應(yīng)用于汽車、醫(yī)療設(shè)備、工業(yè)自動(dòng)化等領(lǐng)域,其開發(fā)涉及硬件設(shè)計(jì)、軟件編程及實(shí)時(shí)調(diào)試等多個(gè)環(huán)節(jié)。傳統(tǒng)的
    的頭像 發(fā)表于 06-20 13:45 ?174次閱讀
    普源示波器MSO5074<b class='flag-5'>在</b>嵌入式系統(tǒng)聯(lián)合<b class='flag-5'>調(diào)試</b>中的高效實(shí)踐

    硬件調(diào)試:JLink 驅(qū)動(dòng)配置與調(diào)試技巧

    摘要: 本文深入探討了 JLink 調(diào)試嵌入式系統(tǒng)硬件調(diào)試中的應(yīng)用,詳細(xì)闡述了 JLink 驅(qū)動(dòng)配置的方法以及硬件
    的頭像 發(fā)表于 06-12 23:20 ?506次閱讀
    <b class='flag-5'>硬件</b><b class='flag-5'>調(diào)試</b>:JLink 驅(qū)動(dòng)配置與<b class='flag-5'>調(diào)試</b>技巧

    mimxrt1170_evk調(diào)試hello_world出現(xiàn)硬件傳輸錯(cuò)誤怎么解決?

    我按照視頻 cm7 中調(diào)試hello_world示例,我的鏈接服務(wù)器正在運(yùn)行, debug prove 的 FW 也是最新的。 但是我仍然收到這個(gè)錯(cuò)誤。 16:status-poll 中的目標(biāo)
    發(fā)表于 03-25 07:31

    軟件芯片設(shè)計(jì)中有什么作用

    ? 本文主要介紹軟件芯片設(shè)計(jì)中的作用 芯片設(shè)計(jì)中,軟件扮演著非常重要的角色,它不僅幫助芯片設(shè)計(jì)驗(yàn)證和調(diào)試,還在芯片的實(shí)際應(yīng)用過程中提供了
    的頭像 發(fā)表于 02-09 09:43 ?822次閱讀

    Dali通信系統(tǒng)的調(diào)試指南

    的是要完全理解Dali通信系統(tǒng)的架構(gòu)。這包括了解其硬件組件、軟件模塊、協(xié)議棧以及它們之間的交互方式。 2. 準(zhǔn)備調(diào)試環(huán)境 硬件連接 :確保所有硬件
    的頭像 發(fā)表于 01-10 10:47 ?979次閱讀

    RAID 5 硬件軟件 RAID 的區(qū)別

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

    是德示波器音頻設(shè)備調(diào)試中的作用

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

    raid 硬件軟件的區(qū)別

    現(xiàn)代數(shù)據(jù)中心和企業(yè)級(jí)存儲(chǔ)解決方案中,RAID技術(shù)扮演著至關(guān)重要的角色。它通過將多個(gè)物理磁盤組合成一個(gè)邏輯單元,提供了數(shù)據(jù)冗余、性能提升和容錯(cuò)能力。RAID的實(shí)現(xiàn)方式主要分為硬件RAID和軟件
    的頭像 發(fā)表于 11-12 09:39 ?1687次閱讀

    如何進(jìn)行硬件調(diào)試?

    硬件調(diào)試硬件系統(tǒng)設(shè)計(jì)、開發(fā)和制造過程中不可或缺的一環(huán),旨在對(duì)可能出現(xiàn)的問題進(jìn)行分析和解決。以下是進(jìn)行硬件調(diào)試的一般步驟和方法: 一、準(zhǔn)備階
    的頭像 發(fā)表于 11-10 10:17 ?2282次閱讀
    如何進(jìn)行<b class='flag-5'>硬件</b><b class='flag-5'>調(diào)試</b>?

    接口的控制與狀態(tài)寄存器什么作用

    的行為并獲取硬件的狀態(tài)信息。 接口的控制與狀態(tài)寄存器的作用 現(xiàn)代計(jì)算機(jī)系統(tǒng)中,硬件設(shè)備與軟件之間的交互是通過一系列的
    的頭像 發(fā)表于 10-17 10:42 ?1531次閱讀

    微機(jī)中io接口位于什么之間

    /O接口的設(shè)計(jì)和實(shí)現(xiàn)涉及到多個(gè)層面,包括硬件設(shè)計(jì)、軟件驅(qū)動(dòng)、協(xié)議標(biāo)準(zhǔn)等。 1. I/O接口的基本概念 I/O接口是計(jì)算機(jī)系統(tǒng)中的一個(gè)關(guān)鍵組件
    的頭像 發(fā)表于 10-14 14:03 ?2287次閱讀

    TI低功率Smart PA調(diào)試系列之一:揚(yáng)聲器工作原理及軟件調(diào)試入門

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

    揭秘:?jiǎn)纹瑱C(jī)硬件軟件延時(shí)之大不同!

    嵌入式項(xiàng)目中,軟件開發(fā)基本上都會(huì)使用到延時(shí),那么,該用軟件延時(shí)還是硬件延時(shí)?它們又有什么區(qū)別呢?今天就來講講關(guān)于硬件延時(shí)和
    的頭像 發(fā)表于 07-25 08:11 ?1391次閱讀
    揭秘:?jiǎn)纹瑱C(jī)<b class='flag-5'>硬件</b>與<b class='flag-5'>軟件</b>延時(shí)之大不同!