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

嵌入式开发效率革命:STM32CubeProgrammer 2.19的自动化和智能化升级(上)

[复制链接]
STMCU-管管 发布时间:2025-6-12 08:52

image.png STM32CubeProgrammer作为意法半导体(ST)旗下核心的固件烧录与调试工具, 始终致力于通过技术创新简化开发流程、丰富功能。继多个版本迭代后,2.19版迎来重大升级,以更智能的自动化功能、更全面的硬件支持和更完善的安全机制,为开发人员带来前所未有的便捷体验。

STM32CubeProgrammer 2.19版能够支持运行更多开发任务,使开发人员可以更专注于核心代码的编写,而无需在基础操作上耗费过多精力。该版本不仅保持对最新STM32 MCU系列的支持,还可以通过必要的库升级机制,让开发人员持续获取功能更新。在内存模块管理方面,它引入了智能化更新策略,以高效优化操作流程。针对多目标设备开发场景,还新增了序列号编排功能,并支持调试认证,旨在不断丰富与完善开发功能,最终提升开发效率。

STM32CubeProgrammer 2.19突破了传统程序烧录与调试工具的局限,以简化操作步骤、优化用户体验为核心目标,成为嵌入式开发人员提升开发效能的可靠而强大的工具。

为开发者带来高度自动化开发体验****

STM32CubeProgrammer 2.19引入了一系列自动化功能,可简化操作流程。例如,该工具现在可自动下载X-CUBE-RSSe文件,其中包含RSS扩展二进制文件的最新版本、选项字节模板以及STM32HSM-V2硬件安全模块的个性化数据文件。用户将在STM32CubeProgrammer安全编程部分的SFI/SFIx选项卡上看到相关消息,提示有新版本可以下载,同时还有一个选项卡会告知主要变更内容。由于这些安全库和功能具有高度敏感性,该特性可确保开发者的软件持续更新,以避免已知问题。

新版本还增强了序列号功能,支持用户选择采用大端格式或小端格式。大端格式模拟从左到右的排列方式(类似于大多数拼音文字语言的常规书写顺序),在处理网络地址时最为常见。而小端格式在嵌入式系统中更为普遍,这是因为将最低有效字节(LSB)存储在最低内存地址,可使资源受限的系统更高效地读取地址,比如,只需访问最低有效字节的操作就能更快获取信息。这也是大多数MCU默认采用小端格式的原因,STM32CubeProgrammer支持对这两种格式的选用。

同样,STM32CubeProgrammer 2.19在使用命令行界面时引入了增量编程功能,只自动更新闪存中发生更改的扇区。工程师无需将固件烧录到整个闪存,该工具会识别有更新的内存扇区,并只修改这部分内容。大多数STM32器件已支持该功能,ST还将持续增加对更多MCU系列的内存配置的支持。ST还推出多目标开发板调试认证功能。用户每次选择一个目标开发板,并可以在多个开发板间无缝切换。

STM32 Flasher和调试器‸

STM32CubeProgrammer的核心功能是协助调试和烧写STM32 MCU。因此,它也包括优化这两个过程的功能。例如,2.6版引入了导出整个寄存器内容和动态编辑寄存器的能力。以往,更改寄存器的值意味着需要更改源代码、重新编译并刷新固件。如今,测试新参数或确定某个值是否导致错误要简单得多。同样,工程师现在可以使用STM32CubeProgrammer一次性烧写所有外部存储器。但在以前,烧写外部嵌入式存储器和SD卡需要开发人员单独启动每个进程。如今STM32CubeProgrammer可以一次性完成。

开发人员面临的另一个挑战是解析通过STM32CubeProgrammer传递的大量信息。刷过固件的人都知道跟踪所有日志有多么困难。为此,我们带来了自定义跟踪功能,允许开发人员为不同的日志信息设置不同的颜色。它确保开发人员可以快速将特定输出与日志的其余部分区分开来,让调试变得更加直观而快捷。此外,它可以帮助开发人员使用与STM32CubeIDE一致的配色方案。STM32CubeIDE是STM32生态系统的另一个成员,旨在为开发者提供强大而免费的IDE支持。 image.png

▲ STM32CubeProgrammer

新版本的核心特性

支持新款MCU

新版STM32CubeProgrammer同步支持新的MCU系列。例如,2.16版新增对256KB的STM32U0的支持。STM32U0在待机模式下静态功耗仅16nA,是适用于入门级应用的全新超低功耗旗舰MCU。STM32CubeProgrammer 2.16还支持512KB的STM32H5,以及闪存容量较小的STM32H7R和STM32H7S,可帮助使用外部存储器的用户大大降低成本。

支持SEGGERJ-Link调试探头

为帮助开发人员优化工作流程,ST与SEGGER合作实现了对J-Link调试探头的全面支持。这意味着硬件烧录工具不再局限于此前只有ST-LINK模块才能实现的功能,如SEGGER系统能够对内部和外部存储器进行编程,或调整读保护级别(RDP)。此外,将J-Link与STM32CubeProgrammer结合使用时,开发人员可查看和修改寄存器。自2.17版本起新增了生成序列号并在STM32CubeProgrammer中自动递增的功能,加强批量烧录多个STM32器件的管理。

许多STM32客户选择SEGGER调试探头,因为它能兼容更多MCU、运行速度更快,或是他们已经采用SEGGER的软件。因此,STM32CubeProgrammer可大幅提升J-Link的实用性,开发人员无需切换到其他ST软件即可完成更多工作。2.18版还新增了通过J-Link调试探头在STM32WB上安全安装蓝牙协议栈的功能,开发人员可以将SEGGER工具应用于更多场景,推动这些功能的广泛普及。

导出选项功能

新版本还进行了多项性能优化,可提升用户使用体验,让STM32CubeProgrammer更易上手。例如支持导出STM32的选项字节。选项字节用于存储配置参数,包括读出保护级别、看门狗设置、电源模式等。MCU会在启动初期加载这些选项字节,它们存储在内存的特定区域,该区域只能通过调试工具或引导程序访问。

通过选项字节的导出和导入功能,STM32CubeProgrammer能让开发人员更便捷地配置MCU。自2.17版本起,开发人员可使用ASCII格式编辑内存字段,大幅提升特定内容的可读性。而2.18版本引入了组合式选项字节视图,支持在同一行中查看和编辑多个选项字节,无需逐行滚动浏览详细列表。对于明确操作需求的资深用户而言,这种组合视图可显著缩短选项字节的修改时间。

ST还对用户体验进行了优化,例如新增项目模式,支持用户保存和恢复配置及连接设置、选项字节值、固件列表、外部闪存加载程序、安全固件更新(根安全系统扩展二进制文件)、STM32WB的协议栈安装设置以及自动模式参数。开发人员可通过导入和导出核心项目元素实现更高效的操作,将精力集中于代码编写,避免选项重复勾选或重复应用相同设置。

自动安装蓝牙低功耗协议栈

此前,开发人员在更新蓝牙低功耗(Bluetooth LE)无线协议栈时,需要先确定首个内存块的起始地址,而该地址会因STM32WB型号及所用协议栈类型的不同而有所差异。例如,在STM32WB5x上安装基础协议栈时,起始地址为0x080D1000;若在同一设备上安装完整协议栈,起始地址则为0x080C7000;而对于配备512KB内存的STM32WB3x,同一软件包的起始地址为0x0805A000。开发人员需要在STM32CubeWB/Projects/STM32WB_Copro_Wireless_Binaries路径中查找起始地址。STM32CubeProgrammer新版本引入了一种算法,可根据当前无线协议栈版本、设备型号及待安装的协议栈类型,自动确定正确的起始地址。

支持新系列MCU

STM32WL3,STM32N6,STM32C0,STM32H7R3/7S3/7R7/7S7

几乎每个版本的STM32CubeProgrammer都增加了针对当前最新MCU系列的支持,而2.18版本新增的器件尤为丰富。用户现在可以使用最近发布的STM32WL3、STM32N6,以及配备64KB和256KB闪存的新款STM32C0系列器件。

STM32CubeProgrammer还为STM32H7R3/7S3/7R7/7S7系列、全系列STM32MPU及STM32U5提供了额外的功能支持。例如,STM32H7R/S系列MCU现已支持安全固件安装(SFI);STM32MP25新增图形用户界面功能,用于管理电源管理集成电路(PMIC)寄存器并将配置导出为二进制文件,显著提升了跨项目移植配置的便捷性;对于STM32U5,若开发人员因配置失误导致设备锁定,可通过该工具将选项字节配置恢复为出厂默认状态。

STM32C0,STM32MP25,STM32WB05/6/7

从2.17版本起,STM32CubeProgrammer支持配备128KB闪存的STM32C0系列芯片。该工具还可识别集成的1.35TOPS NPU的STM32MP25,以及包括STM32WB05、STM32WB05xN、STM32WB06和STM32WB07在内的全系列STM32WB0产品。而对STM32WB0系列的支持在其发布后几周内就实现了,充分体现了STM32CubeProgrammer持续跟进新产品的能力,让开发人员能够尽快在最新的STM32芯片上进行固件烧录和代码调试。

在STM32MP13上运行实时操作系统

MCU因资源有限,需要实时操作系统(RTOS),且事件驱动的范式在执行任务时需要高度的确定性。相反,MPU拥有更丰富的资源,能够更好地管理并行任务,因此采用多任务操作系统,例如ST的嵌入式Linux发行版OpenSTLinux。然而,许多熟悉STM32 MCU的客户一直期望能在ST的MPU上运行RTOS作为替代方案。他们希望在享受MPU资源的同时,能够充分利用熟悉的RTOS生态系统,以及运行裸机代码带来的优化效果。

因此,ST发布了STM32CubeMP13套件,为在ST的MPU上运行实时操作系统(RTOS)提供了所需的工具。为确保这一计划落地,ST还对STM32Cube工具集进行了更新,确保开发人员能够对NOR存储器进行固件烧录。而STM32CubeProgrammer通过支持一次性可编程(OTP)分区,使STM32MP13能够运行实时操作系统。

一般来说,MPU可以使用U-Boot之类的引导加载程序,安全高效地加载Linux内核。因此,引导过程的第一步是读取一次性可编程(OTP)分区,这是整个引导流程的基础。因此,当开发人员从多任务操作系统转向实时操作系统(RTOS)时,STM32CubeProgrammer必须支持对OTP分区进行编程,以确保能够加载目标操作系统。新版STM32CubeProgrammer充分展示出ST生态系统是如何通过协同工作推出新功能的。

支持STM32WB/STM32WBA

自2.12版本起,STM32CubeProgrammer为STM32WB系列带来了多项优化功能,引入了全新图形工具和更新的无线协议栈。例如,当工具检测到错误时会提供更清晰的指引,比如开发人员在启用防回滚功能的情况下尝试更新无线协议栈,却忘记加载旧版协议栈的场景。同样,新增的提示信息可确保用户了解协议栈版本是否与固件更新不兼容。STM32CubeProgrammer还提供了下载STM32WB补丁的新链接,并集成了实用技巧和操作指南,开发人员无需再费时查找相关资源。

STM32CubeProgrammer还支持全新的STM32WBA——首款基于Cortex-M33的无线MCU。这款MCU支持蓝牙低功耗5.3和SESIP3级认证。它还配备了更强的射频模块,输出功率最高可达+10dBm,能够生成更稳定的信号。

STM32H5/STM32U5

自STM32CubeProgramer 2.13开始支持新的STM32H5系列,包括从128KB闪存到2MB闪存,以及两者之间的所有型号。新版软件还为用户带来了调试身份验证和身份验证密钥供应等重要安全功能,这些功能在使用器件新的生命管理系统时至关重要。该特性还支持密钥和证书生成、固件加密和签名。

随后,ST又增加了对512KB和4MB闪存的新款STM32U535和STM32U545的支持。这些MCU具备带密码的读保护(RDP)回归功能,可简化开发流程,并支持安全固件安装(SFI)安全编程。

此外,STM32CubeProgrammer为STM32U5xx系列提供了带密码的读保护(RDP)降级接口。开发人员可定义密码,将保护级别从关闭所有调试功能的2级降至仅保护闪存免受特定读取或转储操作的1级,或无任何保护的0级。这将极大简化原型开发流程。

STLINK-V3PWR

STM32CubeProgrammer 2.13还增加了对新型STLINK-PWR探头的支持,这是STM32器件功能最丰富的功耗测量单元和编程器/调试器。如果用户想查看能量图表并可视化电流消耗,他们必须使用STM32CubeMonitor-Power。

而STM32CubeProgrammer将作为所有调试功能的接口,还可以与所有探头的接口一起工作,如SPI、UART、I2C和CAN。

支持文本模式

新软件对其命令行界面(CLI)进行了更新,以支持创建脚本。脚本管理器是应用程序的一部分,它不依赖于操作系统或其外壳环境。因此,脚本是高度可共享的。另一个优点是,脚本管理器可以保持与目标的连接。STM32CubeProgrammer CLI可在整个会话期间保持连接处于活动状态,无需在每条命令后重新连接。它还可以处理局部变量,甚至支持对这些变量的算术或逻辑运算。因此,开发人员可以创建强大的宏更好地实现复杂流程的自动化。为进一步增强STM32CubeProgrammer CLI的功能,脚本管理器还支持循环和条件语句。

统一的用户体验

STM32CubeProgrammer高度重视统一用户体验。ST将ST-LINK Utility、DFU等实用程序的所有功能集成进STM32CubeProgrammer,使其成为嵌入式系统开发人员的一站式解决方案。ST还竭力将它设计为适用于所有主要操作系统,甚至集成了OpenJDK8-Liberica,以方便安装。在体验STM32CubeProgrammer之前,用户无需自己安装Java,也不用为兼容性问题烦恼。

支持Qt 6

STM32CubeProgrammer从2.16版本开始采用了最新版的Qt 6框架。因此,它不再支持Windows 7和Ubuntu18.04系统。同时,Qt 6修复了安全漏洞和软件缺陷,并显著提升使用体验。

下篇文章将为大家详细介绍新版STM32CubeProgrammer全面的安全特性,敬请期待!

收藏 评论1 发布时间:2025-6-12 08:52

举报

1个回答
STMWoodData 回答时间:前天 11:08

很好,终于不用java了

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版