搜索
查看: 1918|回复: 4

[原创] 【STM32G071】2磁盘方式下载固件

[复制链接]

该用户从未签到

32

主题

1829

帖子

177

蝴蝶豆

论坛元老

最后登录
2021-5-11
发表于 2019-1-9 19:38:48 | 显示全部楼层 |阅读模式
本帖最后由 Angel_YY 于 2019-1-23 22:37 编辑

在之前的一贴中,遇到IAR编译成功但是下载出现错误的问题,对于此问题暂时还没有解决方案,不过对于习惯使用IAR进行开发的人来说,不能下载确实是一个问题,幸好开发板的板载STLink提供了MSD磁盘方式下载功能,可通过鼠标拖拽的方式下载固件。接下来我们看看如何实现。在上一贴中,实现了试用STM32CubeMX生成自己编写的LED灯闪烁的程序,接下来我们看看如何恢复开发板出厂所带的固件。
0001.png
在STM32CubeMX的G0库中,附带了开发板出厂所带固件的项目,路径和项目如上图所示。
0002.png
首先双击打开IAR的工程,编译一些,发现没有错误。
0003.png
在项目的Exe文件夹中可看到生成了开发板的Demo固件STM32G071RB-Nucleo.hex。这个固件格式是不能直接拖拽到磁盘进行固件更新的,需要生成bin格式的文件才可以。
0004.png
在项目文件最顶层右击鼠标,菜单中选择Options。
0005.png
在Options窗口左侧选择Output Converter,右侧output fromat下拉列表框中默认的是Inter Extended hex,也就是编译完成后会生成hex格式的固件。在这里选择Raw binary。
0006.png
在output file项中去掉Override default,下面的文件名自动改为Project.bin了,当然如果想自定义生成bin文件的名称,在这里选中Override default 后再下面自己输入一个文件名也可以,这里使用默认的bin文件名就可以了。
0007.png
再从新编译后,可以在Exe文件夹中看到多了一个Project.bin文件,大小约为40KB,这个就是我们所需要的bin文件了。
0008.png
把开发板通过USB接口连接到PC机,如果驱动正常的话,就会有一个磁盘生成,名称为NODE_G071RB,大小为156KB,这里的大小不用管它,因为毕竟是STLink模拟出来的,不是STM32G071的真实Flash大小。
0009.png
把Project.bin通过鼠标拖拽的方式放入到磁盘中。
0010.png
固件会自动写入单片机,写入完成后开发板会自定重启,并执行新的固件程序。
0011.gif
此时给开发板断电重启,开发板已经开始跑出厂自带的Demo程序了。


总结:在IAR解决下载问题之前,可以通过磁盘下载的方式下载IAR编译的固件,此种方式下载也是很方便的,只是这个过程不能调试。

回复

使用道具 举报

  • TA的每日心情
    奋斗
    2021-4-15 11:47
  • 签到天数: 537 天

    [LV.9]

    29

    主题

    2176

    帖子

    127

    蝴蝶豆

    论坛元老

    最后登录
    2023-8-27
    发表于 2019-1-10 12:40:59 | 显示全部楼层
    支持一下~~~
    回复

    使用道具 举报

    该用户从未签到

    32

    主题

    1829

    帖子

    177

    蝴蝶豆

    论坛元老

    最后登录
    2021-5-11
     楼主| 发表于 2019-1-10 13:29:03 | 显示全部楼层

    感谢支持
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13

    主题

    731

    帖子

    164

    蝴蝶豆

    金牌会员

    最后登录
    2021-3-7
    发表于 2019-1-10 21:48:19 | 显示全部楼层
    楼主是把BIN文件拖入STLINK的虚拟USB磁盘里面,然后STLINK自动把bin文件烧录到STM32G071RB 吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    32

    主题

    1829

    帖子

    177

    蝴蝶豆

    论坛元老

    最后登录
    2021-5-11
     楼主| 发表于 2019-1-10 22:12:49 | 显示全部楼层
    nyszx 发表于 2019-1-10 21:48
    楼主是把BIN文件拖入STLINK的虚拟USB磁盘里面,然后STLINK自动把bin文件烧录到STM32G071RB 吗? ...

    是的,完全正确。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

    GMT+8, 2024-4-20 04:38 , Processed in 1.176477 second(s), 37 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表