打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
MDK程序下载

MDK编程算法

  用过MDK下载程序的小伙伴可能都知道,在下载程序之前需要都在Debug设置的Flash Download子选项卡选择编程算法。大多数时候,

我们只要安装了芯片包之后,就可以直接得到对应的编程算法,并不需要我们去修改它。但是,当你是一个芯片包的开发者,或者你有独特

的下载需求(比如在你的程序里加入一些校验信息),这个时候你就需要去了解它了!

 

 

  编程算法呢,说白就其实也就是一段程序,主要功能就是擦除相应的内存块,并将我们的程序写入到相应的内存区域上去。

在你点击下载按钮的时候,这段程序会被先下载到RAM上(RAM for Algorithm上的设置),然后才会通过它,将你的程序写入到

指定的内存区域内。

 

实现一个自己的编程算法

  怎么去实现一个自己的编程算法?首先我们找到自己的MDK的安装路径,进入到ARM\Flash文件夹下(例如:D:\Keil_v5\ARM\Flash)。

这里有个编程算法的工程模板,复制这个工程到你的工程文件夹下,重命名你自己的想要的名字。

 

   打开工程,里面主要有两个文件 FlashPrg.c 和 FlashDev.c:

 

  FlashDev.c主要实现了一个设备相关的结构体(根据自己的Flash情况去实现)

 

   

  比如STM32L051实现如下:

 

 

  FlashPrg.c实现了几个Flash编程相关的函数:

 

   根据自己的需要去实现,STM32L051实现如下:

FlashPrg.c

  

  从上面我们就可以看出了,下载程序的时候就是调用了上面的几个函数,跟我们自己写Flash没有太大的区别。那么程序都编程完成之后,

怎么生成FLM文件呢?我们先编译工程,完成之后你去看你的工程输出目录,这个时候你就已经可以找到FLM后缀的文件了,这个就是你自己

的编程算法,把它复制到 ' MDK安装路径 '\ARM\Flash下面就可以了,在选项卡里选择你自己的编程算法就可以使用了。

  

结束

  到这里,你已经可以自己实现一个编程算法了。但是细心的小伙伴可能会发现,这个过程下来其实和我们自己的项目工程没有什么区别,

但是为什么我们自己的工程就生成不了FLM文件呢?哈哈,小伙伴可以自己看一看编译的日志,有没有类似下面的日志

 

   原来.FLM文件跟.axf文件是一样的,就是改了一下文件后缀。具体.axf文件又是什么呢?哈哈, 我就不说了,感兴趣的小伙伴们可以自己去了解一下!

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
怎么重写MDK(KEIL)Flash烧写程序
STM32F103ZET6开发板第1开发板常用的3种下载程序的方式
STM32 MDK3.8在SRAM中调试
H7-TOOL再次迎来重大更新,全面支持USB和以太网两种脱机烧录文件配置和传输方式,并且都可以使用...
小猫爪:嵌入式小知识08-KEIL/IAR FLASH算法
痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU硬件那些事(2.3)- 串行NOR Flash下载算法(J-Link工具篇)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服