你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

在 Keil 中使用 STM32CubeProgrammer

[复制链接]
STMCU小助手 发布时间:2023-2-14 18:29
1. 前言STM32 MCU 新产品的早期用户有时候会遇见工具链还在完善中的情形,例如,一部分STM32 工具已经支持该产品,而另外一部分 STM32 工具还在更新中。具体到 Keil 用户,用户有可能可以使用 STM32CubeProgrammer 进行下载,但是 Keil 编译器中支持该产品系列的软件 Pack 还需要一些时间才会被更新。从而,用户能够使用 Keil 编译器进行编译甚至调试,但没法直接在 Keil 环境中对新产品进行下载。对此,用户可以选择等待,也可以自行扩展 Keil 的 FLM 来支持该产品。但考虑到用户产品开发的时间限制以及新的STM32 正式 Pack 很快就会发布,更简单快速的一种解决方案是在 Keil 中直接使用STM32CubeProgammer 在进行调试前下载。
: R0 X+ a  d1 d, |7 t& O! I
8 q1 t, V* M' B* R0 N

$ M5 _0 m' j* _3 o2. 步骤
5 h0 N% Y( I% p  Z这里以一个 NUCLEO-H723ZG 的 CRC_Example 为例。它是 STM32Cube 包中的一个完善的工程,可以正常使用配套的 Pack 进行编译下载调试。我们只是使用这个工程说明如何直接使用 STM32CubeProgrammer 进行 Flash 下载,没有其他特别的含义。首先,在 Keil 工程界面里,选择[Flash]->[Configure Flash Tools]菜单。2 A% f! J: V  T
) Y, a% ]) j: W

) o0 g6 Z1 ?# E- _  q! m# t) h) J- w2 j G0)$H8HV)3~YOOWA`H[}4.png % e7 h  I; H' R7 w

1 `: [6 k. ~$ {6 f8 ^* w+ D4 |
! ~9 a8 l4 r( z, C
或者在工程浏览器的工程名字上点击右键,选择[Options]然后选择[Utilities]  M/ \/ v7 E! P
1 S" U- l  w* Z' r; L- ]

5 x- a: ~+ T5 _4 ?$ E C)AJLM3VKNFO}~HZ[3U4}OP.png
) B$ K+ {" y! Q, o: {$ k- W/ p/ p( m9 ^4 X  L* S( D# ?

9 j6 v# L( |% o 你可以看到如下菜单,说明该工程默认使用 Pack 中的 FLM 进行下载。% N8 F# T6 T! U

  E1 P/ p5 ~6 }0 N

; x* e1 d8 ^# m0 L, e7 X B`UJUL@@{N6TZT}9AE%ZM$Y.png
8 @! u$ N0 U9 j5 M2 X  w( W2 B7 h# Q9 p

9 w2 d; a! |+ l8 w; `# U我们将其切换成[Use External Tool for Flash Programming]。
( y/ m5 Y! i6 [8 T1 i在[Command]中选择 STM32_Programmer_CLI.exe,它会自动填上所在的全路径,例如:C:\ProgramFiles\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin\STM32_Programmer_CLI.exe
* c* H' T8 U3 e, S& R0 E6 j! I: e在[Agruments]中输入使用 ST-Link 以及文件名参数,如下:
4 u) T3 ]. T( m% c$ R) m-c port=swd -w #L  Z; K6 x$ o# E2 p3 Z- x
STM32_Programmer_CLI 的更多用法,例如,在调试前修改某个特定选项字节,可以参考STM32CubeProgrammer 用户手册 UM2237。  8 F) _0 K. B- h
这里值得一提的是 Keil #L 参数的使用。为了该命令行的通用性,我们应该使用编译器工具提供的一些参数间接指向所需要烧录的路径及文件,而不是硬编码。这样,工程选项的改动,不影响该命令行;而且该命令行也可以在多个工程中复制使用。#L 以及其他类似参数的含义可以在 Keil 联机帮助中搜索 “ Key Sequence for Tool Parameters ”。
0 T. d1 m1 \3 B) c+ O7 {设置界面如下: & X8 _( q  h  ]  C

0 Z- T4 G+ l0 Z4 U$ K

/ q# K6 E& s  k8 x! `; u 1W4ARE46]1GFW[_P9BKXG1S.png
3 X* s$ p5 d6 ]+ Q; t* d9 E6 V其中[Run Independent]的含义是,是否让 Keil 不需要等待该命令行执行完毕。我们希望按顺序执行,所以该选项没有勾上。用户可以切换此选项观察效果。: p5 U4 i/ X' V

" a7 e* I1 i, s7 x$ {5 K1 Q
. o! V) c4 `+ a" x
完整版请查看:附件 在Keil中使用STM32CubeProgrammer_v1.0.pdf (299.19 KB, 下载次数: 5)
收藏 评论0 发布时间:2023-2-14 18:29

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版