女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

嵌入式MCU調試過程中幾種指令跟蹤調試功能的實現方式

倩倩 ? 來源:麥克泰技術 ? 作者:麥克泰技術 ? 2022-08-19 11:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

侵入式調試和非侵入式調試

嵌入式應用的開發過程中,需要通過調試來解決程序運行過程中出現的問題,根據是否會打斷程序的“全速運行狀態”,調試方式可以分為侵入式調試和非侵入式調試兩類。

侵入式調試手段如下:

? 停機以及單步執行程序

? 硬件斷點和斷點指令(BKPT)

? 變量數據觀察點(Watch觀察窗口)

? 訪問寄存器的值

? 調試監視器異常

非侵入式調試手段如下:

? 在內核運行的時候訪問存儲器

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

通常情況下,我們采用的是侵入式調試,但這種調試會打破程序的全速運行狀態。非侵入式調試則可以在保證程序全速運行的情況下,了解程序運行的情況。在調試大型軟件和RTOS多任務系統,或者與通信時序相關的應用時(非侵入式調試會破壞通信時序),應用代碼可能突然跑飛或者產生異常中斷,而導致問題的原因可能難以發現。

此時非侵入式調試如指令跟蹤這樣的功能就有著不可比擬的作用。指令跟蹤能夠記錄問題發生之前MCU內部的指令執行歷史記錄,這些信息可以幫助開發者回溯問題現場來準確定位問題發生的原因。

指令跟蹤的實現方式

在嵌入式MCU調試中指令跟蹤存在多種實現方式,通過對比我們將能夠更清楚的了解Segger J-Trace Pro產品流模式指令跟蹤功能的強大之處。

(1)使用MCU片上緩存實現指令跟蹤

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

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

使用該方式實現指令跟蹤存在的限制:

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

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

(2)使用調試器內部緩存進行指令跟蹤

另外一種實現指令跟蹤的方式是調試器內部提供指令緩存空間,緩存空間大小可能為MB到GB級別,但受限于調試器本身的硬件實現成本,調試器內部所能夠提供的緩存空間同樣不會很大。

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

該方式實現指令跟蹤存在的限制:

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

? 能記錄有限的指令執行歷史,但無法記錄從應用開始執行到出現異常的全過程指令記錄

? 通常需要暫停應用運行后,PC端軟件才會讀取緩存在調試器中的Trace數據

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

前面的兩種實現方式都因為緩存空間大小的影響而有其使用局限性,Segger J-Trace Pro產品則使用流模式的方式解決了前面兩種方式存在的問題,能夠給開發者帶來成熟的指令跟蹤解決方案。J-Trace Pro在SWD/JTAG調試接口引腳之外,與芯片通過額外的跟蹤功能引腳連接,包括Trace時鐘和數據傳輸引腳,MCU內部ETM模塊中記錄的指令通過J-Trace Pro以流模式的方式實時傳輸到PC端,此時指令的緩存空間在PC電腦端,因此最大的緩存空間甚至可以達到TB級別,徹底解決了前面兩種實現方式所存在的局限性。

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

J-Trace Pro支持通過流模式實時的將指令跟蹤數據傳輸到電腦端,該方案還帶來了如下優勢:

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

? 能夠記錄應用從開始執行到出現異常的完整指令過程

? 能夠記錄用戶與應用程序發生交互行為中的指令執行過程

? 提供的其他高級調試功能:

實時代碼覆蓋率分析

實時的代碼執行情況分析

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

本文介紹了嵌入式MCU調試過程中幾種指令跟蹤調試功能的實現方式,對比可以發現Segger J-Trace Pro產品的解決方案具有明顯優勢,此外Segger還提供了配套的調試軟件Ozone,能夠提供強大的指令跟蹤調試功能

審核編輯 :李倩

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

    關注

    146

    文章

    17981

    瀏覽量

    366770
  • 嵌入式
    +關注

    關注

    5151

    文章

    19670

    瀏覽量

    317483
  • 寄存器
    +關注

    關注

    31

    文章

    5434

    瀏覽量

    124457

原文標題:如何使用SEGGER J-Trace Pro流模式實現指令跟蹤功能?

文章出處:【微信號:麥克泰技術,微信公眾號:麥克泰技術】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式硬件調試和軟件調試

    ,并且提供了非常豐富的調試功能。在使用在線仿真器進行調試過程中,可以按順序單步執行,也可以倒退執行,還可以實時查看所有需要的數據,從而給調試過程
    發表于 03-10 10:44

    嵌入式系統的Proteus仿真中源碼調試方式介紹

    (Integrated Development Envi-ronment,IDE)源碼調試功能。不僅能跟蹤、分析嵌入式系統內的指令執行,觀察
    發表于 07-29 06:15

    在VIM如何實現嵌入式軟件的調試

    gdb對嵌入式軟件的調試模式有哪幾種?在VIM如何實現嵌入式軟件的
    發表于 04-27 06:04

    初步掌握嵌入式程序的編譯和調試過程

    實驗一 嵌入式開發環境的建立 一、實驗目的1,掌握嵌入式軟件開發環境的建立過程;2,初步掌握嵌入式程序的編譯和調試過程。二、實驗步驟1,安裝
    發表于 11-05 08:51

    嵌入式開發調試經驗分享

    嵌入式開發過程中的一點調試經驗嵌入式開發最麻煩的在現場調試過程中或實際運營過程中出現問題很難定位。我在實際開發
    發表于 11-05 08:15

    如何調試嵌入式代碼?

    、CMSIS-DAP 等硬件調試器在嵌入式開發調試過程中扮演了怎樣的角色呢?目標芯片內部是如何處理Debug and Trace 信號的?我們如何借助VS Code Cortex-Debug 或IDE
    發表于 12-17 06:32

    如何使用SEGGER J-Trace Pro流模式實現指令跟蹤功能

    能夠記錄問題發生之前MCU內部的指令執行歷史記錄,這些信息可以幫助開發者回溯問題現場來準確定位問題發生的原因。指令跟蹤實現
    發表于 09-07 11:10

    調試嵌入式處理器的幾種常用方法

    調試嵌入式處理器的幾種常用方法 前言 在任何產品
    發表于 03-11 12:25 ?1729次閱讀
    <b class='flag-5'>調試</b><b class='flag-5'>嵌入式</b>處理器的<b class='flag-5'>幾種</b>常用方法

    嵌入式系統的遠程調試

      1 基本方法   圖1(a)是傳統的嵌入式調試方法:主機PC通過串口與從機嵌入式系統相連,接收從嵌入式系統發來的調試信息并向
    發表于 08-30 10:23 ?1137次閱讀
    <b class='flag-5'>嵌入式</b>系統的遠程<b class='flag-5'>調試</b>

    單片機調試過程中調試組件導致的問題

    單片機調試過程中,經常會遇到類似第3只眼的問題。何謂第3只眼呢?
    的頭像 發表于 12-30 17:12 ?7689次閱讀
    單片機<b class='flag-5'>調試過程中</b>的<b class='flag-5'>調試</b>組件導致的問題

    淺析STM32調試過程中的幾個相關問題

    總的來講,單片機調試是單片機開發工作必不可少的環節。不管你愿不愿意,調試過程中總會有各種不期而遇的問題出現在我們面前來磨礪我們。這里分享幾點STM32調試過程中與開發工具及IDE有關的幾個常見問題,以供參考。
    的頭像 發表于 01-21 13:50 ?5774次閱讀

    嵌入式軟件的打印調試信息的方法

    在我們的嵌入式開發,常常把printf重定向到MCU的串口外設,再配合上位機界面軟件,通過打印調試信息的方式
    的頭像 發表于 04-04 17:35 ?3546次閱讀

    如何實現嵌入式系統遠程調試

    嵌入式系統隨著目前科技的發展,正逐步融入人們的生活。對于嵌入式系統,我們應該有所了解。就專業人員而言,他們對嵌入式系統早已駕輕就熟。為增進大家對
    的頭像 發表于 11-22 11:55 ?6104次閱讀
    如何<b class='flag-5'>實現</b><b class='flag-5'>嵌入式</b>系統遠程<b class='flag-5'>調試</b>

    嵌入式開發過程中的一點調試經驗

    嵌入式開發過程中的一點調試經驗嵌入式開發最麻煩的在現場調試過程中或實際運營過程中出現問題很難定位。我在實際開發
    發表于 11-02 18:06 ?15次下載
    <b class='flag-5'>嵌入式開發過程中</b>的一點<b class='flag-5'>調試</b>經驗

    如何更快調試嵌入式軟件,試試這五個技巧!

    調試嵌入式軟件是我最不喜歡的行為,不幸地是,它卻是必要的。值得慶幸地是,技術和工具鏈創新的進步衍生出大量的新技術,從而大大地加快了調試過程。下面讓我們來看看其中一些方法,從傳統的斷點調試
    發表于 02-08 17:03 ?2次下載
    如何更快<b class='flag-5'>調試</b><b class='flag-5'>嵌入式</b>軟件,試試這五個技巧!