痞子衡主導的"學術"項目 《RT-UFL - 一個適用全平台i.MXRT的超級下載算法設計》 v1.0 版發布近 4 個月了,部分客戶已經在實際項目開發調試中用上了這個超級下載算法,目前反饋還可以,但這個超級下載算法遠未到成熟狀態,痞子衡正在策划 v2.0 版本。
- RT-UFL v1.0下載地址: https://github.com/JayHeng/RT-UFL/archive/refs/tags/v1.0.zip
超級下載算法 RT-UFL v1.0 版本主要針對 Segger J-Link 調試器,開發測試也都是在 J-Link Commander 和 J-Flash 軟件下進行的,但其實它也適用各大常用 IDE,今天我們就來聊聊它在 MCUXpresso IDE 下的使用:
一、准備測試環境
首先需要准備好測試環境,包含必要的軟件和硬件,痞子衡的環境如下:
上述軟件環境里,MCUXpresso IDE 版本與 SDK 軟件包版本之間有一定依賴關系(見下圖),但 J-Link 軟件驅動版本與 MCUXpresso IDE 版本沒有明確依賴關系。
J-Link 軟件驅動不是一定限制在 v6.86f,只是超級下載算法 v1.0 是在這個版本下詳細測試的,其他 J-Link 版本也可能適合,具體需要進一步測試。
二、在MCUXpresso IDE下使用步驟
2.1 將超級下載算法包打進J-Link驅動
第一步其實跟 MCUXpresso IDE 無關,因為是基於 J-Link 的超級下載算法,所以要給 J-Link 軟件驅動先打個更新包,具體參照 《超級下載算法RT-UFL v1.0發布,附J-Link下安裝教程》 一文。
- Note: MCUXpresso IDE 安裝過程中會順便在 C:\Program Files (x86)\SEGGER\JLink 路徑下安裝一個默認的 J-Link 驅動(版本不可控,應該是跟 MCUXpresso IDE 匹配的),但為了避免不可預見的問題發生,最好自己手動安裝一個明確的 J-Link 驅動版本來使用(痞子衡安裝在了 C:\tools_mcu\SEGGER\JLink_V686f)。
2.2 使用MCUXpresso IDE導入一個SDK工程
然后我們需要一個 MCUXpresso IDE 工程,參照 《MCUXpresso IDE下SDK工程導入與workspace管理機制》 一文,這里我們導入了 \SDK_2.10.0_EVKB-IMXRT1050\boards\evkbimxrt1050\demo_apps\led_blinky 工程。
2.3 在SDK工程設置里指定包含超級下載算法的J-Link驅動
前面講了,在安裝 MCUXpresso IDE 時會同時安裝一個默認 J-Link 驅動,MCUXpresso IDE 會默認調用這個驅動,我們需要在 MCUXpresso IDE 里重設 J-Link Server 路徑,指向打了超級下載算法的 J-Link 驅動。
- Note: MCUXpresso IDE 安裝目錄 \MCUXpressoIDE_11.4.0_6224\ide\binaries\Flash 下自帶的 .cfg 格式下載算法主要適用 CMSIS-DAP 型硬件仿真器,不可用於 J-Link 仿真器,在這點上 MCUXpresso IDE 與其他 IDE 設計不太一樣。
2.4 確保板卡處於Flash啟動模式且SDK工程能夠XIP
現在可以將板卡供上電,確保板卡處於 NOR Flash 啟動模式(Boot Mode 以及 Boot Cfg 要設置正確),然后再檢查一下 MCUXpresso IDE 工程里的 Flash 啟動頭是否與板卡上的實際 Flash 型號相匹配。
- Note:要想在 IDE 設置的 Hardware Reset 復位類型下實現在 Flash 調試,上述條件必須要滿足,但如果改為 Software/Core Reset 類型,則板卡啟動模式以及工程里 Flash 啟動頭並不影響調試。
2.5 選擇合適的超級下載算法進行在線下載調試
還差最后一步就可以愉快地在 Flash 調試了,我們將 J-Link 仿真器連接上板卡,點擊左下角 J-Link 圖標進行調試會出現一個彈框,IDE 會自動發現可用的 J-Link 設備,點擊確認后會在工程目錄下生成一個 xxProject JLink Debug.launch 文件,雙擊這個 .launch 文件進入 J-Link 具體設置界面,這里主要是要在 JLink Debugger 下的 Device 里填入超級下載算法代號(下拉選項里沒有,需要手動輸入),然后就可以正常下載調試了(如果調試不穩定,可嘗試降低 J-Link Speed)。
- Note: 超級下載算法具體代號詳見 C:\tools_mcu\SEGGER\JLink_V686f\JLinkDevices.xml 文件,代號后綴 _L0 適用 QSPI 和 Octal Flash,代號后綴 _L1/L2 適用 Hyper Flash。
歡迎訂閱
文章會同時發布到我的 博客園主頁、CSDN主頁、知乎主頁、微信公眾號 平台上。
微信搜索"痞子衡嵌入式"或者掃描下面二維碼,就可以在手機上第一時間看了哦。