在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

Segger的無限Flash斷點調(diào)試功能

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

嵌入式應(yīng)用的開發(fā)過程中,雖然良好的編程實踐和配合適當(dāng)?shù)木幋a規(guī)范檢測軟件能夠減少代碼編寫階段中出現(xiàn)的錯誤數(shù)量,但仍然不可避免的會出現(xiàn)一些只有在程序運(yùn)行過程中才會觸發(fā)的錯誤。為了解決程序運(yùn)行過程中的問題,需要使用調(diào)試器,觀察代碼的執(zhí)行及軟件狀態(tài)變化。

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

常見的調(diào)試方法

(1)在RAM區(qū)域內(nèi)調(diào)試

在開發(fā)過程中,可以將應(yīng)用程序下載到RAM運(yùn)行和調(diào)試,調(diào)試器只需使用簡單的斷點指令,且RAM允許多次讀取和寫入,RAM區(qū)域內(nèi)的斷點指令不會對程序執(zhí)行產(chǎn)生明顯的影響。但該方法的局限是MCU所擁有的RAM空間通常較小,應(yīng)用較大時,無法在RAM進(jìn)行調(diào)試。

(2)在Flash區(qū)域內(nèi)調(diào)試

與RAM不同,F(xiàn)lash存儲空間通常較大,當(dāng)無法在RAM調(diào)試時只能在Flash區(qū)域內(nèi)進(jìn)行調(diào)試。微控制器設(shè)計人員提供了用于在Flash區(qū)域調(diào)試時使用的硬件斷點,硬件斷點會將PC指針與斷點位置進(jìn)行比較,并檢查指令是否被調(diào)用,當(dāng)斷點處指令被調(diào)用時,程序?qū)⑼V共诱{(diào)試器。硬件斷點的數(shù)量由芯片所使用的內(nèi)核決定,在ARM7和ARM9內(nèi)核中僅包含2個硬件斷點,在Cortex-M3和M4內(nèi)核中包含4-6個可用的硬件斷點。在調(diào)試過程中,當(dāng)硬件斷點數(shù)量用完時則無法添加新的斷點,只能取消前面添加的斷點后才能添加新的斷點,這無疑將嚴(yán)重影響程序開發(fā)效率。

(3)外擴(kuò)Flash存儲芯片調(diào)試

當(dāng)所開發(fā)的應(yīng)用程序的復(fù)雜度進(jìn)一步上升時,可能會使用到外擴(kuò)的Flash存儲,那么此時該如何進(jìn)行應(yīng)用程序調(diào)試呢?在大多數(shù)使用Cortex-M內(nèi)核的微控制器中,芯片內(nèi)部提供的硬件斷點在調(diào)試過程中能夠生效的地址范圍是有限的,當(dāng)使用外擴(kuò)Flash時,自帶的硬件斷點將無法在外擴(kuò)Flash存儲的地址范圍內(nèi)生效,此時將無法在這些區(qū)域內(nèi)設(shè)置斷點來調(diào)試應(yīng)用程序。

當(dāng)使用基于地址映射擴(kuò)展的外部Flash存儲時,Segger J-Link產(chǎn)品所支持的無限Flash斷點功能能夠幫助我們對片外Flash添加斷點并調(diào)試。

Segger無限Flash斷點功能

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

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

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

無限Flash斷點的實現(xiàn)方式

Segger J-Link系列產(chǎn)品在實現(xiàn)無限Flash斷點功能時,會使用硬件和軟件斷點的混合,來盡可能的減少對于Flash的影響。當(dāng)硬件斷點數(shù)量用完再添加新斷點時,Segger軟件將對斷點所在位置的Flash區(qū)塊進(jìn)行重新編程來添加斷點。

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

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

審核編輯 :李倩

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

    關(guān)注

    10

    文章

    1657

    瀏覽量

    150735
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1386

    瀏覽量

    116515
  • 斷點
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    7845

原文標(biāo)題:如何使用J-Link無限Flash斷點功能調(diào)試應(yīng)用?

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

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

    SEGGER emFile支持大型數(shù)據(jù)庫

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

    SEGGER SystemView支持Eclipse ThreadX

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

    如何使用帶有i.MX 93處理器的Segger J-link在VSCode中進(jìn)行調(diào)試

    我已經(jīng)閱讀了有關(guān)在 i.MX 8 處理器上使用 j-link 進(jìn)行調(diào)試的指南。我已經(jīng)嘗試了本指南,但使用的是 iMX93。當(dāng)我想連接到 J-link GDB 服務(wù)器應(yīng)用程序時,我遇到了一個問題。“MIMX9352_M33”處理器設(shè)備丟失。 有沒有可能,Segger 還沒有
    發(fā)表于 04-04 08:21

    調(diào)試時Memory窗口中Flash內(nèi)容不更新的原因和解決辦法

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

    Segger RTT調(diào)試工具的使用方法

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

    基于SEGGER的Ozone調(diào)試器和J-Trace工具跟蹤Ferrocene的Rust應(yīng)用

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

    HarmonyOS NEXT 原生應(yīng)用/元服務(wù)-ArkTS代碼調(diào)試worker/taskpool調(diào)試

    開發(fā)者可通過在worker或taskpool代碼上設(shè)置斷點,對worker/taskpool進(jìn)行斷點調(diào)試。 一、worker 調(diào)試 右鍵模塊的 ets 目錄新建一個 worker 文件
    發(fā)表于 03-13 17:46

    前端調(diào)試實踐

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

    HarmonyOS NEXT 原生應(yīng)用/元服務(wù)-ArkTS代碼調(diào)試使用斷點

    斷點,此類斷點僅會在滿足特定條件時才會暫停應(yīng)用。 點擊Debug圖標(biāo) ,開始調(diào)試。如果您的應(yīng)用已經(jīng)在運(yùn)行,請點擊Attach Debugger to Process圖標(biāo) 。 當(dāng)應(yīng)用運(yùn)行到代碼處,會在代碼
    發(fā)表于 03-04 17:15

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

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

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

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

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

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

    網(wǎng)關(guān)斷點續(xù)傳可以實現(xiàn)什么功能

    在數(shù)字化時代,數(shù)據(jù)傳輸?shù)男屎头€(wěn)定性成為了衡量信息系統(tǒng)性能的重要指標(biāo)之一。隨著云計算、大數(shù)據(jù)、物聯(lián)網(wǎng)等技術(shù)的飛速發(fā)展,數(shù)據(jù)量的爆炸性增長對數(shù)據(jù)傳輸技術(shù)提出了更高要求。在這樣的背景下,網(wǎng)關(guān)斷點續(xù)傳功能
    的頭像 發(fā)表于 10-16 13:53 ?567次閱讀

    兆易創(chuàng)新和SEGGER探索MCU開發(fā)的無限可能

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

    SEGGER編譯器優(yōu)化和安全技術(shù)介紹 支持最新C和C++語言

    SEGGER編譯器是專門為ARM和RISC-V微控制器設(shè)計的優(yōu)化C/C++編譯器。它建立在強(qiáng)大的Clang前端上,支持最新的C和C++語言功能。 除其他外,其主要功能包括: 1)?尺寸優(yōu)化:通過調(diào)整
    的頭像 發(fā)表于 06-04 15:31 ?1787次閱讀
    <b class='flag-5'>SEGGER</b>編譯器優(yōu)化和安全技術(shù)介紹 支持最新C和C++語言
    主站蜘蛛池模板: 神马午夜在线观看 | 激情丁香婷婷 | 日本一区二区三区免费看 | 中文字幕一区二区三区5566 | h视频在线观看视频观看 | 久国产精品久久精品国产四虎 | 欧美a色| 神马国产| 一区二区三区四区免费视频 | 日本四虎影院 | 亚洲高清视频一区 | 激情六月天| 1024亚洲视频 | 在线视频h | 日韩伊人网| 福利片午夜 | 丁香花五月婷婷开心 | 亚洲三级电影在线播放 | 一级全免费视频播放 | 日本韩国做暖暖小视频 | 婷婷在线网| 精品欧美一区二区三区在线观看 | bt在线天堂 | 69精品在线 | 天堂视频免费 | 国内自拍欧美 | 永久免费看片 | 久久精品亚洲一级毛片 | 亚洲欧美天堂网 | 久久综合免费视频 | 久久精品国产夜色 | 午夜高清视频 | 五月婷婷激情五月 | 国产精品久久女同磨豆腐 | 波多野结衣三个女人蕾丝边 | 亚洲情a成黄在线观看 | 日本69xxxxxxx69 | 都市禁忌猎艳风流美妇 | 亚洲精品成人a在线观看 | 亚洲午夜久久久久久91 | 美日韩中文字幕 |