色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

嵌入式MCU調(diào)試過(guò)程中幾種指令跟蹤調(diào)試功能的實(shí)現(xiàn)方式

倩倩 ? 來(lái)源:麥克泰技術(shù) ? 作者:麥克泰技術(shù) ? 2022-08-19 11:17 ? 次閱讀

侵入式調(diào)試和非侵入式調(diào)試

嵌入式應(yīng)用的開(kāi)發(fā)過(guò)程中,需要通過(guò)調(diào)試來(lái)解決程序運(yùn)行過(guò)程中出現(xiàn)的問(wèn)題,根據(jù)是否會(huì)打斷程序的“全速運(yùn)行狀態(tài)”,調(diào)試方式可以分為侵入式調(diào)試和非侵入式調(diào)試兩類。

侵入式調(diào)試手段如下:

? 停機(jī)以及單步執(zhí)行程序

? 硬件斷點(diǎn)和斷點(diǎn)指令(BKPT)

? 變量數(shù)據(jù)觀察點(diǎn)(Watch觀察窗口)

? 訪問(wèn)寄存器的值

? 調(diào)試監(jiān)視器異常

非侵入式調(diào)試手段如下:

? 在內(nèi)核運(yùn)行的時(shí)候訪問(wèn)存儲(chǔ)器

? 指令跟蹤,需要硬件包含指令跟蹤單元(ETM)

通常情況下,我們采用的是侵入式調(diào)試,但這種調(diào)試會(huì)打破程序的全速運(yùn)行狀態(tài)。非侵入式調(diào)試則可以在保證程序全速運(yùn)行的情況下,了解程序運(yùn)行的情況。在調(diào)試大型軟件和RTOS多任務(wù)系統(tǒng),或者與通信時(shí)序相關(guān)的應(yīng)用時(shí)(非侵入式調(diào)試會(huì)破壞通信時(shí)序),應(yīng)用代碼可能突然跑飛或者產(chǎn)生異常中斷,而導(dǎo)致問(wèn)題的原因可能難以發(fā)現(xiàn)。

此時(shí)非侵入式調(diào)試如指令跟蹤這樣的功能就有著不可比擬的作用。指令跟蹤能夠記錄問(wèn)題發(fā)生之前MCU內(nèi)部的指令執(zhí)行歷史記錄,這些信息可以幫助開(kāi)發(fā)者回溯問(wèn)題現(xiàn)場(chǎng)來(lái)準(zhǔn)確定位問(wèn)題發(fā)生的原因。

指令跟蹤的實(shí)現(xiàn)方式

在嵌入式MCU調(diào)試中指令跟蹤存在多種實(shí)現(xiàn)方式,通過(guò)對(duì)比我們將能夠更清楚的了解Segger J-Trace Pro產(chǎn)品流模式指令跟蹤功能的強(qiáng)大之處。

(1)使用MCU片上緩存實(shí)現(xiàn)指令跟蹤

一些MCU內(nèi)部包含指令緩存區(qū)域,緩存區(qū)域依據(jù)不同芯片型號(hào)命名可能有所不同,例如Embedded Trace Buffer(ETB),Micro Trace Buffer(MTB),Embedded Trace FIFO(ETF)等。指令跟蹤記錄被保存在該片上區(qū)域,當(dāng)程序停止運(yùn)行時(shí),PC端調(diào)試軟件讀取該區(qū)域內(nèi)數(shù)據(jù)以獲取指令跟蹤數(shù)據(jù)。

a6288a54-1f6c-11ed-ba43-dac502259ad0.png

使用該方式實(shí)現(xiàn)指令跟蹤存在的限制:

? 片上的緩存空間很小,通常緩存空間大小只有kb級(jí)別

? 只能記錄非常有限的指令執(zhí)行歷史記錄

(2)使用調(diào)試器內(nèi)部緩存進(jìn)行指令跟蹤

另外一種實(shí)現(xiàn)指令跟蹤的方式是調(diào)試器內(nèi)部提供指令緩存空間,緩存空間大小可能為MB到GB級(jí)別,但受限于調(diào)試器本身的硬件實(shí)現(xiàn)成本,調(diào)試器內(nèi)部所能夠提供的緩存空間同樣不會(huì)很大。

a63513c8-1f6c-11ed-ba43-dac502259ad0.png

該方式實(shí)現(xiàn)指令跟蹤存在的限制:

? 片上的緩存空間為MB到GB范圍

? 能記錄有限的指令執(zhí)行歷史,但無(wú)法記錄從應(yīng)用開(kāi)始執(zhí)行到出現(xiàn)異常的全過(guò)程指令記錄

? 通常需要暫停應(yīng)用運(yùn)行后,PC端軟件才會(huì)讀取緩存在調(diào)試器中的Trace數(shù)據(jù)

Segger J-Trace Pro流模式指令跟蹤

前面的兩種實(shí)現(xiàn)方式都因?yàn)榫彺婵臻g大小的影響而有其使用局限性,Segger J-Trace Pro產(chǎn)品則使用流模式的方式解決了前面兩種方式存在的問(wèn)題,能夠給開(kāi)發(fā)者帶來(lái)成熟的指令跟蹤解決方案。J-Trace Pro在SWD/JTAG調(diào)試接口引腳之外,與芯片通過(guò)額外的跟蹤功能引腳連接,包括Trace時(shí)鐘和數(shù)據(jù)傳輸引腳,MCU內(nèi)部ETM模塊中記錄的指令通過(guò)J-Trace Pro以流模式的方式實(shí)時(shí)傳輸?shù)絇C端,此時(shí)指令的緩存空間在PC電腦端,因此最大的緩存空間甚至可以達(dá)到TB級(jí)別,徹底解決了前面兩種實(shí)現(xiàn)方式所存在的局限性。

a644f2d4-1f6c-11ed-ba43-dac502259ad0.png

J-Trace Pro支持通過(guò)流模式實(shí)時(shí)的將指令跟蹤數(shù)據(jù)傳輸?shù)诫娔X端,該方案還帶來(lái)了如下優(yōu)勢(shì):

? 指令緩存空間大小取決于電腦硬盤大小(TB級(jí)別)

? 能夠記錄應(yīng)用從開(kāi)始執(zhí)行到出現(xiàn)異常的完整指令過(guò)程

? 能夠記錄用戶與應(yīng)用程序發(fā)生交互行為中的指令執(zhí)行過(guò)程

? 提供的其他高級(jí)調(diào)試功能:

實(shí)時(shí)代碼覆蓋率分析

實(shí)時(shí)的代碼執(zhí)行情況分析

a659560c-1f6c-11ed-ba43-dac502259ad0.png

本文介紹了嵌入式MCU調(diào)試過(guò)程中幾種指令跟蹤調(diào)試功能的實(shí)現(xiàn)方式,對(duì)比可以發(fā)現(xiàn)Segger J-Trace Pro產(chǎn)品的解決方案具有明顯優(yōu)勢(shì),此外Segger還提供了配套的調(diào)試軟件Ozone,能夠提供強(qiáng)大的指令跟蹤調(diào)試功能

審核編輯 :李倩

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

    關(guān)注

    146

    文章

    17135

    瀏覽量

    351033
  • 嵌入式
    +關(guān)注

    關(guān)注

    5082

    文章

    19111

    瀏覽量

    304885
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5336

    瀏覽量

    120262

原文標(biāo)題:如何使用SEGGER J-Trace Pro流模式實(shí)現(xiàn)指令跟蹤功能?

文章出處:【微信號(hào):麥克泰技術(shù),微信公眾號(hào):麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式硬件調(diào)試和軟件調(diào)試

    ,并且提供了非常豐富的調(diào)試功能。在使用在線仿真器進(jìn)行調(diào)試過(guò)程中,可以按順序單步執(zhí)行,也可以倒退執(zhí)行,還可以實(shí)時(shí)查看所有需要的數(shù)據(jù),從而給調(diào)試過(guò)程
    發(fā)表于 03-10 10:44

    嵌入式系統(tǒng)的Proteus仿真中源碼調(diào)試方式介紹

    (Integrated Development Envi-ronment,IDE)源碼調(diào)試功能。不僅能跟蹤、分析嵌入式系統(tǒng)內(nèi)的指令執(zhí)行,觀察
    發(fā)表于 07-29 06:15

    在VIM如何實(shí)現(xiàn)對(duì)嵌入式軟件的調(diào)試

    gdb對(duì)嵌入式軟件的調(diào)試模式有哪幾種?在VIM如何實(shí)現(xiàn)對(duì)嵌入式軟件的
    發(fā)表于 04-27 06:04

    初步掌握嵌入式程序的編譯和調(diào)試過(guò)程

    實(shí)驗(yàn)一 嵌入式開(kāi)發(fā)環(huán)境的建立 一、實(shí)驗(yàn)?zāi)康?,掌握嵌入式軟件開(kāi)發(fā)環(huán)境的建立過(guò)程;2,初步掌握嵌入式程序的編譯和調(diào)試過(guò)程。二、實(shí)驗(yàn)步驟1,安裝
    發(fā)表于 11-05 08:51

    嵌入式開(kāi)發(fā)調(diào)試經(jīng)驗(yàn)分享

    嵌入式開(kāi)發(fā)過(guò)程中的一點(diǎn)調(diào)試經(jīng)驗(yàn)嵌入式開(kāi)發(fā)最麻煩的在現(xiàn)場(chǎng)調(diào)試過(guò)程中或?qū)嶋H運(yùn)營(yíng)過(guò)程中出現(xiàn)問(wèn)題很難定位。我在實(shí)際開(kāi)發(fā)
    發(fā)表于 11-05 08:15

    如何調(diào)試嵌入式代碼?

    、CMSIS-DAP 等硬件調(diào)試器在嵌入式開(kāi)發(fā)調(diào)試過(guò)程中扮演了怎樣的角色呢?目標(biāo)芯片內(nèi)部是如何處理Debug and Trace 信號(hào)的?我們?nèi)绾谓柚鶹S Code Cortex-Debug 或IDE
    發(fā)表于 12-17 06:32

    如何使用SEGGER J-Trace Pro流模式實(shí)現(xiàn)指令跟蹤功能

    能夠記錄問(wèn)題發(fā)生之前MCU內(nèi)部的指令執(zhí)行歷史記錄,這些信息可以幫助開(kāi)發(fā)者回溯問(wèn)題現(xiàn)場(chǎng)來(lái)準(zhǔn)確定位問(wèn)題發(fā)生的原因。指令跟蹤實(shí)現(xiàn)
    發(fā)表于 09-07 11:10

    調(diào)試嵌入式處理器的幾種常用方法

    調(diào)試嵌入式處理器的幾種常用方法 前言 在任何產(chǎn)品
    發(fā)表于 03-11 12:25 ?1599次閱讀
    <b class='flag-5'>調(diào)試</b><b class='flag-5'>嵌入式</b>處理器的<b class='flag-5'>幾種</b>常用方法

    嵌入式系統(tǒng)的遠(yuǎn)程調(diào)試

      1 基本方法   圖1(a)是傳統(tǒng)的嵌入式調(diào)試方法:主機(jī)PC通過(guò)串口與從機(jī)嵌入式系統(tǒng)相連,接收從嵌入式系統(tǒng)發(fā)來(lái)的調(diào)試信息并向
    發(fā)表于 08-30 10:23 ?1028次閱讀
    <b class='flag-5'>嵌入式</b>系統(tǒng)的遠(yuǎn)程<b class='flag-5'>調(diào)試</b>

    單片機(jī)調(diào)試過(guò)程中調(diào)試組件導(dǎo)致的問(wèn)題

    單片機(jī)調(diào)試過(guò)程中,經(jīng)常會(huì)遇到類似第3只眼的問(wèn)題。何謂第3只眼呢?
    的頭像 發(fā)表于 12-30 17:12 ?7395次閱讀
    單片機(jī)<b class='flag-5'>調(diào)試過(guò)程中</b>的<b class='flag-5'>調(diào)試</b>組件導(dǎo)致的問(wèn)題

    淺析STM32調(diào)試過(guò)程中的幾個(gè)相關(guān)問(wèn)題

    總的來(lái)講,單片機(jī)調(diào)試是單片機(jī)開(kāi)發(fā)工作必不可少的環(huán)節(jié)。不管你愿不愿意,調(diào)試過(guò)程中總會(huì)有各種不期而遇的問(wèn)題出現(xiàn)在我們面前來(lái)磨礪我們。這里分享幾點(diǎn)STM32調(diào)試過(guò)程中與開(kāi)發(fā)工具及IDE有關(guān)的幾個(gè)常見(jiàn)問(wèn)題,以供參考。
    的頭像 發(fā)表于 01-21 13:50 ?5412次閱讀

    嵌入式軟件的打印調(diào)試信息的方法

    在我們的嵌入式開(kāi)發(fā),常常把printf重定向到MCU的串口外設(shè),再配合上位機(jī)界面軟件,通過(guò)打印調(diào)試信息的方式來(lái)
    的頭像 發(fā)表于 04-04 17:35 ?3269次閱讀

    如何實(shí)現(xiàn)嵌入式系統(tǒng)遠(yuǎn)程調(diào)試

    嵌入式系統(tǒng)隨著目前科技的發(fā)展,正逐步融入人們的生活。對(duì)于嵌入式系統(tǒng),我們應(yīng)該有所了解。就專業(yè)人員而言,他們對(duì)嵌入式系統(tǒng)早已駕輕就熟。為增進(jìn)大家對(duì)
    的頭像 發(fā)表于 11-22 11:55 ?5337次閱讀
    如何<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>嵌入式</b>系統(tǒng)遠(yuǎn)程<b class='flag-5'>調(diào)試</b>

    嵌入式開(kāi)發(fā)過(guò)程中的一點(diǎn)調(diào)試經(jīng)驗(yàn)

    嵌入式開(kāi)發(fā)過(guò)程中的一點(diǎn)調(diào)試經(jīng)驗(yàn)嵌入式開(kāi)發(fā)最麻煩的在現(xiàn)場(chǎng)調(diào)試過(guò)程中或?qū)嶋H運(yùn)營(yíng)過(guò)程中出現(xiàn)問(wèn)題很難定位。我在實(shí)際開(kāi)發(fā)
    發(fā)表于 11-02 18:06 ?15次下載
    <b class='flag-5'>嵌入式開(kāi)發(fā)過(guò)程中</b>的一點(diǎn)<b class='flag-5'>調(diào)試</b>經(jīng)驗(yàn)

    如何更快調(diào)試嵌入式軟件,試試這五個(gè)技巧!

    調(diào)試嵌入式軟件是我最不喜歡的行為,不幸地是,它卻是必要的。值得慶幸地是,技術(shù)和工具鏈創(chuàng)新的進(jìn)步衍生出大量的新技術(shù),從而大大地加快了調(diào)試過(guò)程。下面讓我們來(lái)看看其中一些方法,從傳統(tǒng)的斷點(diǎn)調(diào)試
    發(fā)表于 02-08 17:03 ?2次下載
    如何更快<b class='flag-5'>調(diào)試</b><b class='flag-5'>嵌入式</b>軟件,試試這五個(gè)技巧!
    主站蜘蛛池模板: 牢记永久免费网址| 一区两区三不卡| 草莓视频在线播放视频| 老板揉搓秘书丰满大乳| 亚洲精品午夜VA久久成人| 国产传媒在线播放| 日日操夜夜摸| china chinese中国人玩| 美国z0069| 自慰弄湿白丝袜| 久久亚洲精品成人| 伊人久久大香线蕉综合影| 国拍自产精品福利区| 洗濯屋H纯肉动漫在线观看 | FREE乌克兰嫩交HD| 妈妈的职业3完整版在线播放| 一本色道久久综合亚洲精品蜜桃冫 | 国产精品爽黄69天堂A片| 求个av网站| xnxx18美女| 人与禽物videos另类| wwwwwwwww日本电影| 欧美性猛交XXXX乱大交极品| 99香蕉视频| 欧美同志高清vivoeso| av在线观看地址| 欧美ⅹxxxx18性欧美| 9亚洲欧洲免费无码在线| 欧美成人无码A区在线观看免费 | 国产精品免费一区二区区| 我的家庭女教师| 国产精品欧美久久久久天天影视 | 人妻少妇69式99偷拍| 扒开女人下面使劲桶视频| 日本高清在线一区二区三区| 观看免费做视频| 无码不卡中文字幕在线观看| 国产婷婷一区二区在线观看| 亚洲福利精品电影在线观看| 京香在线观看| 在线观看qvod|