SEGGER J-Flash烧写stm32程序

stm32单片机编程常用开发工具有MDK、IAR、STM32Cube系列等。但是等到开发完成之后,转交生产进行批量烧写程序的时候,总不能扔过去一套开发工具,这时候用的比较多的就有J-Flash,只需一个J-link,一个HEX文件(由开发工具中编译链编译出来),再加上一个SEGGER J-Flash上位机软件即可完成stm32单片机的程序烧写(其他芯片暂时未使用过)。

1. 创建工程

第一次打开J-Flash,大概是这个样子(我用的J-Flash版本为V6.44),你看看,它上面说读到了6836个设备!!
在这里插入图片描述
我们选择第二个新建工程,Create a new project(如果之前有保存的jflash工程文件,也可以第一个选择打开)。什么?你不小心点了叉?OKOK,没有关系,左上角File->New project可以达到同样的效果。
在这里插入图片描述

  • Target Device,在( … )里面,选择自己使用的芯片,我这里使用的为意法半导体的stm32
    l471re,之后点击OK,该芯片为小端模式(Little endian);
    在这里插入图片描述

  • Target Interface 常用SWD,根据自己硬件接口进行选择,我这里是SWD;

  • Speed使用默认4000KHz即可

点击OK即可完成工程创建,可以看到选择芯片的详细信息。

在这里插入图片描述

2. 下载文件

  • File->Open data file,查找打开需要烧写的hex文件

在这里插入图片描述stm32的flash地址从0x8000000开始,L471RE的flash大小为512KB
在这里插入图片描述

  • 将J-Link连接上单片机;
  • Target->Conncet,将J-Flash与单片机进行连接,连接成功后,Target->Product Programming开始下载程序。
    在这里插入图片描述在这里插入图片描述
  • 至此,程序下载完成。
  • 关闭J-Flash时,可以保存下工程文件,下次使用工程文件打开,无需重新选择芯片。

3. 读回文件

我们可以使用J-Flash将stm32存储在flash中的程序读取出来(当然单片机不能是各种读写保护之类的状态)。

  • Target->Manual Programming->Read back->Selected sectors
    读出的文件可以与原烧写文件进行对比,发现数据相同(有多出来的FF,因为读回的是整个flash,也可以使用Range读回部分flash数据)。
    在这里插入图片描述

版权声明:本文为hard_lilimao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/hard_lilimao/article/details/123206190