01前言
STM32 MCU 新产品的早期用户有时候会遇见工具链还在完善中的情形,例如,一部分STM32 工具已经支持该产品,而另外一部分 STM32 工具还在更新中。具体到 Keil 用户,用户有可能可以使用 STM32CubeProgrammer 进行下载,但是 Keil 编译器中支持该产品系列的软件 Pack 还需要一些时间才会被更新。从而,用户能够使用 Keil 编译器进行编译甚至调试,但没法直接在 Keil 环境中对新产品进行下载。对此,用户可以选择等待,也可以自行扩展 Keil 的 FLM 来支持该产品。但考虑到用户产品开发的时间限制以及新的STM32 正式 Pack 很快就会发布,更简单快速的一种解决方案是在 Keil 中直接使用STM32CubeProgammer 在进行调试前下载。
02步骤
这里以一个 NUCLEO-H723ZG 的 CRC_Example 为例。它是 STM32Cube 包中的一个完善的工程,可以正常使用配套的 Pack 进行编译下载调试。我们只是使用这个工程说明如何直接使用 STM32CubeProgrammer 进行 Flash 下载,没有其他特别的含义。首先,在 Keil 工程界面里,选择[Flash]->[Configure Flash Tools]菜单。
图1.配置菜单
或者在工程浏览器的工程名字上点击右键,选择[Options]然后选择[Utilities]
图2.工程选项
你可以看到如下菜单,说明该工程默认使用 Pack 中的 FLM 进行下载。
图3.配置工具选项
我们将其切换成[Use External Tool for Flash Programming]。
在[Command]中选择 STM32_Programmer_CLI.exe,它会自动填上所在的全路径,例如:
C:ProgramFilesSTMicroelectronicsSTM32CubeSTM32CubeProgrammerinSTM32_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 ”。设置界面如下:
图4.配置烧写指令
其中[Run Independent]的含义是,是否让 Keil 不需要等待该命令行执行完毕。我们希望按顺序执行,所以该选项没有勾上。用户可以切换此选项观察效果。
03效果
这时候如果直接选择[Debug]
图5. 调试
则会发现 Flash 下载并没有发生。确实,这是其中不够完美的地方。但是如果选择[Download]
图6.下载
则会发现 Keil 调用 STM32CubeProgrammer 命令行进行当前工程的下载,如下所示:
图7.命令日志
然后,用户可以使用[Debug]启动调试,一切正常。所以,简单的方法就是,用户在调试前,按下 F8。这样比使用 Pack 的 FLM 并没有麻烦多少。
04小结
本文提供了在 Keil 中使用STM32CubeProgrammer 来进行调试前下载固件的方法,适合 STM32 MCU 新产品的早期用户在使用 Keil 时进行参考。
上一篇:STM32WB55开发(1)----监测STM32WB连接状态
下一篇:stm32 usb 主机发送 pid in的原理和实现方法
推荐阅读最新更新时间:2024-11-12 06:37
设计资源 培训 开发板 精华推荐
- 用于仪表的 16 位 1 通道 DAC
- MIC2207YML-EV、MIC2207YML 降压稳压器评估板
- LT6656ACDC-2.048、2.048V ADC 电压基准和桥式激励电源的典型应用
- 【涂鸦智能】涂鸦智能温湿器,红外控制、灯带846932A
- #第六届立创电赛#桌面小功放
- LTC4367HDD-1 过压电源保护控制器选择两个电源之一的典型应用
- 具有 497mA 精密电流限制的 LT3066IMSE-3.3 3.3V 电源的典型应用电路
- SY88303BL 3.3V、3.2Gbps CML限幅后置放大器的典型应用,具有宽信号丢失检测范围
- 【训练营】单身狗造狗记
- 全球首款ARM核航空航天级芯片,SAMRH71F20-EK 评估套件(原理图等)