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

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

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

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

如何使用Ozone的快照功能

麥克泰技術(shù) ? 來源:麥克泰技術(shù) ? 2024-11-05 17:38 ? 次閱讀

Ozone是一個(gè)跨平臺(tái)支持的代碼調(diào)試軟件,支持J-link和J-Trace調(diào)試器??梢约虞dSES、Keil、GCC、clang/LLVM等工具鏈編譯生成的Elf/Dwarf可執(zhí)行文件,進(jìn)行C/C++源碼調(diào)試和匯編指令調(diào)試。

Ozone新版本中增加了調(diào)試快照特性,可以保存整個(gè)系統(tǒng)狀態(tài),包括RAM、Flash、CPU寄存器、選定的外設(shè)、時(shí)間軸、代碼概要(執(zhí)行計(jì)數(shù)器)、數(shù)據(jù)圖、功率圖、終端日志、控制臺(tái)日志等信息。

后續(xù)加載快照時(shí),所有調(diào)試窗口展示快照創(chuàng)建時(shí)所顯示的信息,包括調(diào)用棧call stack、符號(hào)、任務(wù)、內(nèi)存和寄存器窗口。

高級(jí)目標(biāo)系統(tǒng)狀態(tài),如時(shí)鐘、IRQ和外設(shè)配置,可以精確地從快照中恢復(fù)。這意味著即使是復(fù)雜的多任務(wù)程序和帶有外設(shè)IO的程序也可以從快照點(diǎn)恢復(fù)。

快照可以在目標(biāo)離線模式下加載和觀察。這意味著加載快照時(shí)不需要硬件,甚至不需要J-Link或J-Trace。

保存快照

通過快照對(duì)話框用戶可以定義將哪些數(shù)據(jù)保存到快照中。該對(duì)話框提供了兩個(gè)子對(duì)話框,允許定義組件的系統(tǒng)狀態(tài),即哪些內(nèi)存區(qū)域,CPU,浮點(diǎn)和外設(shè)寄存器要保存??梢詮腄ebug菜單或通過執(zhí)行命令Debug.SaveSnapshot訪問該對(duì)話框。

c8549a32-90ad-11ef-a511-92fbcf53809c.png

寄存器選擇對(duì)話框的默認(rèn)配置,以及存儲(chǔ)到快照的默認(rèn)目標(biāo)寄存器集包含:所有基本的CPU寄存器,及FP寄存器。

內(nèi)存選擇對(duì)話框的默認(rèn)配置,以及存儲(chǔ)到快照的默認(rèn)目標(biāo)內(nèi)存區(qū)域包括:在J-Link APIMCU數(shù)據(jù)庫中為目標(biāo)定義的FLASH和RAM區(qū)域;設(shè)置了可分配標(biāo)志(A)的ELF程序數(shù)據(jù)段。

可以通過單擊Restore Defaults按鈕來恢復(fù)這些默認(rèn)配置。Import按鈕導(dǎo)入允許從SEGGER Embedded Studio內(nèi)存映射文件中添加內(nèi)存區(qū)域。Save to Project按鈕將當(dāng)前配置保存到項(xiàng)目的用戶文件(jdebug.user)中??煺帐褂肧EGGER的emCompress軟件庫進(jìn)行壓縮,磁盤格式是內(nèi)部文檔。

加載快照

可以從Debug菜單或通過執(zhí)行命令Debug .LoadSnapshot訪問加載快照對(duì)話框。

c88a8bc4-90ad-11ef-a511-92fbcf53809c.png

在加載快照之前,用戶必須確保:

選擇與快照目標(biāo)設(shè)備匹配的目標(biāo)設(shè)備

加載與保存快照時(shí)的程序映像相匹配的程序文件。

選擇與快照跟蹤源匹配的跟蹤源。

圖形化表達(dá)式列表與拍攝快照時(shí)的表達(dá)式列表相匹配。

當(dāng)上述任何條件不適用時(shí),將彈出一個(gè)警告對(duì)話框:

c8b1309e-90ad-11ef-a511-92fbcf53809c.png

確保上述前提條件的一種簡單方法是在打開用于創(chuàng)建快照的工程文件后加載快照。

系統(tǒng)恢復(fù)順序

加載快照時(shí),將按照它們?cè)诳煺罩谐霈F(xiàn)的順序恢復(fù)寄存器和內(nèi)存區(qū)域。這個(gè)順序與內(nèi)存和寄存器選擇對(duì)話框顯示的順序相同。當(dāng)以目標(biāo)在線模式加載快照時(shí),非基本CPU寄存器不會(huì)立即寫入目標(biāo)。用戶必須對(duì)系統(tǒng)、外設(shè)和內(nèi)存映射寄存器應(yīng)用于目標(biāo)的具體方式進(jìn)行編程。

快照編程

為了從快照中恢復(fù)高級(jí)系統(tǒng)狀態(tài),例如(時(shí)鐘)外設(shè),用戶通常需要對(duì)恢復(fù)操作的精確順序進(jìn)行編程。為了支持這一點(diǎn),Ozone提供了腳本函數(shù)OnSnapshotSave和OnSnapshotLoad和一個(gè)命令組Snapshot定制快照文件的讀取和寫入。

/*********************************************************************                                 
*    SNAPSHOT_Restore_System_Generic           
* Function description                        
*  Loads and applies generic system state from a snapshot
* Return Value
*  0: OK
* -1: error
* Notes
*  (1) User function
***********************************************************************/                                   
void OnSnapshotSave (void) {
 Util.Log("OnSnapshotSave: saving system state..."); 
 //
 // Save Cortex-M specific system state
 //
 Snapshot.SaveReg("CPU.Peripherals.SCB.VTOR");   // Vector table offset register
 Snapshot.SaveReg("CPU.Peripherals.DWT.DWT_CTRL"); // DWT unit status & control register (SYSTEMVIEW)
 Snapshot.SaveReg("CPU.Peripherals.SYSTICK");    // System timer configuration (SYSTICK)
 Snapshot.SaveReg("CPU.Peripherals.SCB.SHPR3");   // Cortex-M IRQ priorties 12-15 (SYSTICK)
 Snapshot.SaveReg("CPU.Peripherals.SCB.CPACR");   // FPU and coprocessor control register
 //
 // Save system clock configuration
 //
 Snapshot.SaveReg("Peripherals.RCC.CR");
 Snapshot.SaveReg("Peripherals.RCC.CFGR");
 Snapshot.SaveReg("Peripherals.RCC.PLLCFGR");
 //
 // Save FLASH configuration
 //
 Snapshot.SaveReg("Peripherals.FLASH.ACR");
 //
 // Save LED configuration
 //
 Snapshot.SaveReg("Peripherals.RCC.AHB1RSTR");   // LED port reset register
 Snapshot.SaveReg("Peripherals.RCC.AHB1ENR");   // LED port clock enable register
 Snapshot.SaveReg("Peripherals.GPIO.GPIOA.MODER"); // LED port mode register
 Snapshot.SaveReg("Peripherals.GPIO.GPIOA.ODR");  // LED port output data register
 //
 // Power configuration
 //
 Snapshot.SaveReg("Peripherals.PWR.CR");
 //
 // APB1 clock
 //
 Snapshot.SaveReg("Peripherals.RCC.APB1ENR"); 
 
 Util.Log("OnSnapshotSave: system state saved."); 
}
                               
/*********************************************************************
*    OnSnapshotLoad                        
* Function description                        
*  Optional event handler, called upon loading a snapshot.      
* Additional information                       
*  This function is used to restore the target state in cases    
*  where values cannot simply be written to the target.       
*  Typical use: GPIO clock needs to be enabled, before        
*  GPIO is configured.                        
***********************************************************************/                                   
void OnSnapshotLoad (void) {  
 Util.Log("OnSnapshotLoad: restoring system state...");
 
 if (SNAPSHOT_Restore_System_Generic() != 0) {
   Util.Log("OnSnapshotLoad : failed to restore generic system state");
   return 0;
 }
 if (SNAPSHOT_Restore_SysClock() != 0) {
   Util.Log("OnSnapshotLoad : failed to resore clock-specific system state");
   return 0;
 }
 if (SNAPSHOT_Restore_OS() != 0) {
   Util.Log("OnSnapshotLoad : failed to restore OS-specific system state");
   return 0;
 }
 if (SNAPSHOT_Restore_Board() != 0) {
   Util.Log("OnSnapshotLoad : failed to restore board-specific system state");
   return 0;
 }
 Util.Log("OnSnapshotLoad: system state restored.");
}

快照腳本功能目前僅針對(duì)系統(tǒng)寄存器狀態(tài)。當(dāng)快照以在線模式加載時(shí),CPU寄存器和內(nèi)存數(shù)據(jù)自動(dòng)寫入目標(biāo),不依賴于腳本函數(shù)OnSnapshotLoad。更多可以在腳本函數(shù)OnSnapshotLoad和OnSnapshotSave中使用調(diào)試命令,可以參考Ozone用戶手冊(cè)。

快照存儲(chǔ)不能以用戶可讀的格式輕松有效地存儲(chǔ)的二進(jìn)制調(diào)試會(huì)話數(shù)據(jù)??煺盏牡湫蛻?yīng)用場景如下:

快照允許客戶脫離調(diào)試會(huì)話,并能夠在稍后的時(shí)間點(diǎn)恢復(fù)會(huì)話。

快照允許更容易地重現(xiàn)和分析錯(cuò)誤,可以由不同主機(jī)上的多方進(jìn)行。

快照提高Ozone的教學(xué)和演示能力,用于培訓(xùn)課程和會(huì)議。

快照作為存檔。

快照功能目前僅支持Cortex-M架構(gòu)處理器

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

    關(guān)注

    31

    文章

    5396

    瀏覽量

    122458
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    5080

    瀏覽量

    88697
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2116

    瀏覽量

    74498
  • 調(diào)試器
    +關(guān)注

    關(guān)注

    1

    文章

    308

    瀏覽量

    24086

原文標(biāo)題:如何使用Ozone的快照功能

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何使用Ozone分析Cortex-M異常

    Ozone可以幫助用戶快速分析和查找導(dǎo)致CPU故障的軟件bug。本文解釋如何使用Ozone的調(diào)試功能,深入了解Cortex-M架構(gòu)上的這些錯(cuò)誤。
    的頭像 發(fā)表于 11-29 11:14 ?1303次閱讀
    如何使用<b class='flag-5'>Ozone</b>分析Cortex-M異常

    HarmonyOS實(shí)戰(zhàn)開發(fā)-內(nèi)存快照Snapshot Profiler功能使用指導(dǎo)

    DevEco Studio集成的DevEco Profiler性能調(diào)優(yōu)工具(以下簡稱為Profiler),提供Time、Allocation、Snapshot、CPU等場景化分析任務(wù)類型。內(nèi)存快照
    發(fā)表于 05-11 13:51

    NAS存儲(chǔ)如何使用SnapShot快照功能?

    ,找到SnapShot,點(diǎn)擊安裝; 2.單擊SnapShot圖標(biāo)打開應(yīng)用; 3.從文件夾列表中選擇一個(gè)文件夾,點(diǎn)擊拍快照; 4.你也可以為共享文件夾啟用快照計(jì)劃,選中一個(gè)共享文件夾,點(diǎn)擊設(shè)置; 5.勾
    發(fā)表于 11-26 18:25

    SEGGER Ozone調(diào)試器使用攻略!

    源碼調(diào)試和匯編指令調(diào)試。通過J-Link實(shí)現(xiàn)高速下載和無限Flash斷點(diǎn)功能(需J-Link型號(hào)支持)。本文將介紹如何使用Ozone調(diào)試器。安裝軟件并創(chuàng)建調(diào)試工程(1)首先需要去Segger官網(wǎng)下載并
    發(fā)表于 08-11 17:10

    Ozone的調(diào)試步驟

    ??首先說一下,我之前的開發(fā)流程是:VSCode 編輯代碼 + Keil 編譯及調(diào)試。Keil 的調(diào)試功能雖然很強(qiáng)大,但是多數(shù)功能需要配合 ARM 自家的 ULINKpro才可以用,例如
    發(fā)表于 11-04 08:19

    如何使用Ozone分析Cortex-M故障?

    源代碼調(diào)試和匯編指令調(diào)試??芍苯邮褂肑-Link和J-Trace內(nèi)置功能,如無限flash斷點(diǎn),flash下載,指令跟蹤等。在Cortex-M架構(gòu)上,Ozone可以幫助用戶快速發(fā)現(xiàn)和分析導(dǎo)致CPU故障
    發(fā)表于 09-23 11:26

    如何實(shí)現(xiàn)Ozone項(xiàng)目可移植?

    SEGGER Ozone是用于J-link和J-Trace的多平臺(tái)調(diào)試、分析工具??杉虞dIAR,Keil,Gcc,Clang/LLVM等工具鏈生成的Elf/Dwarf可執(zhí)行文件,進(jìn)行C/C++源代碼
    發(fā)表于 01-05 13:56

    如何使用ozone調(diào)試雙核應(yīng)用?

    在第二個(gè)core的ozone中, 點(diǎn)擊開始調(diào)試, 就不正常了
    發(fā)表于 05-26 08:11

    QNAP推出TS-x28A系列 宣告全面支持快照功能

    威聯(lián)通科技推出全新TS-128A及TS-228A兩款機(jī)種,提供了多樣的多媒體儲(chǔ)存、并具備快照等各種檔案及資料保護(hù)功能.TS-x28A系列僅1 GB存儲(chǔ)器即可使用快照功能,展現(xiàn)了QNAP
    發(fā)表于 01-16 08:47 ?4778次閱讀

    MM32F013x——巧用Ozone調(diào)試MM32

    本文將向大家詳細(xì)地介紹如何使用Ozone調(diào)試MM32 MCU,以及Ozone能給大家?guī)砟男┍憷?,體驗(yàn)這款工具的強(qiáng)大之處。
    發(fā)表于 02-08 16:23 ?0次下載
    MM32F013x——巧用<b class='flag-5'>Ozone</b>調(diào)試MM32

    如何使用Ozone的調(diào)試功能

    源代碼調(diào)試和匯編指令調(diào)試??芍苯邮褂肑-Link和J-Trace內(nèi)置功能,如無限flash斷點(diǎn),flash下載,指令跟蹤等。在Cortex-M架構(gòu)上,Ozone可以幫助用戶快速發(fā)現(xiàn)和分析導(dǎo)致CPU故障的軟件錯(cuò)誤。本文將介紹如何使用Ozo
    的頭像 發(fā)表于 09-06 11:26 ?6014次閱讀

    如何實(shí)現(xiàn)Ozone項(xiàng)目可移植?

    SEGGER Ozone是用于J-link和J-Trace的多平臺(tái)調(diào)試、分析工具。可加載IAR,Keil,Gcc,Clang/LLVM等工具鏈生成的Elf/Dwarf可執(zhí)行文件,進(jìn)行C/C++源代碼調(diào)試和匯編指令調(diào)試。
    的頭像 發(fā)表于 12-16 11:20 ?1288次閱讀

    Ozone的3.30版本——J-Link調(diào)試器發(fā)布

    SEGGER宣布最新的Ozone的3.30版本——J-Link調(diào)試器發(fā)布。此更新帶來了許多新功能和改進(jìn),將增強(qiáng)您的調(diào)試體驗(yàn)。
    的頭像 發(fā)表于 06-13 11:37 ?1376次閱讀

    什么是DTC快照信息

    什么是DTC快照信息 DTC快照信息是通過UDS協(xié)議獲取的一種特定數(shù)據(jù)記錄,用于幫助診斷車輛故障。根據(jù)ISO 14229標(biāo)準(zhǔn)的規(guī)定,DTC快照信息就類似照相機(jī)一樣,在故障發(fā)生的時(shí)刻,對(duì)整車信息按下
    的頭像 發(fā)表于 07-26 11:13 ?4083次閱讀
    什么是DTC<b class='flag-5'>快照</b>信息

    鴻蒙開發(fā):【設(shè)置任務(wù)快照的圖標(biāo)和名稱】

    設(shè)置任務(wù)快照的圖標(biāo)和名稱是為了提高用戶界面的可視化性和用戶體驗(yàn),以便更好地管理和跟蹤應(yīng)用程序中的任務(wù)和功能。通過為每個(gè)任務(wù)快照設(shè)置不同的圖標(biāo)和名稱,可以更輕松地區(qū)分和識(shí)別每個(gè)任務(wù)的功能
    的頭像 發(fā)表于 06-14 14:33 ?512次閱讀
    鴻蒙開發(fā):【設(shè)置任務(wù)<b class='flag-5'>快照</b>的圖標(biāo)和名稱】
    主站蜘蛛池模板: 久久精品屋 | 欧美色综合久久 | 免费视频h | 久久视频精品36线视频在线观看 | 1024亚洲视频 | 色视频免费在线 | 伊人天堂在线 | 成人午夜大片免费7777 | 拍拍拍拍拍拍拍无挡大全免费 | 可以直接看的黄色网址 | 99热精品久久只有精品30 | 亚洲色图激情 | 国产一卡二卡3卡4卡四卡在线视频 | 亚洲偷图色综合色就色 | 日韩黄色录像 | 欧美成人 一区二区三区 | 3344成年在线视频免费播放男男 | 天天操夜夜操视频 | 三级黄色在线视频 | 日本a级影院 | 一级黄色毛片免费看 | 国产又黄又免费aaaa视频 | 午夜影院a | 福利视频免费观看 | 亚洲狠狠色丁香婷婷综合 | 开心激情播播网 | 中文字幕一二三四区2021 | 亲女乱h文小兰第一次 | 日日夜夜精品 | 亚洲电影一区二区 | 欧美人与物另类 | 天天操夜夜拍 | 午夜福利毛片 | 午夜小视频在线观看 | 欧美成人午夜不卡在线视频 | 痴女在线播放免费视频 | 日本黄色网址免费 | 手机看片自拍 | 中文字幕视频二区 | 黄视频日本| 午夜三级国产精品理论三级 |