那曲檬骨新材料有限公司

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)試嵌入式系統(tǒng)軟件的硬件仿真

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Lauro Rizzatti ? 2022-06-19 15:30 ? 次閱讀

在當(dāng)今競(jìng)爭(zhēng)激烈的環(huán)境中,將富含嵌入式軟件的復(fù)雜電子設(shè)備更快地推向市場(chǎng),同時(shí)使它們更便宜、更可靠是一個(gè)非常冒險(xiǎn)的提議。

不徹底測(cè)試硬件設(shè)計(jì)不可避免地會(huì)導(dǎo)致重新設(shè)計(jì),增加設(shè)計(jì)成本并延長(zhǎng)網(wǎng)表到布局過程的交付時(shí)間,并最終延遲上市時(shí)間,從而對(duì)收入流產(chǎn)生破壞性影響。缺少市場(chǎng)窗口的更顯著結(jié)果隱藏在嵌入式軟件的后期測(cè)試中。

毫不奇怪,項(xiàng)目周期的驗(yàn)證部分占用了不成比例的大量進(jìn)度。這是因?yàn)楦櫤拖e(cuò)誤并非易事,尤其是當(dāng)片上系統(tǒng) (SoC) 的軟件內(nèi)容以每年大約2 0 0 %的速度增長(zhǎng)時(shí)。相比之下,設(shè)計(jì)中硬件部分的增長(zhǎng)僅為5 0 %左右。

硬件仿真作為系統(tǒng)驗(yàn)證的基礎(chǔ)

雖然虛擬原型和現(xiàn)場(chǎng)可編程門陣列 (FPGA) 原型在早期嵌入式軟件測(cè)試中受到關(guān)注,但它們無法幫助實(shí)現(xiàn)軟硬件的集成。前者缺乏跟蹤硬件錯(cuò)誤所需的硬件準(zhǔn)確性。后者提供了快速放大錯(cuò)誤所需的有限硬件調(diào)試功能。

因此,開發(fā)團(tuán)隊(duì)和項(xiàng)目經(jīng)理已將硬件仿真作為其驗(yàn)證策略的基礎(chǔ)。仿真是一種多功能驗(yàn)證工具,具有許多相關(guān)優(yōu)勢(shì),包括硬件/軟件協(xié)同驗(yàn)證,或測(cè)試硬件和軟件集成的能力。軟件開發(fā)人員已經(jīng)注意到了,因?yàn)樗俏ㄒ荒軌虼_保嵌入式系統(tǒng)軟件與底層硬件正常工作的驗(yàn)證工具。同樣值得注意的是,對(duì)于致力于調(diào)試復(fù)雜 SoC 設(shè)計(jì)的硬件工程師來說,它可以將軟件錯(cuò)誤跟蹤到硬件或軟件行為中的硬件錯(cuò)誤。其他好處包括它的快速編譯能力,軟件驗(yàn)證的另一個(gè)優(yōu)點(diǎn),全面的設(shè)計(jì)調(diào)試和可擴(kuò)展性,以適應(yīng)包含超過 10 億個(gè)專用集成電路ASIC) 門的設(shè)計(jì)。此外,它可以高速處理數(shù)十億個(gè)驗(yàn)證周期,以驗(yàn)證嵌入式軟件和執(zhí)行系統(tǒng)驗(yàn)證。

過去,硬件調(diào)試和測(cè)試是項(xiàng)目周期驗(yàn)證部分的唯一原因,這是由硬件描述語言 (HDL) 測(cè)試臺(tái)驅(qū)動(dòng)的邏輯仿真管理的。傳統(tǒng)的 big-box 仿真僅用于最大的設(shè)計(jì)。許多開發(fā)團(tuán)隊(duì)已采用形式驗(yàn)證來補(bǔ)充模擬,增加基本覆蓋范圍并確保不會(huì)遺漏一些極端情況。然而,只有硬件仿真才能在實(shí)際時(shí)間內(nèi)完成 SoC 設(shè)計(jì)的整個(gè)驗(yàn)證任務(wù),并緩解與基于事件的仿真相關(guān)的運(yùn)行時(shí)問題。

一切都與軟件內(nèi)容有關(guān)

SoC 的軟件內(nèi)容使聯(lián)合驗(yàn)證成為驗(yàn)證策略中最重要的部分,因?yàn)樗_認(rèn)嵌入式 SoC 的硬件和軟件部分同時(shí)驗(yàn)證并在提交到芯片之前正確交互。

過去,如果設(shè)計(jì)流片到芯片上后出現(xiàn)硬件問題,軟件開發(fā)人員必須盡可能地解決如何圍繞它編寫代碼。通過在 SoC 完成之前驗(yàn)證軟件,設(shè)計(jì)團(tuán)隊(duì)有機(jī)會(huì)在硬件問題被安裝到芯片之前修復(fù)它們。如前所述,仿真檢查以確保嵌入式軟件根據(jù)規(guī)范在支持硬件上運(yùn)行。

過去,軟件調(diào)試是使用各種調(diào)試引擎完成的。每個(gè)內(nèi)核一個(gè),他們利用了硬件功能,這些功能提供了對(duì)處理器內(nèi)部工作的可見性和控制。雖然提供了一些調(diào)試功能,但診斷問題的能力受到處理器提供的訪問類型的限制。此外,由于傳統(tǒng)的軟件調(diào)試通常發(fā)生在實(shí)際系統(tǒng)上,因此軟件開發(fā)人員正在以目標(biāo)系統(tǒng)速度在真實(shí)硬件上執(zhí)行真實(shí)代碼。這使他們能夠通過大量代碼快速找到錯(cuò)誤例程。

這些傳統(tǒng)技術(shù)在調(diào)試 SoC 時(shí)會(huì)失效。因?yàn)闆]有真正的硬件,代碼不能以真正的系統(tǒng)速度執(zhí)行。假設(shè),可以在執(zhí)行代碼時(shí)模擬硬件,并且所有硬件可見性都將由模擬器提供。問題在于速度——這是一種調(diào)試代碼的緩慢方式。

例如,如果 SoC 設(shè)計(jì)為在 Linux 上運(yùn)行程序,則軟件開發(fā)人員必須以數(shù)十億個(gè)時(shí)鐘周期完成 Linux 啟動(dòng),然后軟件才能開始執(zhí)行。粗略的估計(jì)是,使用大約1 0赫茲(Hz) 的典型模擬速度完成Linux引導(dǎo)需要超過2 8 年的時(shí)間。

不管是硬件調(diào)試還是軟件調(diào)試,傳統(tǒng)的硬件和軟件調(diào)試工具是互不相識(shí)的。對(duì)于大型且復(fù)雜的 SoC 設(shè)計(jì),單獨(dú)進(jìn)行兩種類型的調(diào)試以嘗試定位問題是低效的。

讓兩者一起工作是理想的場(chǎng)景,而這正是仿真節(jié)省時(shí)間的地方。SoC 硬件在硬件中實(shí)現(xiàn),通常是 FPGA 或其他一些可編程元件,使其速度更快。使用此設(shè)置,Linux 啟動(dòng)可以在1 5分鐘內(nèi)完成,具體取決于運(yùn)行的實(shí)際速度。硬件仿真提供與具有斷點(diǎn)和波形的硬件調(diào)試器類似的控制和可見性。

確認(rèn) SoC 設(shè)計(jì)將按預(yù)期工作

硬件仿真以其高性能與其他驗(yàn)證工具區(qū)分開來——這是由軟件需求驅(qū)動(dòng)的日益重要的需求。它能夠確認(rèn) SoC 設(shè)計(jì)將按計(jì)劃工作,并且適合處理復(fù)雜的設(shè)計(jì),這些設(shè)計(jì)可大至 10 億個(gè) ASIC 等效門,并且每月消耗超過 1 萬億個(gè)驗(yàn)證周期。即便如此,在此階段使用硬件仿真進(jìn)行徹底和詳盡的功能驗(yàn)證仍然是可用的最具成本效益和最有效的調(diào)試方法。

交易級(jí)建模 (TLM) 的引入和交易者的可用性可以將硬件仿真轉(zhuǎn)變?yōu)橐幌盗写怪笔袌?chǎng)的虛擬平臺(tái)測(cè)試環(huán)境。交易者是驗(yàn)證知識(shí)產(chǎn)權(quán) (IP) 組合的一部分,是外圍功能或協(xié)議的高級(jí)抽象模型。交易者,通常作為現(xiàn)成的 IP 提供,可用于各種不同的協(xié)議。典型目錄包括 PCIe、USB、FireWire、以太網(wǎng)、數(shù)字視頻、RGB、HDMII2CUART 和 JTAG 組件。

更好地驗(yàn)證更復(fù)雜的系統(tǒng)

以前,硬件設(shè)計(jì)獨(dú)立于要在這些芯片上執(zhí)行的軟件的創(chuàng)建。情況不再如此。由于 SoC 的處理器數(shù)量翻了一番,并且每一代產(chǎn)品包含的軟件內(nèi)容增加了一倍,因此對(duì)軟件的關(guān)注成為開發(fā)團(tuán)隊(duì)和項(xiàng)目經(jīng)理的首要任務(wù)。現(xiàn)在,在開發(fā)團(tuán)隊(duì)證明預(yù)期的軟件可以在硬件平臺(tái)上運(yùn)行之前,SoC 是不完整的。

SoC 是一個(gè)成熟的嵌入式系統(tǒng),需要硬件仿真來驗(yàn)證它是否正常工作。借助硬件仿真,開發(fā)團(tuán)隊(duì)可以更有策略地規(guī)劃并實(shí)施基于多個(gè)抽象級(jí)別的調(diào)試方法。他們可以同時(shí)跟蹤硬件和嵌入式軟件之間的錯(cuò)誤,以確定問題所在。在此過程中,他們以經(jīng)濟(jì)高效的方式節(jié)省了時(shí)間,大大降低了錯(cuò)過市場(chǎng)窗口的風(fēng)險(xiǎ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)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1630

    文章

    21796

    瀏覽量

    605983
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5460

    瀏覽量

    172718
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4204

    瀏覽量

    219082
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何提高嵌入式代碼質(zhì)量?

    的情況下也必須保持穩(wěn)定的性能。 3. 硬件依賴:嵌入式軟件緊密依賴硬件平臺(tái),需要充分理解硬件特性才能編寫高效且穩(wěn)定的代碼。 了解這些特點(diǎn)有助
    發(fā)表于 01-15 10:48

    嵌入式工程師常用的開發(fā)工具有哪些?

    仿真器可以模擬復(fù)雜的微控制器和外設(shè),幫助工程師在早期階段進(jìn)行軟件開發(fā)和調(diào)試。這大大縮短了開發(fā)周期,降低了開發(fā)成本。 總之,嵌入式工程師需要熟練掌握這些開發(fā)工具,才能在
    發(fā)表于 12-20 15:29

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開發(fā)常見問題解決

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)是專為特定應(yīng)用設(shè)計(jì)的計(jì)算機(jī)系統(tǒng),它們通常
    的頭像 發(fā)表于 12-09 09:38 ?416次閱讀

    【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗(yàn)】+ Hypervisor應(yīng)用場(chǎng)景調(diào)研

    ,比如系統(tǒng)軟件和應(yīng)用軟件自身的漏洞、病毒和網(wǎng)絡(luò)攻擊、以及人為操作導(dǎo)致的破壞,Hypervisor的出現(xiàn)就是為了構(gòu)建高可靠性的嵌入式系統(tǒng),原來如此??! 讀到這里,我感覺Hyperviso
    發(fā)表于 10-14 11:21

    嵌入式系統(tǒng)硬件架構(gòu)

    嵌入式系統(tǒng)是一種專用的計(jì)算機(jī)系統(tǒng),它以應(yīng)用為中心,以現(xiàn)代計(jì)算機(jī)技術(shù)為基礎(chǔ),能夠根據(jù)用戶的具體需求(如功能、可靠性、成本、體積、功耗、環(huán)境等)靈活裁剪軟硬件模塊。這類
    的頭像 發(fā)表于 09-29 16:29 ?494次閱讀

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

    編寫、編譯和調(diào)試嵌入式系統(tǒng)軟件。它提供了一個(gè)集成的開發(fā)環(huán)境(IDE),包括代碼編輯器、編譯器、調(diào)試器和仿真器等組件,這些組件可以方便地進(jìn)行配
    發(fā)表于 09-09 15:22

    嵌入式系統(tǒng)怎么學(xué)?

    系統(tǒng)設(shè)計(jì)與調(diào)試:需要掌握嵌入式系統(tǒng)的設(shè)計(jì)方法和調(diào)試技術(shù),包括硬件設(shè)計(jì)、
    發(fā)表于 07-02 10:10

    如何提升嵌入式編程能力?

    、SPI、CAN、WIFI、MQTT等多種通信協(xié)議。 4. 使用開發(fā)工具:熟練掌握嵌入式開發(fā)工具,如編譯器、調(diào)試器、仿真器和實(shí)時(shí)操作系統(tǒng)(RTOS)。 5. 閱讀數(shù)據(jù)手冊(cè):仔細(xì)閱讀你所
    發(fā)表于 06-21 10:01

    嵌入式系統(tǒng)基礎(chǔ)

    嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。 它由
    的頭像 發(fā)表于 06-19 09:10 ?521次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>基礎(chǔ)

    嵌入式硬件VS軟件,到底哪個(gè)更難?

    嵌入式系統(tǒng)開發(fā)中,硬件軟件是密不可分的兩個(gè)方面。但是,究竟是硬件開發(fā)更具挑戰(zhàn)性,還是軟件開發(fā)
    的頭像 發(fā)表于 06-13 08:10 ?1326次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>硬件</b>VS<b class='flag-5'>軟件</b>,到底哪個(gè)更難?

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

    軟件工程師的職責(zé)嵌入式軟件工程師的主要職責(zé)是為嵌入式系統(tǒng)編寫和調(diào)試代碼,確保
    的頭像 發(fā)表于 06-05 08:10 ?1284次閱讀
    從事<b class='flag-5'>嵌入式</b>方向,一定要軟<b class='flag-5'>硬件</b>通吃?

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    嵌入式軟件工程師和硬件工程師的區(qū)別? 嵌入式軟件工程師 嵌入式
    發(fā)表于 05-16 11:00

    嵌入式系統(tǒng)硬件基礎(chǔ)知識(shí)大全

    嵌入式系統(tǒng)是現(xiàn)代科技發(fā)展的一個(gè)重要分支,廣泛應(yīng)用于工業(yè)控制、消費(fèi)電子、醫(yī)療設(shè)備、汽車電子等領(lǐng)域。本文試圖全面解析嵌入式系統(tǒng)的軟基礎(chǔ)知識(shí),以期
    發(fā)表于 05-09 14:12

    JTAG在整個(gè)嵌入式系統(tǒng)開發(fā)生命周期中的系統(tǒng)調(diào)試和測(cè)試中的作用

    時(shí)代變了。如今,內(nèi)存空間和高CPU時(shí)鐘頻率“幾乎”。設(shè)計(jì)、調(diào)試和測(cè)試挑戰(zhàn)已經(jīng)從硬件組件集成和調(diào)試發(fā)展到系統(tǒng)硬件設(shè)計(jì)的
    發(fā)表于 05-03 10:13 ?502次閱讀
    JTAG在整個(gè)<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>開發(fā)生命周期中的<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>調(diào)試</b>和測(cè)試中的作用

    嵌入式軟件開發(fā)應(yīng)該掌握哪些知識(shí)?

    嵌入式軟件開發(fā)應(yīng)該掌握哪些知識(shí)? 一、 什么是嵌入式軟件嵌入式軟件通常是指
    發(fā)表于 02-19 11:23
    百家乐官网园千术大全| 百家乐官网最常见的路子| 网上百家乐投注技巧| 长乐坊娱乐城| 百家乐真人游戏娱乐| 如何打百家乐官网的玩法技巧和规则| 博彩开户| 威尼斯人娱乐城信誉怎样| 百家乐官网筹码片| 百家乐官网大眼仔小路| 棋牌小游戏| 乐天堂百家乐娱乐网| 澳门百家乐官网群代理| 百家乐官网路单规则| 威尼斯人娱乐城| 太阳城橙翠园| 百家乐路珠价格| 百家乐赢钱皇冠| 百家乐官网打闲赢机会多| 太阳城娱乐开户| 百家乐都是什么人玩的| 最大的百家乐网站| 百家乐是咋玩法| 玩百家乐官网有何技巧| 百家乐官网真人百家乐官网皇冠开户 | 免费玩百家乐官网的玩法技巧和规则| 百家乐官网视频看不到| 大富豪国际娱乐城| 现金棋牌网站| 大发888注册账号| 玩百家乐都是什么人| 百家乐分析博彩正网| 金世豪百家乐官网的玩法技巧和规则| 大发888官方正版网| 百家乐真人玩下载| 中国百家乐软件| 百家乐笑话| 澳门百家乐战法| 半圆百家乐桌布| 广州百家乐赌场娱乐网规则| 百家乐在线娱乐场|