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

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

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

3天內不再提示

Segger的無限Flash斷點調試功能

strongerHuang ? 來源:麥克泰技術 ? 作者:麥克泰技術 ? 2022-05-07 09:54 ? 次閱讀

嵌入式應用的開發過程中,雖然良好的編程實踐和配合適當的編碼規范檢測軟件能夠減少代碼編寫階段中出現的錯誤數量,但仍然不可避免的會出現一些只有在程序運行過程中才會觸發的錯誤。為了解決程序運行過程中的問題,需要使用調試器,觀察代碼的執行及軟件狀態變化。

在程序調試的過程中,斷點的重要性不言而喻。在調試狀態下,當程序遇到斷點時,會停止執行并將控制權交給調試軟件,調試器可以顯示當前應用程序的狀態,包括變量和寄存器的值,內存、堆棧使用情況,顯示應用程序到達斷點位置的函數調用關系等,這些信息可以幫助開發人員分析程序的執行狀況是否符合預期,并在問題出現時幫助確定錯誤原因。

常見的調試方法

(1)在RAM區域內調試

在開發過程中,可以將應用程序下載到RAM運行和調試,調試器只需使用簡單的斷點指令,且RAM允許多次讀取和寫入,RAM區域內的斷點指令不會對程序執行產生明顯的影響。但該方法的局限是MCU所擁有的RAM空間通常較小,應用較大時,無法在RAM進行調試。

(2)在Flash區域內調試

與RAM不同,Flash存儲空間通常較大,當無法在RAM調試時只能在Flash區域內進行調試。微控制器設計人員提供了用于在Flash區域調試時使用的硬件斷點,硬件斷點會將PC指針與斷點位置進行比較,并檢查指令是否被調用,當斷點處指令被調用時,程序將停止并啟動調試器。硬件斷點的數量由芯片所使用的內核決定,在ARM7和ARM9內核中僅包含2個硬件斷點,在Cortex-M3和M4內核中包含4-6個可用的硬件斷點。在調試過程中,當硬件斷點數量用完時則無法添加新的斷點,只能取消前面添加的斷點后才能添加新的斷點,這無疑將嚴重影響程序開發效率。

(3)外擴Flash存儲芯片調試

當所開發的應用程序的復雜度進一步上升時,可能會使用到外擴的Flash存儲,那么此時該如何進行應用程序調試呢?在大多數使用Cortex-M內核的微控制器中,芯片內部提供的硬件斷點在調試過程中能夠生效的地址范圍是有限的,當使用外擴Flash時,自帶的硬件斷點將無法在外擴Flash存儲的地址范圍內生效,此時將無法在這些區域內設置斷點來調試應用程序。

當使用基于地址映射擴展的外部Flash存儲時,Segger J-Link產品所支持的無限Flash斷點功能能夠幫助我們對片外Flash添加斷點并調試。

Segger無限Flash斷點功能

J-Link支持一項名為“無限Flash斷點”(Unlimited Flash Breakpoints)的調試功能。“無限Flash斷點”允許用戶在Flash中調試時設置無限數量的斷點。如果沒有此功能,在Flash中能夠設置的斷點數量限制為CPU調試單元支持的硬件斷點數。

J-Link的“無限Flash斷點”適用于片內和外擴的Flash,包括通過內存映射添加的QSPI閃存。

acb3e97e-cd9e-11ec-bce3-dac502259ad0.png

無限Flash斷點的實現方式

Segger J-Link系列產品在實現無限Flash斷點功能時,會使用硬件和軟件斷點的混合,來盡可能的減少對于Flash的影響。當硬件斷點數量用完再添加新斷點時,Segger軟件將對斷點所在位置的Flash區塊進行重新編程來添加斷點。

雖然Flash存在一定的寫入次數限制,但Segger在實現該功能時已經做了大量針對性的優化來減少對于Flash的影響,例如處于同一區塊內的多個斷點,Segger將通過一次該Flash區塊的重編編程來完成多個斷點的添加。Segger僅在必要時才會對Flash區塊進行重編程,部分操作將通過內置的指令集模擬器來完成,從而能夠盡可能的減少對于Flash閃存的影響。

Segger的無限Flash斷點調試功能解除了硬件斷點對于程序調試的限制,能夠提升開發人員的開發效率。對于Cortex-M內核芯片添加了外擴Flash的情形,無限Flash斷點功能則可能是僅有的片外Flash調試解決方案。

審核編輯 :李倩

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

    關注

    10

    文章

    1661

    瀏覽量

    150946
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1391

    瀏覽量

    116713
  • 斷點
    +關注

    關注

    0

    文章

    12

    瀏覽量

    7863

原文標題:如何使用J-Link無限Flash斷點功能調試應用?

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    邊緣計算網關支持斷點續傳嗎

    邊緣計算網關通常支持斷點續傳功能斷點續傳功能是邊緣計算網關的重要特性之一,它能夠在網絡中斷或設備故障時,將采集到的數據暫存在本地存儲空間中,待網絡恢復后再將數據上傳至云平臺,從而保證數據的完整性
    的頭像 發表于 05-27 15:25 ?79次閱讀

    有辦法讓SDK 1.3.5與JTAG調試器配合使用嗎?

    使用 Segger J- 6EDL_SPI_LINK GDB 服務器的調試配置。 我看到控制臺中打印了多個錯誤,如下所示: 827^error,msg=\"Dwarf Error:無法找到從
    發表于 05-23 07:32

    如何通過SFL為設備添加Flash編程支持

    SEGGER Flash Loader(SFL)是J-Link設備支持套件(DSK)的一部分,通過SFL,用戶可以為自己的新設備添加Flash編程支持。
    的頭像 發表于 05-19 16:35 ?356次閱讀
    如何通過SFL為設備添加<b class='flag-5'>Flash</b>編程支持

    SEGGER emFile支持大型數據庫

    SEGGER宣布emFile對大型數據庫的支持,集成了SQLite,方便與SEGGER的BigFAT和微軟的exFAT一起使用。
    的頭像 發表于 04-23 15:51 ?163次閱讀

    SEGGER SystemView支持Eclipse ThreadX

    SEGGER的實時軟件分析工具SystemView v3.60c版本現已支持Eclipse ThreadX(Azure RTOS),用戶可以基于Systemview記錄ThreadX操作系統事件并執行分析。
    的頭像 發表于 04-09 10:43 ?352次閱讀
    <b class='flag-5'>SEGGER</b> SystemView支持Eclipse ThreadX

    調試時Memory窗口中Flash內容不更新的原因和解決辦法

    調試時在代碼中對Flash進行寫操作時(比如Bootloader對Code Flash進行升級操作,Application對Data Flash進行寫操作),Memory窗口中
    的頭像 發表于 04-01 09:18 ?325次閱讀
    <b class='flag-5'>調試</b>時Memory窗口中<b class='flag-5'>Flash</b>內容不更新的原因和解決辦法

    Segger RTT調試工具的使用方法

    上一期已經跟著小編介紹的安裝步驟,相信大家都已經開始使用了Segger Ozone調試工具。那么今天小編繼續趁熱打鐵,給大家介紹另一個Segger推出的調試輔助工具
    的頭像 發表于 03-28 14:21 ?1290次閱讀
    <b class='flag-5'>Segger</b> RTT<b class='flag-5'>調試</b>工具的使用方法

    基于SEGGER的Ozone調試器和J-Trace工具跟蹤Ferrocene的Rust應用

    2025年3月,SEGGER和Ferrous Systems合作,確保使用Ferrous Systems的Ferrocene工具鏈編譯的Rust應用程序可以通過SEGGER的J-Trace工具實時下載分析。
    的頭像 發表于 03-14 11:27 ?372次閱讀

    前端調試實踐

    ,能在不同的前端場景應用不同的調試方式,翻倍提高你解決問題的效率 ? ? 1 sources面板概覽 source面板是我們斷點調試經常用的到的地方,我們可以先大概認識一下它長什么樣子,大概有什么
    的頭像 發表于 03-11 15:41 ?237次閱讀
    前端<b class='flag-5'>調試</b>實踐

    HarmonyOS NEXT 原生應用/元服務-ArkTS代碼調試使用斷點

    斷點,此類斷點僅會在滿足特定條件時才會暫停應用。 點擊Debug圖標 ,開始調試。如果您的應用已經在運行,請點擊Attach Debugger to Process圖標 。 當應用運行到代碼處,會在代碼
    發表于 03-04 17:15

    SEGGER J-Link和Flasher工具支持意法半導體汽車微控制器

    2025年2月,SEGGER宣布其J-Link調試器和Flasher在線編程器全面支持意法半導體針對汽車應用的Stellar P&G系列微控制器。
    的頭像 發表于 02-14 11:37 ?547次閱讀

    SEGGER SystemView支持多核行為的觀察和驗證

    2025年2月,SEGGER宣布其實時軟件驗證和可視化工具SystemView增加了多核支持,將其功能擴展到單個芯片上具有多個CPU內核的系統。
    的頭像 發表于 02-07 11:24 ?560次閱讀
    <b class='flag-5'>SEGGER</b> SystemView支持多核行為的觀察和驗證

    SEGGER為J-Link和Flasher提供Device Provisioner工具

    日前,SEGGER宣布為其Flasher系列編程器以及J-Link和J-Trace系列調試跟蹤工具提供Device Provisioner工具。
    的頭像 發表于 10-22 15:12 ?814次閱讀

    網關斷點續傳可以實現什么功能

    在數字化時代,數據傳輸的效率和穩定性成為了衡量信息系統性能的重要指標之一。隨著云計算、大數據、物聯網等技術的飛速發展,數據量的爆炸性增長對數據傳輸技術提出了更高要求。在這樣的背景下,網關斷點續傳功能
    的頭像 發表于 10-16 13:53 ?604次閱讀

    兆易創新和SEGGER探索MCU開發的無限可能

    2023年12月,兆易創新(GigaDevice)與業界著名工具鏈廠商德國SEGGER Microcontroller GmbH(以下簡稱“SEGGER”)向所有使用GD32V系列RISC-V
    的頭像 發表于 08-22 09:51 ?1444次閱讀