痞子衡嵌入式:MDK5.40下從DFP包路徑添加用戶下載算法FLM文件的方法
大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家分享的是MDK5.40下從DFP包路徑添加用戶下載算法FLM文件的方法。
最近痞子衡給一個 RT1170 客戶制作了一個 SEGGER 下載算法,在 J-Flash 下測試一切正常,于是直接發給了客戶。當客戶嘗試將這個下載算法添加進 MDK 里使用時發現無法成功添加(我們知道 SEGGER 與 MDK 下載算法共用了同一套 API 接口與文件格式 FLM,原則上兩者可以互相替代),這是怎么回事?今天痞子衡就來聊聊這個話題:
- Note: 測試 MDK 版本為 V5.40
一、傳統添加算法方法失效
MDK 安裝完成后,在如下路徑會放一些下載算法。當我們制作好一個新的下載算法后,傳統的方法就是將這個算法 FLM 文件直接拷貝一份放到該路徑下:
MDK自帶下載算法路徑:\Keil_v5\ARM\Flash
這時隨便打開一個 MDK 工程,找到算法選擇界面(Origin 屬性為 MDK Core 表明是自帶算法路徑),就會看到這個新算法(由于算法可能會重名,這里主要看下方文件路徑),選中保存似乎就可以了,然而不幸的是,當你再次打開算法選擇界面會發現這個算法選擇沒有被正常保存。這就是客戶遇到的問題。
- Note:該問題在早期 MDK v5.31 應該不存在,V5.40 可能更改了設計(也可能是 bug)

要解決這個問題,也有替代方法,那就是在 MDK 里直接用我們在 SEGGER 安裝目錄里添加的的新下載算法(詳見 《超級下載算法RT-UFL v1.0在Keil MDK下的使用》 一文 2.5 小節),不過這個替代方法僅適合 J-Link 調試器,如果用 DAP-Link 調試器那就無能為力了。所以我們還是要直接解決 MDK 添加算法問題。
二、借助DFP包來添加算法
如果你閱讀過痞子衡舊文 《NOR Flash下載算法(Keil MDK篇)》 應該知道 MDK 從 V5 開始分成 MDK Core 和 Software Packs 兩部分,后者是全新的芯片支持包管理方式。在 Pack Installer 里可以安裝芯片 DFP 包, DFP 包里也包含下載算法:

DFP下載算法路徑:\Arm\Packs\NXP\MIMXRT1176_DFP\25.03.00\devices\MIMXRT1176\arm
我們試試將自己制作的下載算法添加到這個 DFP 包下載算法路徑里,然后編輯 .pdsc 文件(默認文件屬性是 Read-only,需更改文件屬性方可編輯)照葫蘆畫瓢添加一句代碼完成新算法的支持。

如果此時 MDK 工程是打開的狀態,需要先關閉一下再重新打開(否則 DFP 包里新添加算法不能正常識別),找到算法選擇界面(Origin 屬性為 DFP 表明是DFP算法路徑),看到新添加算法選中保存,這次就能正常保存了,客戶問題完美解決。

至此,MDK5.40下從DFP包路徑添加用戶下載算法FLM文件的方法痞子衡便介紹完畢了,掌聲在哪里~~~
歡迎訂閱
文章會同時發布到我的 博客園、CSDN、微信公眾號、知乎、與非網、電子技術應用AET、電子星球、51CTO 平臺上。
微信搜索"痞子衡嵌入式"或者掃描下面二維碼,就可以在手機上第一時間看了哦。

最后歡迎關注痞子衡個人微信公眾號【痞子衡嵌入式】,一個專注嵌入式技術的公眾號,跟著痞子衡一起玩轉嵌入式。
衡杰(痞子衡),目前就職于恩智浦(NXP)半導體MCU系統應用部門,擔任高級嵌入式系統應用工程師。
專欄內所有文章的轉載請注明出處:http://www.rzrgm.cn/henjay724/
與痞子衡進一步交流或咨詢業務合作請發郵件至 hengjie1989@foxmail.com
可以關注痞子衡的Github主頁 https://github.com/JayHeng,有很多好玩的嵌入式項目。
關于專欄文章有任何疑問請直接在博客下面留言,痞子衡會及時回復免費(劃重點)答疑。
痞子衡郵箱已被私信擠爆,技術問題不推薦私信,堅持私信請先掃碼付款(5元起步)再發。
浙公網安備 33010602011771號