1. 前言STM32 MCU 新产品的早期用户有时候会遇见工具链还在完善中的情形,例如,一部分STM32 工具已经支持该产品,而另外一部分 STM32 工具还在更新中。具体到 Keil 用户,用户有可能可以使用 STM32CubeProgrammer 进行下载,但是 Keil 编译器中支持该产品系列的软件 Pack 还需要一些时间才会被更新。从而,用户能够使用 Keil 编译器进行编译甚至调试,但没法直接在 Keil 环境中对新产品进行下载。对此,用户可以选择等待,也可以自行扩展 Keil 的 FLM 来支持该产品。但考虑到用户产品开发的时间限制以及新的STM32 正式 Pack 很快就会发布,更简单快速的一种解决方案是在 Keil 中直接使用STM32CubeProgammer 在进行调试前下载。. Z( [: Z' _4 K& ~0 j : o7 M. t" `5 ~+ ^) x8 c 2. 步骤 这里以一个 NUCLEO-H723ZG 的 CRC_Example 为例。它是 STM32Cube 包中的一个完善的工程,可以正常使用配套的 Pack 进行编译下载调试。我们只是使用这个工程说明如何直接使用 STM32CubeProgrammer 进行 Flash 下载,没有其他特别的含义。首先,在 Keil 工程界面里,选择[Flash]->[Configure Flash Tools]菜单。7 M: D I/ g8 L w* b 1 ?% _6 @+ h+ C/ D& c " A) K( p$ j3 T% }1 c2 F( X : M, I. n" U. w n$ v9 n4 i \ 或者在工程浏览器的工程名字上点击右键,选择[Options]然后选择[Utilities]% N$ B" c; q: s5 B) d4 f' {/ q& e, P5 l / w7 G2 @: c: w: o8 m $ o2 i& T1 a4 c6 f, J 你可以看到如下菜单,说明该工程默认使用 Pack 中的 FLM 进行下载。4 |% |) I; {, F9 d# n ' A* y1 t7 O3 a* r, y 5 u+ p" A+ Q" K , O5 J7 x; t: m9 C' | 我们将其切换成[Use External Tool for Flash Programming]。7 I% d, r. v" O9 i9 q1 n 在[Command]中选择 STM32_Programmer_CLI.exe,它会自动填上所在的全路径,例如:C:\ProgramFiles\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin\STM32_Programmer_CLI.exe 在[Agruments]中输入使用 ST-Link 以及文件名参数,如下: -c port=swd -w #L STM32_Programmer_CLI 的更多用法,例如,在调试前修改某个特定选项字节,可以参考STM32CubeProgrammer 用户手册 UM2237。 " _, M3 g8 x& B, n 这里值得一提的是 Keil #L 参数的使用。为了该命令行的通用性,我们应该使用编译器工具提供的一些参数间接指向所需要烧录的路径及文件,而不是硬编码。这样,工程选项的改动,不影响该命令行;而且该命令行也可以在多个工程中复制使用。#L 以及其他类似参数的含义可以在 Keil 联机帮助中搜索 “ Key Sequence for Tool Parameters ”。 设置界面如下: 1 m% m8 ^* w# P! X3 ]6 N1 n+ \ 其中[Run Independent]的含义是,是否让 Keil 不需要等待该命令行执行完毕。我们希望按顺序执行,所以该选项没有勾上。用户可以切换此选项观察效果。, E2 `, ~' n' u2 [) Z , G5 i( s0 S/ C% V 完整版请查看:附件 |
【STM32MP135-DK】裸机开发
[STM32MP125-DK] 裸机开发
STM32MP135F-DK开发板评测-SD卡启动裸机程序
在 Keil中使用STM32CubeProgrammer
【STM32U599】1.初步尝试
【STM32WB55评测】评测一 DTM射频&ACI事件测试
STM32CubeProgrammer软件说明
STM32CubeProgrammer基础使用说明
资料下载 | STM32CubeProgrammer软件说明
STM32CubeProg介绍、下载、安装和使用教程