0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎么样实现烧写算法FLM文件

单片机匠人 来源:张飞实战电子 作者:黄忠老师 2021-11-01 09:55 次阅读

当我们在开发过程中用到MDK下载程序的时候可能都知道,在下载程序之前需要都在Debug设置的Flash Download子选项卡选择编程算法。大多数时候,我们只要安装了芯片包之后,就可以直接得到对应的编程算法,并不需要我们去修改它。但是,当我们是一个芯片包的开发者,或者我们有独特的下载需求(比如在程序里加入一些校验信息),这个时候我们就需要去了解它了!

编程算法其实就是一段程序,主要功能就是擦除相应的内存块,并将我们的程序写入到相应的内存区域上去。在点击下载按钮的时候,这段程序会被先下载到RAM上(RAM for Algorithm上的设置),然后才会通过它,将用户写的程序写入到指定的内存区域内。

怎么去实现一个自己的编程算法?首先我们找到自己的MDK的安装路径,进入到ARMFlash文件夹下。这里有个编程算法的工程模板,复制这个工程到你的工程文件夹下,重命名你自己的想要的名字。

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

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

5d793bf2-3a19-11ec-82a9-dac502259ad0.png

比如STM32F103实现如下:

5dd88800-3a19-11ec-82a9-dac502259ad0.png

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

5e3d6dc4-3a19-11ec-82a9-dac502259ad0.png

根据自己的需要去实现,从上面我们就可以看出,下载程序的时候就是调用了上面的几个函数,跟我们自己写Flash没有太大的区别。那么程序都编程完成之后,怎么生成FLM文件呢?我们先编译工程,完成之后你去看你的工程输出目录,这个时候你就已经可以找到FLM后缀的文件了,这个就是我们自己的编程算法,把它复制到 ‘ MDK安装路径 ’ARMFlash下面就可以了,在选项卡里选择我们自己的编程算法就可以使用了。但是为什么我们自己的工程就生成不了FLM文件呢?工程中的.axf文件跟.FLM文件是一样的,把.axf后缀改为.FLM即可。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    459

    文章

    51583

    浏览量

    429828
  • FlaSh
    +关注

    关注

    10

    文章

    1649

    浏览量

    149528
  • PLM
    PLM
    +关注

    关注

    2

    文章

    132

    浏览量

    21041

原文标题:烧写算法FLM文件如何实现呢?

文章出处:【微信号:gh_e7f294a514ca,微信公众号:单片机匠人】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    迅为RK3588开发板技术分享 TF卡大于4G容量镜像

    RK3588技术分享 | TF卡大于4G容量镜像
    的头像 发表于 03-10 14:39 129次阅读
    迅为RK3588开发板技术分享 TF卡<b class='flag-5'>烧</b><b class='flag-5'>写</b>大于4G容量镜像

    Linux固件中的陷阱:文件系统异步写入引发的问题

    在工业生产中,固件是确保产品正常运行的关键环节。本文通过一个实际案例,揭示了Linux系统下因文件写入异步性导致的固件不完全问题。客
    的头像 发表于 03-07 11:34 97次阅读
    Linux固件<b class='flag-5'>烧</b><b class='flag-5'>写</b>中的陷阱:<b class='flag-5'>文件</b>系统异步写入引发的问题

    【北京迅为】itop-3568 开发板openharmony鸿蒙及测试-第1章 体验OpenHarmony—镜像

    【北京迅为】itop-3568 开发板openharmony鸿蒙及测试-第1章 体验OpenHarmony—镜像
    的头像 发表于 03-04 16:31 172次阅读
    【北京迅为】itop-3568 开发板openharmony鸿蒙<b class='flag-5'>烧</b><b class='flag-5'>写</b>及测试-第1章 体验OpenHarmony—<b class='flag-5'>烧</b><b class='flag-5'>写</b>镜像

    请问DLPC4422 flash首次需要离线完成吗?

    做了一块dlpc4422单板,flash第一次需要使用片机进行吗,文件是.img
    发表于 02-26 07:07

    DLPC350的时候,总是卡在3%,为什么?

    无法连接DLP350.再次断电,把D18(HOLD_BOOT_LOADER)管脚拉低,再次上电,发现LightCrafter4500,可以识别DLP350.然后尝试DLPR350PROM_v4.1.0.bin文件,依然卡在3
    发表于 02-21 08:05

    迅为RK3588开发板实时系统编译-Preemption系统/ Xenomai系统编译-实时系统-固件

    到RKDevTool_Release_v2.84 文件夹,如下图所示: 2.拷贝镜像 进入 RKDevTool_Release_v2.84 文件夹,将镜像放在器的 image
    发表于 02-18 11:32

    请问DLPC3479如何固件?

    1.已下载了3479firmware,.img文件。请问是直接通过器将.img文件写到spi flash中吗?还是先将.img解压(
    发表于 02-18 06:31

    飞凌嵌入式ElfBoard ELF 1板卡-mfgtools烧录流程介绍之所需镜像

    \\files目录下: 我们提供的工具包中已经包含了默认配置的镜像,如果想要自己的镜像内容,替换对应目录下的文件即可,需要注意的点是镜像名称一定要修改和默认镜像名称一的名字,才
    发表于 12-20 09:05

    可重复的语音芯片具备哪些特点?

    可重复语音芯片具有高可靠性、低功耗、灵活性、安全性、成本效益,支持USB下载更换语音,组合播放,PWM和DAC输出,休眠模式和抗干扰,适合工业及需修改语音场合。
    的头像 发表于 07-16 09:36 314次阅读

    FPGA能实现什么算法

    FPGA功能如此强大,请问用FPGA能实现或者比较适合实现什么算法
    发表于 05-26 20:18

    STM8S207怎么限制hex文件次数?

    求问各位大神我们用的STM8S207芯片,开发环境IAR,程序编写基本完成 批量生产打算让合作的厂商自己程序,我们只按板子个数收费,但提供
    发表于 05-11 07:12

    请问ARM Cortex系列器哪个快一点?

    最近一个工程文件有点大,用STLink需要40多秒,CMSIS-CAP需要30秒左右,jlink没试过,我还知道用带USB的Boot
    发表于 05-10 06:15

    STM8S001可以用FLASH Loader DemoHEX文件吗?

    STM8S001可以用FLASH Loader Demo HEX文件
    发表于 04-19 08:02

    STM32G0x0_OPT.FLM文件怎么在MDK工程里使用?

    STM32G0x0_128.FLM文件可以在工程里直接添加实现代码的烧录调试,但是STM32G0x0_OPT.FLM不知道如何使用?MDK工程要怎么修改?有例程吗?
    发表于 03-29 06:33

    如何使用OPT_FLM文件实现解除读保护功能?

    MDK工程里debug选项选择烧录的FLM文件就可以下载调试代码,那OPT_FLM文件该怎么在工程里使用实现解除读保护功能呢?直接在debu
    发表于 03-28 07:11