LAT1187
Local Application Tips
LAT1187 Rev 1.0 Jan. 2023
Keil 中使用 STM32CubeProgrammer
关键字:Keil, STM32CubeProgrammer
1. 前言
STM32 MCU 新产品的早期用户有时候会遇见工具链还在完善中的情形,例如,一部
STM32 工具已经支持该产品,而另外一部分 STM32 工具还在更新中。具体到 Keil 用户,
用户有可能可以使用 STM32CubeProgrammer 进行下载,但是 Keil 编译器中支持该产品
系列的软件 Pack 还需要一些时间才会被更新。从而,用户能够使用 Keil 编译器进行编译
甚至调试,但没法直接 Keil 环境中对新产品进行下载。对此,用户可以选择等待,也可
以自行扩展 Keil FLM 来支持该产品。但考虑到用户产品开发的时间限制以及新的
STM32 正式 Pack 很快就会发布,更简单快速的一种解决方案是在 Keil 直接使用
STM32CubeProgammer 在进行调试前下载。
2. 步骤
这里以一个 NUCLEO-H723ZG CRC_Example 为例。它是 STM32Cube 包中的一个完
善的工程,可以正常使用配套的 Pack 进行编译下载调试。我们只是使用这个工程说明如
何直接使用 STM32CubeProgrammer 进行 Flash 下载,没有其他特别的含义。
首先,在 Keil 工程界面里,选择[Flash]->[Configure Flash Tools]菜单。
1. 配置菜单
或者在工程浏览器的工程名字上点击右键,选择[Options]然后选择[Utilities]
2. 工程选
LAT1187
LAT1187 - Rev 1.0 page 2/6
你可以看到如下菜单,说明该工程默认使用 Pack 中的 FLM 进行下载。
3. 配置工具选项
我们将其切换成[Use External Tool for Flash Programming]
[Command]中选 STM32_Programmer_CLI.exe,它会自动填上所在的全路径,例如:
C:\ProgramFiles\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin\STM3
2_Programmer_CLI.exe
[Agruments]中输入使 ST-Link 以及文件名参数,如下:
-c port=swd -w #L
STM32_Programmer_CLI 的更多用法,例如,在调试前修改某个特定选项字节,可以参考
STM32CubeProgrammer 用户手册 UM2237
这里值得一提的是 Keil #L 参数的使用。为了该命令行的通用性,我们应该使用编译器工
具提供的一些参数间接指向所需要烧录的路径及文件,而不是硬编码。这样,工程选项的改动,
不影响该命令行;而且该命令行也可以在多个工程中复制使用。#L 以及其他类似参数的含义可以
Keil 联机帮助中搜索 Key Sequence for Tool Parameters ”。
设置界面如下: