掌握工程化固件烧录,开启你的技术进阶之路-STM32系列

发布于:2025-07-18 ⋅ 阅读:(18) ⋅ 点赞:(0)

在当今电子技术飞速发展的时代,单片机作为一种高度集成化的微型计算机,广泛应用于工业控制、智能家居、消费电子等众多领域。单片机要实现特定的功能,离不开固化程序的烧录,它是将预先编写好的程序代码写入到单片机内部存储芯片中的过程。本文将聚焦于STM32、GD等常见单片机系列,对其固化程序烧录以及批量烧录展开全面且深入的介绍。

常见单片机系列概述

STM32系列单片机是意法半导体(STMicroelectronics)推出的32位微控制器产品,以其高性能、低功耗、丰富的外设资源和良好的开发环境而闻名。它拥有多个产品线,如STM32F0、STM32F1、STM32F4等,不同产品线适用于不同的应用场景,从简单的嵌入式控制到复杂的工业自动化系统都能胜任。

GD系列单片机则是国产芯片厂商兆易创新(GigaDevice)的代表产品。GD单片机在性能上与国际知名品牌的产品相当,同时具有成本低、供货稳定等优势。它同样具备丰富的外设和接口,广泛应用于物联网、智能电表、安防监控等领域。由于其出色的性价比,近年来在国内市场上逐渐获得了众多工程师的青睐。

固化程序烧录

固化程序烧录是单片机开发过程中的关键环节。对于STM32系列单片机,常见的烧录方式有ST-Link、JTAG(Joint Test Action Group)和SWD(Serial Wire Debug)等。ST-Link是意法半导体官方推荐的烧录工具,它通过USB接口与计算机连接,操作简单方便,支持高速的程序下载和调试。JTAG是一种国际标准测试协议,它可以对芯片内部的电路进行测试和调试,同时也能用于程序烧录。不过,JTAG接口需要较多的引脚,在一些引脚资源紧张的应用中不太适用。SWD则是一种简化的调试接口,只需要两根线(时钟线和数据线)就能完成程序烧录和调试功能,具有占用引脚少、速度快等优点。

以STM32F103为例,使用ST-Link进行程序烧录时,首先需要安装ST-Link驱动程序,然后将ST-Link与单片机开发板正确连接。在开发环境(如Keil MDK)中配置好烧录选项,包括选择正确的芯片型号、烧录算法等。最后,点击烧录按钮,开发环境会将编译好的程序代码通过ST-Link下载到单片机的闪存中。在烧录过程中,需要注意电源的稳定性和烧录工具与开发板之间的连接是否牢固,否则可能会导致烧录失败。

对于GD系列单片机,常用的烧录方式有GD-Link和ISP(In-System Programming)。GD-Link是兆易创新官方提供的烧录工具,与ST-Link类似,它也通过USB接口与计算机连接,支持对GD单片机进行程序烧录和调试。ISP是一种在系统编程方式,它允许在单片机已经安装到电路板上的情况下进行程序烧录,无需将芯片从电路板上取下。通过串口或SPI接口,将程序代码发送到单片机的引导加载程序中,然后由引导加载程序将代码写入到闪存中。这种方式特别适用于产品的现场升级和维护。

批量烧录

在实际生产过程中,往往需要对大量的单片机进行程序烧录。这时,批量烧录就显得尤为重要。批量烧录可以提高生产效率,降低生产成本。对于STM32和GD系列单片机,都有相应的批量烧录解决方案。

一种常见的批量烧录方法是使用烧录器阵列。通过将多个烧录器连接到同一台计算机上,利用专门的批量烧录软件,可以同时对多个单片机进行程序烧录。这种方法适用于大规模生产,能够显著提高烧录效率。例如,在一些电子产品制造工厂中,使用烧录器阵列可以在短时间内完成数千片单片机的程序烧录任务。

另一种批量烧录方式是使用在线烧录设备。在线烧录设备通常集成了多个烧录接口和自动上下料系统,可以实现单片机的自动上料、烧录和下料过程。这种设备具有高度的自动化程度,能够减少人工干预,提高生产的稳定性和一致性。同时,它还可以对烧录过程进行实时监控,及时发现和处理烧录异常情况。

在批量烧录过程中,还需要注意程序代码的一致性和安全性。为了确保每片单片机都能正确运行,需要对程序代码进行严格的版本管理和校验。同时,为了防止程序代码被非法复制和篡改,还可以采用加密算法对。

一、固件烧录说明

  1. 首先,安装 JLINK 驱动程序。待驱动程序安装完成之后,再开启相应的软件。

  1. 完成上述操作后,需进行芯片型号的选择。当前处于制生产阶段的产品,其主控芯片可供选择的有三种系列,分别为 STM32F103RCT6、GD32F103RCT6 以及 GD32F103RET6。您需要依据生产订单所使用的芯片,在 JLINK 上精准选择对应的芯片型号。
  2. 软件打开之后,依次选择“options”(选项)——“Project settings”(项目设置)——“MCU”(微控制器)——“Device”(设备),并在此处按照生产订单上的主控芯片型号,选定芯片的厂家与具体型号。

  1. 接下来进行烧录文件的选取操作。打开软件界面,依次点击“File”(文件)——“open data file”(打开数据文件),进而选择用于烧录的固件文件。
  2. 要确保设备处于正常的 24V 供电状态。之后,将烧录器与设备进行连接。连接完成后,在软件中点击“Target”(目标)——“connect”(连接)。若连接正常,软件下方的日志(log)信息会显示“连接成功”,以此表明设备与烧录器已成功建立连接。
  3. 当设备与烧录器成功连接后,需对芯片进行擦除操作。您可以在软件界面点击“Target”(目标)——“Manual Programming”(手动编程)——“Erase Chip”(擦除芯片);若您希望操作更为便捷,也可直接按下键盘上的 F4 按键。操作完成后,系统会弹出提示窗口,显示“擦除成功”,这意味着芯片擦除操作已顺利完成。

  1. 完成芯片擦除后,便可开展烧录工作。您可以在软件界面依序点击“Target”(目标)——“Manual Programming”(手动编程)——“Program & verify”(编程并验证);若想采用更为高效的操作方式,也能直接按下键盘上的 F7 按键启动烧录及验证流程。

二、批量烧录操作

批量烧录工具说明

关于目录文件或案例文件的存放方式,您可根据自身需求灵活安排。在此,我仅对我所采用的目录结构及相关情况进行说明。

首先,在选择好需要烧录的芯片后,要妥善保存该烧录对应的工程文件。

1)保存工程文件,需要烧录一遍后把该工程保存出来,批量烧录的时候直接调用这个工程。

目录结构

  • Case 目录:此目录用于存放不同型号的 JFlash 文件,将各类型号的相关文件有序收纳其中,便于管理与查找。
  • Firmware 目录:该目录是不同烧录固件的存放之处,为各种烧录所需的固件提供了一个集中的存储空间。
  • Jflash.bat:这是一个可在 Windows 系统上执行的脚本,借助该脚本能够实现特定的操作流程。

3)案例(Case)说明

依据产品型号以及芯片方案创建相应目录,用于存放不同产品型号的烧录案例。这里的烧录案例指的是在 JFlash 中选择芯片型号后保存的文件。

在“Case”目录下创建“PTLSRE”子目录,将在 JFlash 中完成一次针对“xxx”烧录操作后保存的 JFlash 文件存放于此。同时,记录文件需包含文件名称与芯片型号,例如“xxx.jflash” 。

4)固件(Firmware)目录说明

“Firmware”目录是专门用于存放固件的地方。同样,可根据产品型号创建不同的产品子目录。比如,依次创建“xxx”目录,将需要烧录的固件存于其中。您可以按照自身习惯对这些目录进行整理,后续在“jflash.bat”文件中对路径进行修改,确保能够准确找到所需文件即可。

Jflash.bat 说明

整个脚本文件的情况如图所示。需要修改的部分为上图中红色框所标注的路径以及文件选择内容。

说明:仅需修改的部分

可执行程序路径设置

set exe="C:\Program Files (x86)\SEGGER\JLink\JFlash720.exe"

此为 JFlash.exe 程序的存放路径。由于不同电脑的安装目录存在差异,因此该路径可能需要根据实际情况进行修改。特别注意,路径中请勿包含中文。若程序安装在 C 盘且路径中存在空格,需使用双引号将绝对路径括起来。或者,您也可以将 jflash.exe 添加到系统环境变量中,此时可按如下方式设置:

set exe=JFlash.exe

关于如何添加环境变量,您可自行通过百度查询相关教程。

JFlash 配置文件设置

  set jflash=C:\work\LXF\Jflash\case\xxx\x x x.jflash

此命令用于打开一个已保存的 JFlash 配置文件。针对不同的芯片,您可以分别保存对应的 JFlash 文件,后续烧录时直接调用即可,无需重复配置。

烧录固件位置设置

set firmware=C:\work\l\Jflash\firmware\xxx

该命令用于设置烧录固件的存放位置。

烧录固件脚本说明

烧录操作实际上是借助 JFlash 来完成的。在执行烧录之前,需确保设备已通电,使用 Micro-USB 数据线将设备连接到终端的烧录接口。同时,将电脑与烧录器连接,再把烧录器与需要烧录的设备连接妥当。

完成上述连接后,双击 jflash.bat 脚本即可开始执行烧录操作。当命令窗口显示 “succeed:1” 时,表明第一片板子已成功烧录。在此过程中,请保持 CMD 命令窗口处于打开状态,切勿关闭。

若需继续烧录下一片板子,在连接好新的板子后,直接在 CMD 命令窗口中按下回车键,即可开始执行下一片板子的烧录操作。


网站公告

今日签到

点亮在社区的每一天
去签到