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 时进行参考。
11月新能源车销量分析 大部分车型都没有受到车市寒冬的影响
微软正在敦促全球各地政府明年出台针对面部识别技术的监管条例
新思科技与Rally医疗服务公司合作提升医疗信息安全
怎样使用Android Blynk App控制模拟的Arduino电路
2023 高校开源教育OpenHarmony师资培训圆满落幕
在Keil中使用STM32CubeProgrammer
PCB差分信号设计有哪些常见的误区
LTC3882 36V 输入、3.3V/40A、1.0MHz 转换器具分离式栅极驱动器
基于S3C44B0X微处理器实现运动系统电流信号采集电路的设计
燃料动力电池能否引领新能源车未来发展?
基于单片机控制的自主寻迹电动小车的设计
一款HI-FI有源一体化音箱
奥比中光与微软联合打造的相机Femto Bolt正式在全球上线开售
应用碳化硅衬底材料的三代半导体的性能对比
LED研究所(GGII)预计2020年中国LED产值规模将突破1万亿
信步科技SV1-19026P嵌入式主板介绍
云存储的未来发展将面临着来自哪些方面的挑战
华为最新消息:华为鸿蒙系统兼容安卓机吗
服务器数据恢复-EqualLogic PS存储VMFS文件系统数据恢复案例
初学者必知的系统架构开发设计原则