痞子衡嵌入式:超級下載算法RT-UFL v1.0在Segger Ozone下的使用



  痞子衡主導的"學術"項目 《RT-UFL - 一個適用全平台i.MXRT的超級下載算法設計》 v1.0 版發布近 4 個月了,部分客戶已經在實際項目開發調試中用上了這個超級下載算法,目前反饋還可以,但這個超級下載算法遠未到成熟狀態,痞子衡正在策划 v2.0 版本。

  超級下載算法 RT-UFL v1.0 版本主要針對 Segger J-Link 調試器,開發測試也都是在 J-Link Commander 和 J-Flash 軟件下進行的,但其實它也適用各大常用 IDE,前面痞子衡分別介紹了超級下載算法在 MCUXpresso IDE / IAR / MDK 下的使用,但如果我們只有一個程序可執行文件或鏡像文件,沒有對應完整源代碼工程,還能不能愉快地在線調試?當然可以!今天我們來聊聊它在一個類 IDE 神器軟件 Segger Ozone 下的使用:

一、Segger Ozone簡介

  Ozone 是 Segger 公司出品的一款配套 J-Link 仿真器使用的應用程序調試與性能分析軟件,其界面風格跟一般的 IDE 很像,能夠提供 IDE 下所支持的全部調試功能(單步,斷點,看反匯編,查寄存器,查變量,查內存等),並且還提供更高級的性能分析功能(函數調用追蹤,變量值實時采樣,功耗測量等)。

  Ozone 僅以常見 IDE 生成的可執行文件(.elf、.axf、.out) 或鏡像文件(.hex、.srec、.bin)為輸入源,支持的工具鏈 /IDE 包含 GCC、Clang、Keil MDK、IAR 等,簡單說 Ozone 相比 IDE 除了不能編譯鏈接源代碼外,其他方面跟 IDE 一樣。

二、准備測試環境

  現在需要准備好測試環境,包含必要的軟件和硬件,痞子衡的環境如下:

  • 開發調試環境: Segger Ozone v3.24g,點此下載
  • 軟件開發包: SDK_2.10.0_EVKB-IMXRT1050,點此下載
  • 軟件驅動: J-Link driver v6.86f,點此下載
  • 硬件工具: J-Link Plus調試器
  • 硬件開發板: MIMXRT1050-EVKB (Rev.A1)

  上述軟件環境里,J-Link 軟件驅動、Ozone 版本、SDK 軟件包版本之間沒有明確依賴關系。J-Link 軟件驅動也不是一定限制在 v6.86f,只是超級下載算法 v1.0 是在這個版本下詳細測試的,其他 J-Link 版本也可能適合,具體需要進一步測試。

三、在Segger Ozone下使用步驟

3.1 將超級下載算法包打進J-Link驅動

  第一步其實跟 Ozone 無關,因為是基於 J-Link 的超級下載算法,所以要給 J-Link 軟件驅動先打個更新包,具體參照 《超級下載算法RT-UFL v1.0發布,附J-Link下安裝教程》 一文。

  • Note:痞子衡將 J-Link 軟件驅動安裝在了 C:\tools_mcu\SEGGER\JLink_V686f。

3.2 為Ozone指定包含超級下載算法的J-Link驅動

  然后我們需要指定 Ozone 去使用包含超級下載算法的 J-Link 驅動,在 \SEGGER\JLink_V686f 目錄下,有一個名為 JLinkDLLUpdater.exe 的小工具,雙擊這個工具,便可看到其搜索到了當前 PC 環境下安裝的 IDE 列表,有我們正在使用的 Ozone,勾選上 Ozone 便能完成 J-Link 驅動的指定。

3.3 准備一個SDK工程可執行文件/鏡像文件

  現在我們需要一個 IDE 工程,這里我們直接打開 \SDK_2.10.0_EVKB-IMXRT1050\boards\evkbimxrt1050\demo_apps\led_blinky 工程,注意將工程切換到 flexspi_nor build,即代碼 XIP 執行版本,編譯鏈接 led_blinky 工程得到可執行文件或者鏡像文件。

  • Note: 檢查一下 IDE 工程里的 Flash 啟動頭(evkbimxrt1050_flexspi_nor_config.c)是否與板卡上的實際 Flash 型號相匹配。

  如果給 Ozone 提供的是鏡像文件(.hex、.srec、.bin),僅能從匯編代碼以及內存、寄存器窗口去調試;如果給 Ozone 提供的是可執行文件(.elf、.axf、.out),則調試體驗更豐富,可以查看源 C 代碼以及變量,推薦使用可執行文件在 Ozone 下去調試。注意在 IDE 里生成可執行文件時,需要勾選生成調試信息,不同 IDE 下設置不同:

  IAR 工程選項里 Linker / Output 設置里勾選 Include debug information in output

  Keil 工程選項里 Output 設置里勾選 Debug Information

3.4 打開Ozone選擇合適的超級下載算法

  首次打開 Ozone 會彈出工程向導,需要設置 Device,這里就是設置超級下載算法代號(工程向導里不設置的話,后面在菜單欄 Tools / J-Link Settings 里隨時可更改),本次測試我們需要的是 MIMXRT1050_UFL_L1 算法。選定下載算法后,再選擇可執行文件便進入 Ozone 主界面。

  • Note: 超級下載算法具體代號詳見 C:\tools_mcu\SEGGER\JLink_V686f\JLinkDevices.xml 文件,代號后綴 _L0 適用 QSPI 和 Octal Flash,代號后綴 _L1/L2 適用 Hyper Flash。

3.5 確保板卡處於Flash啟動模式,開始下載調試

  將板卡供上電,確保板卡處於 NOR Flash 啟動模式(Boot Mode 以及 Boot Cfg 要設置正確)。再將 J-Link 仿真器連接上板卡,點擊 Ozone 菜單欄 Start Debug Session / Download & Reset Program 進行下載調試就可以了。

歡迎訂閱

文章會同時發布到我的 博客園主頁CSDN主頁知乎主頁微信公眾號 平台上。

微信搜索"痞子衡嵌入式"或者掃描下面二維碼,就可以在手機上第一時間看了哦。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM