痞子衡嵌入式:在MDK5.40开发环境下添加用户下载算法FLM文件的方法


大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是在MDK5.40开发环境下添加用户下载算法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开发环境下添加用户下载算法FLM文件的方法痞子衡便介绍完毕了,掌声在哪里~~~

欢迎订阅

文章会同时发布到我的 博客园CSDN微信公众号知乎与非网电子技术应用AET电子星球51CTO 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。