痞子衡嵌入式:在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 平台上。
微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

痞子衡嵌入式:在MDK5.40开发环境下添加用户下载算法FLM文件的方法的更多相关文章
- 痞子衡嵌入式:在IAR开发环境下将关键函数重定向到RAM中执行的三种方法
		
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下将关键函数重定向到RAM中执行的三种方法. 嵌入式项目里应用程序代码正常是放在 Flash 中执行的,但有时候也需要将 ...
 - 痞子衡嵌入式:在IAR开发环境下为工程开启CRC完整性校验功能的方法
		
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下为工程开启CRC完整性校验功能的方法. CRC校验在嵌入式领域里的应用非常广,比如在通信领域,CRC检验值可以作为数据 ...
 - 痞子衡嵌入式:在MDK开发环境下将关键函数重定向到RAM中执行的几种方法
		
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在MDK开发环境下将关键函数重定向到RAM中执行的几种方法. 这个关键函数重定向到 RAM 中执行系列文章,痞子衡已经写过 <IA ...
 - 痞子衡嵌入式:在IAR开发环境下RT-Thread工程函数重定向失效分析
		
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下RT-Thread工程函数重定向失效分析. 痞子衡旧文 <在IAR下将关键函数重定向到RAM中执行的方法> ...
 - 痞子衡嵌入式:在IAR开发环境下将整个源文件代码重定向到任意RAM中的方法
		
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下将整个源文件代码重定向到任意RAM中的方法. 痞子衡旧文 <在IAR下将关键函数重定向到RAM中执行的方法> ...
 - Nginx环境下,PHP下载,中文文件,下载失效(英文可以下载)怎么解决呢?
		
参考出处: http://www.imooc.com/qadetail/76393 Nginx环境下,PHP下载,中文文件,下载失效(英文可以下载)怎么解决呢? 背景介绍: 文件名 为英文时可以下载 ...
 - 痞子衡嵌入式:一种i.MXRT下从App中进入ROM串行下载模式的方法
		
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT下在App中利用ROM API进ISP/SDP模式的方法. 我们知道i.MXRT系列分为两大阵营:CM33内核的i.MXRT ...
 - 痞子衡嵌入式:i.MXRT全系列下FlexSPI外设AHB Master ID定义与AHB RX Buffer指定的异同
		
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT全系列下FlexSPI外设AHB Master ID定义与AHB RX Buffer指定的异同. 因为 i.MXRT 全系列 ...
 - 痞子衡嵌入式:聊聊i.MXRT1170双核下不同GPIO组的访问以及中断设计
		
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1170双核下不同GPIO组的访问以及中断设计. 在双核 i.MXRT1170 下设计应用程序,有一个比较重要的考虑点就是外 ...
 - VSCode调试Html中的脚本  vscode前端常用插件推荐,搭建JQuery、Vue等开发环境  vsCode 添加浏览器调试和js调试的方法总结  VS Code - Debugger for Chrome调试js
		
一.背景 使用Visual Studio Code写了一个简单的Html页面,想调试下其中script标签里的javascript代码,网上查了一通,基本都是复制粘贴或者大同小异的文章,就是要安装De ...
 
随机推荐
- Tengine-rpm 基于Tengine 3.1深度定制优化
			
Tengine RPM Tengine是亚洲最大的电子商务网站淘宝网推出的高性能的HTTP和反向代理web服务器.它基于 Nginx HTTP 服务器,拥有许多高级功能.事实证明,Tengine 在淘 ...
 - Mono GC
			
1.虽然是stw但mark阶段可以concurrent 2.并行mark就需要写屏障 3.unity的gc也不是扫描整个堆内存 https://schani.wordpress.com/2012/12 ...
 - 自定义控件,重写 TextBox 实例
			
项目中可能会遇到重写控件的情况,特此记录下: 1 <Window x:Class="WpfApp6.MainWindow" 2 xmlns="http://sche ...
 - sonarqube+gitlab+jenkins+maven集成搭建(四)
			
安装Gitlab 关闭firewalld防火墙和selinux防火墙,如图1-2:[root@localhost ~]# systemctl stop firewalld[root@localhost ...
 - Java日期格式化中的“YYYY”陷阱:为什么跨年周会让你的年份突然+1?.md
			
结论先行 在Java中使用 YYYY-MM-dd 格式化日期时,若日期所在的周跨年,年份可能会被错误计算为下一年(如2021年12月26日显示为2022年).而使用 yyyy-MM-dd 会始终返回正 ...
 - 从零到一:利用金仓社区数据,LoRa微调与Spring AI 构建私有化千问模型
			
上次我们在Coze平台上成功搭建了一个针对金仓问题的解决助手.这个智能体的核心工作流程相对简单:每次它通过HTTP接口调用插件,在金仓平台内部进行搜索,随后利用大模型的推理能力对查询结果进行分析,从而 ...
 - Gin 实现基础 CRUD 接口
			
前面2篇讲了关于 gin + mysql + jwt + rbac 等基础 web搭建操作, 主要目的还是学习 go 语言的一些应用工具, 然后本篇继续来实现一个名为 notice 的公告模块, 包含 ...
 - RISC-V指令:逻辑指令与移位指令
			
本节将继续学习逻辑指令(and.or.xor)和移位指令(sll.srl.sra) 逻辑指令 从CPU芯片电路角度来看,其实CPU更擅长指令逻辑操作,如与.或.异或 RISC-V指令集中包含了三种逻辑 ...
 - SgLang代码细读-2.forward过程
			
SgLang代码细读-2.forward过程 总览 Forward的主要过程围绕着 run_batch->TPModelWorker->ModelRunner->Model-> ...
 - MCP Server 实践之旅第 3 站:MCP 协议亲和性的技术内幕
			
作者:柳下,西流 背景 在分布式架构设计中,请求亲和性是实现有状态服务高可用的核心技术,通过将具备相同会话标识的请求智能路由至固定计算节点,保障会话连续性及缓存有效性.然而在 Serverless 范 ...