ST-Link v2是STM8、STM32系列单片机的在线仿真器和下载器。STM8采用SWIM接口模式。STM32采用的是SWD接口模式,因此ST-Link出生就带有两种接口模式。
ST-Link V2是支持STM32家族所有芯片型号的存在。因为它的独特功能,使得它比jlink ob要全一点,比如H7系列的STM32,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,起到一定保护作用
接口说明:
前端(电脑端) 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下载的
1.先在电脑安装好CH340的驱动
2.打开STM ISP 下载器MCUISP,并选择好要下载的hex文件
3.将USB 转 TTL下载器(CH340)的TXD、RXD、GND与开发板的RXD、TXD、GND连接好,下载器另一头插电脑
4.开发板的BOOT0要用跳冒跳到1端
开发板上有两个跳帽来调整BOOT0和BOOT1的状态。跳帽跳到上边是选择1也就是高电平,跳到下边是选择0也就是低电平
BOOT0 和 BOOT1 是用于设置 STM32 的启动方式的
这里是用 USB 下载, 也就是串口下载,所以选择表中的第二个方式 也就是 BOOT0 选择 1, BOOT1 选择 0
4.然后下载器会出现端口号,波特率可以默认,最快460800
5.点击开始编程,然后右边会出现等待连接
6.此时开发板上电,程序便能自动进行下载
7.程序下载后板子的LED灯会闪,但如果按一下复位键或者断电重启了,LED灯就不闪了,因为串口下载时启动方式选择了ISP,要调回从falsh区启动才能正常运行程序
所以下载后记得把BOOT0的跳冒跳回0端,BOOT0和BOOT1都为0,这样程序就从falsh区启动,随时重启开发板LED灯都能亮;
1.先安装好ST-Link的驱动,64位的电脑选择amd64.exe的安装程序,一直下一步
2.驱动安装成功
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
6.Port默认是JTAG的,改为SW
7.在Flash Download界面里,首先下载功能的三个勾要勾上,Reset and Run默认是没有勾的,这个是下载后重启单片机并运行程序,所以有时候下载成功了没看到现象,可能是这里没有勾上;
点击Add,看手上的开发板是什么型号,手上的是STM32F103C8T6,就找到STM32F10x系列的,选择中容量Med-density,128k的,最后点击确定
8.回到打开魔术棒的界面,点击Utilities,选择ST-Link Debugger,点击OK
9.回到编程界面,先编译一下程序,确保编译通过,然后点击下载选项
10.看到Verify OK,则表示程序下载成功,开发板LED灯闪烁
STM32 ST-LINK Utility是针对STM32全系芯片进行编程(读、写、擦除、选项字)的一款工具。
ST-LINK Utility只支持ST-Link(多个版本)的下载调试器,支持的芯片只有STM32。
1.在电脑上安装好ST-LINK Utility工具
2.打开工具,ST-Link V2插上电脑,另一端也是用SWD方式接到开发板上,点击工具的Connect,与ST-Link V2进行连接
3.设备连接成功界面
4.打开kei软件生成的hex文件
5.可以点击Target的Program选项开始下载,也可以直接点击下图中的图形,弹出下载框后,确保下载文件没错后,点击Start,进行程序下载
6.看到程序下载成功信息,并且开发板有相应现象,则表明程序已经成功下载到开发板中
使用STM32 ST-LINK Utility工具可设置读取的起始地址、大小、宽度,读取其实就是连接芯片之后,自动读取。
简单来说:Hex是由Intel制定的一种十六进制标准文件格式,是由编译器转换而成的一种用于下载带处理器里面的文件。
Hex文件格式是由一行一行的十六进制数据组成,每行包含:开始、长度、数据、类型、校验和等重要信息。
Hex文件是有一定格式的,而Bin文件就是一种没有格式的程序文件,只是包含了程序数据。所以,我们下载bin文件时需要指定起始地址,如果起始地址不对,你的程序就不能正常运行。