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