使用Jlink.exe烧写STM32F103C8的笔记

1. 说明

有时需要手动烧写STM32F103C8,除了直接在Keil或者IAR中点击下载(或者调试之外),还可以手动以命令方式使用JLink烧写STM32F103C8,这种方式很容易做成量产模式。当然除了使用JLink烧写之外,还可以使用串口烧写(如使用跳线),这种方式需要串口可以使用的时候使用,并且需要时设置Boot跳线。

本文中使用SWD模式对STM32F103C8进行烧写,使用的软件从Keil中提取(也可以下载SEGGER的JLink安装,但一定要保证很够正常调试(如果JLink硬件与安装的JLink软件不兼容,则无法烧写))。本文中使用的JLink有如下文件:
在这里插入图片描述
其中,JLink.exe是主程序,USBDriver是驱动文件文件夹,其它的dll文件是运行库文件,若需拷贝JLink.exe需要将这些dll文件一同拷贝。

2. 使用命令烧写

烧写过程中(准确来说是JLink.exe的运行过程中),JLink和STM32F103C8必须正确连接到计算机上。
在这里插入图片描述
启动Jlink之后,其会自动连接上Jlink硬件并扫描芯片,如上图中所示,本次使用的JLink为JLink V8,芯片内核为Cortex-M3。启动JLink之后,可以输入英文?获取帮助,本次使用JLink软件为JLink V4.96d,不同的版本命令可能不同。下面是JLink V4.96d的帮助:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
JLink的命令很多,其中与烧写有关的命令最主要的有以下几条:

  • device命令:其格式为Device 设备名,用于选定将要烧写的设备
  • loadfile命令:其格式为loadfile 文件路径 [烧写地址],烧写的文件可以是bin文件,hex文件,mot文件,srec文件,烧写地址仅当烧写bin文件时才需要。

下面是一个烧写STM32F103C8的例子:

usb 0
si 1
h
speed 4000
device STM32F103C8
loadfile C8.hex
exit

除了主要的命令,还有几条的命令含义如下:

  • usb 0:连接到usb。
  • si 1:工作在SWD模式。
  • h:单片机停机。
  • speed 4000:速度为4000KHz。
  • exit:退出JLink。

在这里插入图片描述

当然一条条执行命令效率并不高,实际使用时,可将命令保存在一个txt文件中,使用Jlink.exe txt文件路径运行这些命令。
在这里插入图片描述
在这里插入图片描述
这样就方便多了,只要编写一个程序(可以使用支持shell调用的语言),按上述方式调用JLink.exe就可完成烧写操作。甚至还可以使用程序生成JLink.exe的脚本,然后调用JLink.exe,完成烧写操作。

下面是一个使用批处理调用的例子:
在这里插入图片描述

发布了2 篇原创文章 · 获赞 0 · 访问量 60

猜你喜欢

转载自blog.csdn.net/H_177/article/details/104281095