0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在Keil中使用STM32CubeProgrammer

STM32单片机 来源:STM32单片机 2023-11-03 16:50 次阅读

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]菜单。

dfcbaf88-7a25-11ee-939d-92fbcf53809c.png

图1.配置菜单

或者在工程浏览器的工程名字上点击右键,选择[Options]然后选择[Utilities]

dfd533aa-7a25-11ee-939d-92fbcf53809c.png

图2.工程选项

你可以看到如下菜单,说明该工程默认使用 Pack 中的 FLM 进行下载。

dfeab504-7a25-11ee-939d-92fbcf53809c.png

图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 ”。设置界面如下:

e001c5f0-7a25-11ee-939d-92fbcf53809c.png

图4.配置烧写指令

其中[Run Independent]的含义是,是否让 Keil 不需要等待该命令行执行完毕。我们希望按顺序执行,所以该选项没有勾上。用户可以切换此选项观察效果。

03效果

这时候如果直接选择[Debug]

e08d0606-7a25-11ee-939d-92fbcf53809c.png

图5. 调试

则会发现 Flash 下载并没有发生。确实,这是其中不够完美的地方。但是如果选择[Download]

e09f4d3e-7a25-11ee-939d-92fbcf53809c.png

图6.下载

则会发现 Keil 调用 STM32CubeProgrammer 命令行进行当前工程的下载,如下所示:

e0accdba-7a25-11ee-939d-92fbcf53809c.png

图7.命令日志

然后,用户可以使用[Debug]启动调试,一切正常。所以,简单的方法就是,用户在调试前,按下 F8。这样比使用 Pack 的 FLM 并没有麻烦多少。

04小结

本文提供了在 Keil 中使用STM32CubeProgrammer 来进行调试前下载固件的方法,适合 STM32 MCU 新产品的早期用户在使用 Keil 时进行参考。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16018

    浏览量

    343638
  • STM32
    +关注

    关注

    2239

    文章

    10673

    浏览量

    348770
  • 调试
    +关注

    关注

    7

    文章

    527

    浏览量

    33625
  • keil
    +关注

    关注

    68

    文章

    1196

    浏览量

    165312
  • 编译器
    +关注

    关注

    1

    文章

    1577

    浏览量

    48617

原文标题:实战经验 | 在 Keil中使用STM32CubeProgrammer

文章出处:【微信号:STM32_STM8_MCU,微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32CubeProgrammer能自动更新打开的固件吗?

    ST Visual Programmer当打开的文件更新后会提示是否重新加载,这功能很方便 换成STM32CubeProgrammer发现没了这功能 每次修改程序编译完,要在STM32CubeProgrammer先关闭文件,再打开烧录。 请问,
    发表于 03-25 08:27

    STM32CubeProgrammer闪退怎么解决?

    当我烧写文件为1M时,通过STM32CubeProgrammer2.8版本以上会发生闪退。2.6是正常的。但是2.6需要jre1.8版本,再高版本不能支持STM32CubeProgrammer的运行。各位有预留过类似问题的没有?
    发表于 03-28 06:12

    为什么会不能使用STM32CUBEprogrammer独立程序呢?有谁知道吗

    STM32CUBEprogrammer 的 V2.9 和 V2.8,但都不起作用。我的设置:(来自 cubeide cubeprogrammer 中使用的相同设置)ST-LIN
    发表于 12-08 08:35

    如何在STM32CubeProgrammer中正确设置STLinkUpgrade.jar呢

    当我为我的 STLink 单击“固件升级”时,STM32CubeProgrammer 抱怨“找不到 STLinkUpgrade.jar”。我 STSW-LINK007 中找到
    发表于 12-22 06:40

    为什么STM32CubeProgrammer的选项字节只ST- LINK模式下更新呢?

    我已经测试了ST-LINK 模式下通过 STM32CubeProgrammer 更改两个内核(M7 和 M4)的boot0地址。它工作正常。当我尝试 SPI 启动模式下实现相同的逻辑
    发表于 12-28 12:45

    STM32CubeProgrammer的用法是什么呢?

    嗨社区,我刚刚开始使用 STM32 MCU。STM32CubeIDE 和 STM32CubeProgrammer 有什么区别?我已经安装了 STM32CubeIDE,并且能够对NUCL
    发表于 12-29 08:36

    STM32CubeProgrammer是否提供SWO支持?

    我们目前 Windows 的旧版 ST-Link Utility 中使用 SWO 查看器。但是,这对我们来说有点不方便,因为我们的主要开发是 Linux 中进行的。是否计划为 STM32C
    发表于 01-11 08:02

    是否可以STM32CubeProgrammer中使用Segger探针?

    是否可以 STM32CubeProgrammer 中使用 Segger 探针?还是计划在未来?
    发表于 02-02 08:36

    UM2237 STM32CubeProgrammer软件说明

    STM32CubeProgrammerSTM32CubeProg)为任意环境下的STM32器件编程提供了一个一体化的软件工具:多操作系统,图形用户界面或命令行界面,支持多种连接选择(JTAG
    发表于 09-07 08:21

    关于STM32CubeProgrammer的内容

    几点关于STM32CubeProgrammer的内容
    的头像 发表于 03-04 11:08 5918次阅读

    STM32小技巧(2) STM32CubeProgrammer解除读保护的方法

    STM32CubeProgrammer解除读保护的方法简述STM32CubeProgrammerSTM32CUBEPROG)为任意环境下的STM32微控制器编程提供了一个一体化的软件
    发表于 12-09 14:51 21次下载
    <b class='flag-5'>STM32</b>小技巧(2) <b class='flag-5'>STM32CubeProgrammer</b>解除读保护的方法

    STM32CubeProgrammerSTM32CubeMonitor的新功能

    ST 近期推出新版本的 STM32CubeProgrammerSTM32CubeMonitor、STM32CubeMonitor-RF 和 STM32CubeMonitor-UCPD
    的头像 发表于 03-25 11:29 3859次阅读

    AN5054 使用 STM32CubeProgrammer 进行安全编程

    AN5054 使用 STM32CubeProgrammer 进行安全编程
    发表于 11-21 17:07 0次下载
    AN5054 使用 <b class='flag-5'>STM32CubeProgrammer</b> 进行安全编程

    STM32CubeProgrammer软件说明

    电子发烧友网站提供《STM32CubeProgrammer软件说明.pdf》资料免费下载
    发表于 08-01 09:10 1次下载
    <b class='flag-5'>STM32CubeProgrammer</b>软件说明

    中文STM32CubeProgrammer软件说明

    中文STM32CubeProgrammer软件说明
    发表于 11-13 15:43 0次下载