痞子衡嵌入式:超級下載演算法RT-UFL v1.0釋出,附J-Link下安裝教程

痞子衡發表於2021-06-27

  痞子衡主導的"學術"專案 《RT-UFL - 一個適用全平臺i.MXRT的超級下載演算法設計》 歷時 8 個月終於迎來了 v1.0 版釋出,因為是第一個正式版,為了保證質量,痞子衡做了大量的測試工作,幾乎測遍了恩智浦官方 IMXRT-EVK 板(部分板子上還更換過不同型號Flash),確認全部板卡均測試通過,RT-UFL 達到了釋出條件。

  超級下載演算法 RT-UFL v1.0 版本主要針對 Segger J-Link 偵錯程式,這也是本專案最原始的需求。當然為了能擴充套件支援各種 DAP-Link 類偵錯程式,專案還有其他分支,即與 IDE 緊相關的下載演算法,這些分支會在後續的版本里陸續完善。

一、在J-Link下安裝

  要使用 Segger J-Link 偵錯程式去下載 Flash,就離不開 J-Link 的下載演算法,可以先瀏覽一遍痞子衡舊文 《序列NOR Flash下載演算法(J-Link工具篇)》,對 J-Link 下載演算法有個初步設計,超級下載演算法 v1.0 其實就是 J-Link 下載演算法的一種特殊實現。

1.1 安裝J-Link驅動

  Segger J-Link 偵錯程式的功能離不開上位機的 J-Link 軟體驅動,痞子衡手頭的硬體偵錯程式是正版 J-Link Plus v10.1,它可以配合不同版本 J-Link 驅動使用(如果安裝新版軟體驅動,在第一次使用時,硬體偵錯程式裡的 MCU 韌體可能會被建議更新)。

  我們可以從 Segger 官網下載到所有歷史版本 J-Link 驅動,預設總是下載最新版本驅動,但是痞子衡不能保證超級下載演算法總是適用最新版軟體驅動,所以還是建議下載安裝 v6.86f 版本驅動,這個版本是痞子衡實測的版本。

1.2 打入超級下載演算法補丁包

  安裝好 J-Link 驅動,下一步就是將超級下載演算法原始檔以補丁形式放入 J-Link 驅動,打補丁其實很簡單,就是把 \RT-UFL-1.0\algo\SEGGER\JLink_Vxxx 路徑下的全部檔案拷貝覆蓋到 \SEGGER\JLink_V686f\ 目錄下即可。

1.3 使用J-Flash測試

  打完超級下載演算法補丁後,可以先用 J-Link 驅動裡的 JFlash 上位機軟體測試一下功能。雙擊開啟 JFlash.exe 軟體,在新建工程 "Target device" 選項框裡輸入 "UFL" 選擇對應 i.MXRT 晶片型號即可,其中 _L0 字尾演算法適用於 QSPI Flash 和 Octal Flash(Page 大小是256 Bytes,Sector 大小是 4KB),_L1/2 字尾演算法適用於 Hyper Flash(Page大小是512 Bytes,Sector 大小是 4KB/64KB)。

  痞子衡測試的板卡是 MIMXRT1062-EVK,板載 Flash 為 IS25WP064A,這是顆典型的 QSPI Flash,因此建 J-Flash 工程時選擇 "MIMXRT1060_UFL_L0",然後選擇你要下載的 App 映象檔案,依次點選選單欄 "Target" 裡的 Connect 和 Production Programming 操作即可完成超級下載演算法的測試。

  • Note: 建議將 i.MXRT 的 Boot Mode 設為從 Flash 啟動,並且保證 Flash 裡已有 App 是能正常啟動的(即 App 沒有跑飛)。

1.4 指定J-Link驅動給IDE

  超級下載演算法除了在 J-Flash 下量產使用之外,還會在各大 IDE 下用於輔助在 Flash 下載除錯。因此我們需要將打過超級下載演算法補丁的 J-Link v6.86f 驅動指定到各 IDE 下(用於取代各 IDE 下自帶的 J-Link 驅動),這裡藉助 JLinkDLLUpdater.exe 軟體來實現。注意 MCUXpresso IDE 不能被自動識別,其指定 J-Link 驅動方法見下文。

二、在各IDE下使用

  每個 IDE 一般都有自定義的下載演算法,這個下載演算法常常是配套 DAP-Link 類偵錯程式使用的,當然在 J-Link 偵錯程式下一樣可以使用(MCUXpresso IDE除外)。關於各 IDE 演算法設計參看痞子衡舊文:

《序列NOR Flash下載演算法(MCUXpresso IDE篇)》
《序列NOR Flash下載演算法(IAR EWARM篇)》
《序列NOR Flash下載演算法(Keil MDK篇)》

  現在我們有了基於 J-Link 的超級下載演算法,這個下載演算法是否可以在各 IDE 下直接使用呢?答案是肯定的,由於每個 IDE 下具體設定不一,痞子衡會另寫文章一一介紹。

歡迎訂閱

文章會同時釋出到我的 部落格園主頁CSDN主頁知乎主頁微信公眾號 平臺上。

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

相關文章