1、STLINK Utility下载

首先,去官网下载一个STLINK Utility工具,我这里下载的最新版本为v4.6

STM32F407 AES加密算法_数据

2、STM32 ST-LINK Utility介绍

STM32 ST-LINK Utility软件主要的功能就是量产(批量下载代码的工具)。它也是比较实用的一个工具,当我们需要查看芯片FLASH数据时,可以很快定位查找到想要的数据(前提是没有添加保护)。

STM32 ST-LINK Utility软件包含ST-Link驱动。若你安装了STM32 ST-LINK Utility软件,你的ST-Link就不用单独安装驱动了,可以直接使用(比如Keil、IAR在线调试、下载等)。

STM32 ST-LINK Utility软件除了可以快速读取FLASH数据外,还可快速读取STM32芯片型号、ID、版本等信息

STM32F407 AES加密算法_http_02

3、快速下载程序

使用ST-Link连接硬件(STM32芯片),打开STM32 ST-LINK Utility软件,连接芯片:Tarage -> connect或直接点击连接快捷按钮(如下图)。

【读取FLASH信息的前提是没有添加读保护】

STM32F407 AES加密算法_开发语言_03


在上一步连接好芯片,并正确识别芯片之后,打开需要下载的程序(hex)文件。打开hex文件可以从菜单栏(File -> Open File)打开,也可以直接讲hex文件拖动到FLASH区域(就像从电脑复制文件到U盘一样)。

STM32F407 AES加密算法_开发语言_04


在上一步打开hex文件完成之后,点击“下载”(可以Taraget -> Program,也可以直接点击下载快捷按钮,如下图)

STM32F407 AES加密算法_c语言_05


STM32F407 AES加密算法_开发语言_06


下载过程时间长短与程序大小有关,一般都很快,出现“Verification…OK”,说明下载成功。

注意:选择Reset after…表示程序下载后就自动执行。

4、程序的读写保护

选择路径:“Target”-“Automatic Mode”

STM32F407 AES加密算法_c语言_07


勾选相关设置,比如是否全片擦除、是否检验、是否配置Option bytes、下载完成是否自动运行

如果要使能读保护和写保护,先勾选复选框,然后点击“Configure…”,弹出设置:

STM32F407 AES加密算法_c语言_08


选择使能读保护,下面几个复选框一般勾上即可,比如WDG_SW是控制是否打开硬件看门狗的,如果不勾,就会打开,造成芯片一段时间后自动复位。再下面是扇区保护的选择(以4页为单位),建议不勾选,勾选后似乎远程升级不能成功(比如IAP),没有测试过。

STM32F407 AES加密算法_c语言_09


全部配置完成,点“start”就可以开始了。ST-LINK Utility会自动启动烧录流程,烧录完成后,会在状态栏给出提示,让你拔掉板子,然后插上新的板子,ST-LINK Utility又自动烧录,达到快速量产烧录的目的。点“Stop”就可以退出自动模式

STM32F407 AES加密算法_http_10

5、检查读保护和写保护

因为刚才烧录时选择了读保护和写保护,当收录完之后,再用ST-LINK Utility去连接stm32时就会提示:

STM32F407 AES加密算法_数据_11


读保护,无法读出flash中的数据,达到保护flash数据的目的。此时可以使用ST-LINK Utility解除读保护:“Target”-“Option Bytes”

STM32F407 AES加密算法_数据_12


也可以使用ST-link通过Keil下载程序,自动解除。

STM32F407 AES加密算法_http_13