STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)

ST-LINK v2接线及下载程序

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第1张图片

ST-Link V2

ST-Link v2是STM8、STM32系列单片机的在线仿真器和下载器。STM8采用SWIM接口模式STM32采用的是SWD接口模式,因此ST-Link出生就带有两种接口模式。

ST-Link V2是支持STM32家族所有芯片型号的存在。因为它的独特功能,使得它比jlink ob要全一点,比如H7系列的STM32,ob款就无法支持。

Jlink ob

ST-link支持STM8、STM32全系列芯片;

Jlink ob支持Cortex-M0\M1\M2\M3M4\A5\A8\A9 ST(意法半导体) Freecale(飞思卡尔) NXP(恩智浦);

如果纯ST系列开发ST-Link优势多,如果多芯片开发ob要好一点,那么最好两款都有。

切记

目标芯片的供电保持只有一路

如果选择用ST-Link的VCC就不要再接其他电源

如果用外部电源给目标板供电就断开仿真器的VCC

可以防止反向电给到ST-Link,起到一定保护作用

ST-Link V2接线

接口说明:

前端(电脑端) USB接口

后端(mcu端)排针接口10根;有5V、3.3V供电

SWD接线 ( for STM32 ):3.3V、GND、SWDIO、SWCLK

SWIM接线(for STM8):3.3V、GND、SWIM、RST

根据mcu实际供电需求可以采用5V或3.3V选择性供电

有些仿真器可能引脚不同,但只要把上面两种接线方式中列举到的引脚接上就行,其他引脚留空

下载程序

串口下载

先看下手上的STM32开发板支不支持串口下载,商家给的资料会有说明支持的下载方式

我手上的这款STM32F103C8T6开发板是支持USB串口下载和ST-Link SWD下载的

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第2张图片

1.先在电脑安装好CH340的驱动

2.打开STM ISP 下载器MCUISP,并选择好要下载的hex文件

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第3张图片

3.将USB 转 TTL下载器(CH340)的TXD、RXD、GND与开发板的RXD、TXD、GND连接好,下载器另一头插电脑

4.开发板的BOOT0要用跳冒跳到1端

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第4张图片

开发板上有两个跳帽来调整BOOT0和BOOT1的状态。跳帽跳到上边是选择1也就是高电平,跳到下边是选择0也就是低电平

BOOT0 和 BOOT1 是用于设置 STM32 的启动方式的

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第5张图片

这里是用 USB 下载, 也就是串口下载,所以选择表中的第二个方式 也就是 BOOT0 选择 1, BOOT1 选择 0

4.然后下载器会出现端口号,波特率可以默认,最快460800

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第6张图片

5.点击开始编程,然后右边会出现等待连接

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第7张图片

6.此时开发板上电,程序便能自动进行下载

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第8张图片

7.程序下载后板子的LED灯会闪,但如果按一下复位键或者断电重启了,LED灯就不闪了,因为串口下载时启动方式选择了ISP,要调回从falsh区启动才能正常运行程序

所以下载后记得把BOOT0的跳冒跳回0端,BOOT0和BOOT1都为0,这样程序就从falsh区启动,随时重启开发板LED灯都能亮;

ST-Link V2下载

1.先安装好ST-Link的驱动,64位的电脑选择amd64.exe的安装程序,一直下一步

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第9张图片

2.驱动安装成功

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第10张图片

3.将ST-Link V2插入电脑,在设备管理里可以看到ST-Link的串行口,表示驱动没问题

在这里插入图片描述

4.将ST-Link V2的SWDIO、GND、SWCLK、3.3V接到开发板的DIO、GND、CLK、3.3引脚上,有些板的丝印标法不同,但都能对应的看出来,然后将ST-Link插电脑上

5.打开keil软件,并打开一个工程,然后打开魔术棒,选择Debug,选择ST-Link Debugger,再点击Settings

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第11张图片

6.Port默认是JTAG的,改为SW

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第12张图片

7.在Flash Download界面里,首先下载功能的三个勾要勾上,Reset and Run默认是没有勾的,这个是下载后重启单片机并运行程序,所以有时候下载成功了没看到现象,可能是这里没有勾上;

点击Add,看手上的开发板是什么型号,手上的是STM32F103C8T6,就找到STM32F10x系列的,选择中容量Med-density,128k的,最后点击确定

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第13张图片

8.回到打开魔术棒的界面,点击Utilities,选择ST-Link Debugger,点击OK

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第14张图片

9.回到编程界面,先编译一下程序,确保编译通过,然后点击下载选项

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第15张图片

10.看到Verify OK,则表示程序下载成功,开发板LED灯闪烁

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第16张图片

STM32 ST-LINK Utility下载

STM32 ST-LINK Utility是针对STM32全系芯片进行编程(读、写、擦除、选项字)的一款工具。

ST-LINK Utility只支持ST-Link(多个版本)的下载调试器,支持的芯片只有STM32。

1.在电脑上安装好ST-LINK Utility工具

2.打开工具,ST-Link V2插上电脑,另一端也是用SWD方式接到开发板上,点击工具的Connect,与ST-Link V2进行连接
STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第17张图片

3.设备连接成功界面

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第18张图片

4.打开kei软件生成的hex文件

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第19张图片

5.可以点击Target的Program选项开始下载,也可以直接点击下图中的图形,弹出下载框后,确保下载文件没错后,点击Start,进行程序下载

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第20张图片

6.看到程序下载成功信息,并且开发板有相应现象,则表明程序已经成功下载到开发板中

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第21张图片

STM32 ST-LINK Utility读取

使用STM32 ST-LINK Utility工具可设置读取的起始地址、大小、宽度,读取其实就是连接芯片之后,自动读取。

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第22张图片

STM32 ST-LINK Utility擦除

STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)_第23张图片

hex文件和bin文件的区别

hex文件

简单来说:Hex是由Intel制定的一种十六进制标准文件格式,是由编译器转换而成的一种用于下载带处理器里面的文件。

Hex文件格式是由一行一行的十六进制数据组成,每行包含:开始、长度、数据、类型、校验和等重要信息。

bin文件

Hex文件是有一定格式的,而Bin文件就是一种没有格式的程序文件,只是包含了程序数据。所以,我们下载bin文件时需要指定起始地址,如果起始地址不对,你的程序就不能正常运行。

你可能感兴趣的:(STM32,stm32,单片机,嵌入式硬件,C语言,学习)