前言:编写不易,仅供参考学习,请勿搬运
文章相关介绍
本篇主要是介绍 STM32CubeProgrammer 烧录软件的使用过程,随着ST开发生态已经完成闭环,(STM32CubleMX配置代码 STM32IDE写代码 STM32CubeProgrammer烧录代码)随着STMSTM32CubleMX 这个软件将ElipeseIDE 开发环境删除,或许有一天会限制下载烧录软件,作为ST生态的一环,这个软件以后可能会用的越来越多,同时附带软件下载连接,在文章末尾,个人观点哈。
同时本文主要介绍页面工能,和烧录的教程,读写保护,读取flash RAM准备写到续集二,需要可以看二。
STM32CubeProgrammer 相关介绍
STM32CubeProgrammer是STMicroelectronics提供的一款用于管理STM32微控制器的通用软件工具。它提供了多种功能,包括芯片烧录、擦除(擦除flash)、读取和保护设置的功能,同时它的前身是 ST-LINK Utility
支持STM32主流开发芯片:STM32CubeProgrammer支持STMicroelectronics的各种STM32系列微控制器,包括STM32F0、STM32F1、STM32F2、STM32F3、STM32F4、STM32F7、STM32H7等系列,可以说是主流的开发芯片都有了。
支持从STM32微控制器读取Flash和RAM内容,用于验证和备份程序和数据。允许设置STM32芯片的安全功能,包括读保护、写保护和加密功能,以确保程序和数据的安全性和完性。
支持通过ST-LINK调试器、串口接口(UART)、USB接口等多种方式与目标设备进行连接和通信。提供直观的用户界面,支持图形化的操作和命令行接口(CLI),方便用户进行操作和调试。
这里面真正强的功能是,从flash里面读取程序,还有读RAM里面变量寄存器的值,不需要通过程序写保护,读保护,跟加密了,真的很强,很厉害的功能。
STM32CubeProgrammer页面介绍
这个软件打开的方式要通过,管理员方式打开,然后分别介绍一下,页面里面本篇教程使用到的功能。
STM32CubeProgrammer烧录实验
首先这个软件是烧录 hex文件,首先需要配置KEIL5生成hex文件,当配置完成之后,会自动编译出 hex文件,在工程目录的下面。
这里注意,hex文件实在编译过后生成的,编译过后,在object文件目录下,找到hex文件
#ST-linker烧录实验
ST-Linker对单片机进行烧录,是通过的SWD接口(Serial Weir Debug),而ST-linker之所以能对单片机进行烧录是因为,利用了STM32的微控制器调试接口,和固件编程功能。
STM32微控制器集成了标准的调试接口,SWD(Serial Wire Debug)和JTAG(Joint Test Action Group)这些集成的接口,允许外部调试器访问芯片(微控制器),flash 和 寄存器。 而这里用到的ST-linker下载器,是通过SWD这个接口,进行下载程序的,这个接口具体注释如下图表格所示。
SWDIO (Serial Wire Debug Input/Output) | 双向数据线 |
SWCLK (Serial Wire Debug Clock) | 时钟信号线 |
VCC | 电源 |
GND | 底线 |
#基本配置
然后使用ST-linker不需要进入Bootoloader模式,这个模式是(USB USART),这些方式烧录,需要使用的专属模式,这里将ST-linker接好线之后,开始配置STM32CubeProgrammer的页面。
点击烧录之后,系统有这样的提示,也就是通过ST-linker进行烧录完成了。
#串口烧录实验
这里首先使用USB转TTL模块进行烧录教学,这个模块集成了ch340芯片,如果没有下载驱动识别不到芯片,这个模块需要使用CH340驱动,这里就不提供安装包了,按装之后电脑才能识别到,这个模块。
#基本配置
STM32F103c8t6 ,usb转ttl模块。
#必要配置
这里由于是通过 串口进行烧录程序,需要配置为系统存储器中的Bootloader启动模式,这种模式允许STM32通过特定的通信接口(USB SPI USART),接受和写入新的程序到 flash 里面,Bootloader这个模式是通过BOOT引脚的高低电平来配置的,默认配置的BOOTO引脚,是没有进入Bootloader 。
通过配置BOOT引脚之后, 需要重新按RESET(复位按键),使其重新启动进入 Bootloader这个模式,复位按键不能忘记按。
BOOT0 | BOOT1 | 启动模式 |
---|---|---|
0 | 0 | 用户闪存(User Flash) |
1 | 0 | 系统存储器(System Memory,进入Bootloader模式) |
1 | 1 | 内部SRAM(Embedded SRAM) |
这里有的小伙伴就会问了,既然是用串口进行下载程序,STM32需要配置引脚复用串口功能嘛,需要,但是不用自己配置,当配置BOOT引脚进入 Bootoloader 模式STM32会自动将引脚配置为串口功能,这个过程由 Bootoloader 自动处理。
上面理解之后,通过杜邦线连接CH340和单电机GPIO引脚,连接方式在下面表格。
单片机 | CH340 |
GPIOA10 (TX) | RX |
GPIOA9 (RX) | TX |
到此基本配置也就完成了,接下来需要配置STM32CUBLEMX的页面。
这里要将ST-linker模式换成USART就行了,其他的过程都一样的,最后有这个提示就是成功了。
#USB烧录实验
首先需要找一根USB数据线,但是这个实验STMF1是不支持这种方式进行烧录的具体原因向下看。
#基本配置
STM32F407vet6(天空星) ,usb数据线。
#必要配置
为什么不用 STM32F103c8t6 它的micro usb 只能用来供电,不能进行烧录程序,这里的话支简单描述一下原因,更具体的准备在写一篇博客 ,ST的F1不支持DFU烧程序 ,所以只能进行供电使用这个usb接口(小蓝板usb只能用来供电)
这里使用 STM32F407vet6(天空星)这个板子,通过USB进行烧录,同样需要配置Bootoloader(系统引导加载程序)。
通过USB连接过单片机之后,接下来配置STM32CubeProgrammer页面选项。
最后又这个提示,就代表我们下载成功了。
欢迎指正,希望对你,有所帮助!!!
STM32CubeProg - STM32CubeProgrammer software for all STM32 - STMicroelectronics