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

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

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

3天內不再提示

如何使用Ozone的快照功能

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

Ozone是一個跨平臺支持的代碼調試軟件,支持J-link和J-Trace調試器。可以加載SES、Keil、GCC、clang/LLVM等工具鏈編譯生成的Elf/Dwarf可執行文件,進行C/C++源碼調試和匯編指令調試。

Ozone新版本中增加了調試快照特性,可以保存整個系統狀態,包括RAM、Flash、CPU寄存器、選定的外設、時間軸、代碼概要(執行計數器)、數據圖、功率圖、終端日志、控制臺日志等信息

后續加載快照時,所有調試窗口展示快照創建時所顯示的信息,包括調用棧call stack、符號、任務、內存和寄存器窗口。

高級目標系統狀態,如時鐘、IRQ和外設配置,可以精確地從快照中恢復。這意味著即使是復雜的多任務程序和帶有外設IO的程序也可以從快照點恢復。

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

保存快照

通過快照對話框用戶可以定義將哪些數據保存到快照中。該對話框提供了兩個子對話框,允許定義組件的系統狀態,即哪些內存區域,CPU,浮點和外設寄存器要保存。可以從Debug菜單或通過執行命令Debug.SaveSnapshot訪問該對話框。

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

寄存器選擇對話框的默認配置,以及存儲到快照的默認目標寄存器集包含:所有基本的CPU寄存器,及FP寄存器。

內存選擇對話框的默認配置,以及存儲到快照的默認目標內存區域包括:在J-Link APIMCU數據庫中為目標定義的FLASH和RAM區域;設置了可分配標志(A)的ELF程序數據段。

可以通過單擊Restore Defaults按鈕來恢復這些默認配置。Import按鈕導入允許從SEGGER Embedded Studio內存映射文件中添加內存區域。Save to Project按鈕將當前配置保存到項目的用戶文件(jdebug.user)中。快照使用SEGGER的emCompress軟件庫進行壓縮,磁盤格式是內部文檔。

加載快照

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

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

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

選擇與快照目標設備匹配的目標設備

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

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

圖形化表達式列表與拍攝快照時的表達式列表相匹配。

當上述任何條件不適用時,將彈出一個警告對話框:

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

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

系統恢復順序

加載快照時,將按照它們在快照中出現的順序恢復寄存器和內存區域。這個順序與內存和寄存器選擇對話框顯示的順序相同。當以目標在線模式加載快照時,非基本CPU寄存器不會立即寫入目標。用戶必須對系統、外設和內存映射寄存器應用于目標的具體方式進行編程

快照編程

為了從快照中恢復高級系統狀態,例如(時鐘)外設,用戶通常需要對恢復操作的精確順序進行編程。為了支持這一點,Ozone提供了腳本函數OnSnapshotSave和OnSnapshotLoad和一個命令組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.");
}

快照腳本功能目前僅針對系統寄存器狀態。當快照以在線模式加載時,CPU寄存器和內存數據自動寫入目標,不依賴于腳本函數OnSnapshotLoad。更多可以在腳本函數OnSnapshotLoad和OnSnapshotSave中使用調試命令,可以參考Ozone用戶手冊。

快照存儲不能以用戶可讀的格式輕松有效地存儲的二進制調試會話數據。快照的典型應用場景如下:

快照允許客戶脫離調試會話,并能夠在稍后的時間點恢復會話。

快照允許更容易地重現和分析錯誤,可以由不同主機上的多方進行。

快照提高Ozone的教學和演示能力,用于培訓課程和會議。

快照作為存檔。

快照功能目前僅支持Cortex-M架構處理器

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

    關注

    31

    文章

    5336

    瀏覽量

    120230
  • 軟件
    +關注

    關注

    69

    文章

    4921

    瀏覽量

    87396
  • C++
    C++
    +關注

    關注

    22

    文章

    2108

    瀏覽量

    73618
  • 調試器
    +關注

    關注

    1

    文章

    303

    瀏覽量

    23716

原文標題:如何使用Ozone的快照功能

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

收藏 人收藏

    評論

    相關推薦

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

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

    HarmonyOS實戰開發-內存快照Snapshot Profiler功能使用指導

    DevEco Studio集成的DevEco Profiler性能調優工具(以下簡稱為Profiler),提供Time、Allocation、Snapshot、CPU等場景化分析任務類型。內存快照
    發表于 05-11 13:51

    NAS存儲如何使用SnapShot快照功能

    ,找到SnapShot,點擊安裝; 2.單擊SnapShot圖標打開應用; 3.從文件夾列表中選擇一個文件夾,點擊拍快照; 4.你也可以為共享文件夾啟用快照計劃,選中一個共享文件夾,點擊設置; 5.勾
    發表于 11-26 18:25

    SEGGER Ozone調試器使用攻略!

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

    Ozone的調試步驟

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

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

    源代碼調試和匯編指令調試。可直接使用J-Link和J-Trace內置功能,如無限flash斷點,flash下載,指令跟蹤等。在Cortex-M架構上,Ozone可以幫助用戶快速發現和分析導致CPU故障
    發表于 09-23 11:26

    如何實現Ozone項目可移植?

    SEGGER Ozone是用于J-link和J-Trace的多平臺調試、分析工具。可加載IAR,Keil,Gcc,Clang/LLVM等工具鏈生成的Elf/Dwarf可執行文件,進行C/C++源代碼
    發表于 01-05 13:56

    如何使用ozone調試雙核應用?

    在第二個core的ozone中, 點擊開始調試, 就不正常了
    發表于 05-26 08:11

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

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

    MM32F013x——巧用Ozone調試MM32

    本文將向大家詳細地介紹如何使用Ozone調試MM32 MCU,以及Ozone能給大家帶來哪些便利性,體驗這款工具的強大之處。
    發表于 02-08 16:23 ?0次下載
    MM32F013x——巧用<b class='flag-5'>Ozone</b>調試MM32

    如何使用Ozone的調試功能

    源代碼調試和匯編指令調試。可直接使用J-Link和J-Trace內置功能,如無限flash斷點,flash下載,指令跟蹤等。在Cortex-M架構上,Ozone可以幫助用戶快速發現和分析導致CPU故障的軟件錯誤。本文將介紹如何使用Ozo
    的頭像 發表于 09-06 11:26 ?5482次閱讀

    如何實現Ozone項目可移植?

    SEGGER Ozone是用于J-link和J-Trace的多平臺調試、分析工具。可加載IAR,Keil,Gcc,Clang/LLVM等工具鏈生成的Elf/Dwarf可執行文件,進行C/C++源代碼調試和匯編指令調試。
    的頭像 發表于 12-16 11:20 ?1057次閱讀

    Ozone的3.30版本——J-Link調試器發布

    SEGGER宣布最新的Ozone的3.30版本——J-Link調試器發布。此更新帶來了許多新功能和改進,將增強您的調試體驗。
    的頭像 發表于 06-13 11:37 ?1126次閱讀

    什么是DTC快照信息

    什么是DTC快照信息 DTC快照信息是通過UDS協議獲取的一種特定數據記錄,用于幫助診斷車輛故障。根據ISO 14229標準的規定,DTC快照信息就類似照相機一樣,在故障發生的時刻,對整車信息按下
    的頭像 發表于 07-26 11:13 ?3544次閱讀
    什么是DTC<b class='flag-5'>快照</b>信息

    鴻蒙開發:【設置任務快照的圖標和名稱】

    設置任務快照的圖標和名稱是為了提高用戶界面的可視化性和用戶體驗,以便更好地管理和跟蹤應用程序中的任務和功能。通過為每個任務快照設置不同的圖標和名稱,可以更輕松地區分和識別每個任務的功能
    的頭像 發表于 06-14 14:33 ?344次閱讀
    鴻蒙開發:【設置任務<b class='flag-5'>快照</b>的圖標和名稱】
    主站蜘蛛池模板: 无套内射无矿码免费看黄| sm主人调教揉花蒂H| 欧美末成年videos丨| 国产无遮挡无码视频在线观看不卡| 一边亲着一面膜下奶韩剧免费| 日韩欧美国产免费看清风阁| 久久精品免费电影| 国产欧美精品一区二区色综合| 99精品视频在线观看| 亚洲一区二区女搞男| 日韩亚洲国产欧美免费观看| 麻豆区蜜芽区| 黑人巨茎大战白人女40CMO| 出轨的妻子在线观看| 4hu四虎免费影院www| 亚洲一区在线观看无码欧美| 天堂岛www天堂资源在线| 奇米网一区二区三区在线观看| 久久国产av偷拍在线| 国产午夜AV无码无片久久96| 粗暴玩烂货调教| 97色香蕉在线| 中文字幕亚洲欧美日韩2019| 无码人妻精品一区二区蜜桃色欲 | 97久久伊人精品影院| 午夜DV内射一区区| 日日碰狠狠躁久久躁77777| 欧美00后rapper潮水| 麻豆国产原创中文AV网站| 精品久久日日躁夜夜躁AV| 国产午夜视频在永久在线观看| 初中XXXXXL| 大胸美女裸身色诱网站| 被爽到叫呻呤视频免费视频| 亚洲性夜色噜噜噜网站2258KK| 久久欧洲AV无码精品色午夜麻豆| 99久久亚洲综合精品| 色偷偷伊人| 极品少妇小泬50PTHEPON| 91精品国产色综合久久| 日韩影院久久|