昆仑山

首页 » 问答 » 简介 » stm32下载神器STM32CubePr
TUhjnbcbe - 2023/2/5 22:20:00

新增功能

SWV窗口

ST开发板自动识别并显示名称

芯片版本号显示

相关文章

UM-STM32CubeProgrammer软件工具介绍

概览

STM32Cube家族中的STM32CubeProgrammer是STM32MCU专用编程工具。它支持通过STLink的SWD/JTAG调试接口对STM32MCU的片上存储器进行擦除和读写操作;或者通过UART,USB,I2C,SPI,CAN等通信接口,利用出厂时固化在芯片内部的系统bootloader,对STM32MCU的片上存储器进行擦除和读写操作。

这里需要说明的是STLinkv2仅支持通过UART和USB通信接口对片上存储器进行操作,而STLinkv3增加了SPI,I2C和CAN通信接口的支持。除此以外,STM32CubeProgrammer还可以操作STM32MCU的选项字节和一次性可编程字节。通过STM32CubeProgrammer提供的或者自己编写的外部externalloader,还可以对外部存储器进行编程。

STM32CubeProgrammer提供了图形化和命令行两种用户界面。除此之外,STM32CubeProgrammer还提供了C++API,用户可以将STM32CubeProgrammer的功能集成到自己所开发的PC端应用中。

图形化用户界面如下图所示,在右侧的配置区域,用户可以选择通过STLink调试接口,或者USB,UART等通信接口连接到STM32MUC。连接到STM32MCU后,在“Deviceinformation”区域可以看到当前MCU的型号,版本和Flash大小等信息。

如果连接的是ST官方的开发板,还会显示该开发板的名称。那么,这里显示的信息都是来自哪里呢?其中“CPU“型号,也就是内核型号,从内核的CPUID只读寄存器读得,该寄存器的说明在各个芯片系列对应的编程手册中可以查到,比如STM32F7对应的编程手册PM;芯片型号”DeviceID“和芯片版本”RevisionID”分别来自STM32MCU的DBGMCU_IDC只读寄存器中的DeviceID字段和Revision字段。

Flash大小“Flashsize”的值,可以从系统Flash的Flashsize只读寄存器中读到。这些寄存器的说明都可以在各个芯片系列对应的参考手册中的“调试支持”和“设备电子签名”章节找到,比如STM32H的参考手册RM。开发板名称“Board”对应的信息,存储在板载的STLink中,所以只有用ST开发板自身板载的STLink进行连接时才能看到这个信息。

在STM32CubeProgrammer最左侧一栏可以在不同的功能标签页之间切换,进行不同的操作。

接下来,我们会对STM32CubeProgrammer的主要功能进行介绍,关于STM32CubeProgrammer的具体操作步骤,请参考”UM-STM32CubeProgrammer软件工具介绍”

片上存储器擦除和读写

STM32CubeProgrammer支持按扇区对Flash进行擦除和全片擦除。可以导入多种格式的执行文件进行烧录,支持的文件格式有:二进制文件(.bin),elf文件(.elf,.axf,.out),hex文件(.hex)和摩托罗拉的S-record文件(.srec)。

擦除操作

通过STLink与目标MCU建立连接后,在“ErasingProgramming”页面下,可以按扇区对flash进行擦除,或者选择“Fullchiperase”按钮,进行全片擦除。

烧录操作

在“ErasingProgramming”页面下,点击“Browse”按钮导入可执行文件,然后点击“StartProgramming”进行烧录。

也可以在“Memoryfileedition”页面下,打开要烧录的可执行文件,然后点击“download”进行烧录。

在“Memoryfileedition”的“DeviceMemory”页面下,还可以读出当前指定地址范围的MCU存储器值,并通过“SaveAs”菜单将读出的内容保存为二进制文件(.bin),hex文件(.hex)或S-record文件(.srec)。

除了前面介绍的烧录整个可执行文件的方式以外,还可以在“Memoryfileedition”的“DeviceMemory”页面下直接修改某个地址的值,”回车”后STM32CubeProg会自动完成读出-修改-擦除-回写的操作。对于一次性可编程(OTP)字节就可以通过这种方式进行编程。

选项字读写

点开OB页面后,可以看到当前所连接MCU的选项字的设定情况。用户可以在这里修改选项字的值。具体选项字的说明,请参考对应MCU的参考手册。

“二合一”烧录

使用“ErasingProgramming”页面下的“二合一”烧录模式,可以在一次操作中完成FLASH和选项字的烧录工作。选项字的配置使用STM32CubeProgrammer命令行的“-ob”命令。

比如,现在要在烧写完Flash后,设置读保护为level1。可以按以下步骤先进行设置:设置好要下载的可执行文件路径

勾选“AutomaticMode”下的“Fullchiperase”和“Downloadfile”

在“Optionbytes

1
查看完整版本: stm32下载神器STM32CubePr