了解高级用户如何在STM32上提高工作效率

描述

STM32CubeProgrammer、STM32CubeMonitor、STM32CubeMonitor-RF和STM32CubeMonitor-UCPD这些工具经常出现在我们的专栏中,因为许多 STM32 开发人员使用它们来更快地将他们的产品推向市场。事实上,任何嵌入式系统工程师面临的挑战是为他们的微控制器或微处理器找到一个全面的平台。一个设备可能有很多特性,但如果设计人员不能有效地实现它们,它们都没有帮助。因此,提供广泛的软件工具以促进在 STM32 设备上开发应用程序至关重要。因此,让我们探索其中一些工具及其新功能。

STM32CubeProgrammer

STM32CubeProgrammer是什么?

统一的体验

STM32CubeProgrammer 旨在统一用户体验。ST 将 ST-LINK Utility、DFU 等实用程序的所有功能引入 STM32CubeProgrammer,成为嵌入式系统开发人员的一站式商店。我们还将它设计为适用于所有主要操作系统,甚至嵌入式 OpenJDK8-Liberica 以方便其安装。在体验 STM32CubeProgrammer 之前,用户无需自己安装 Java 并为兼容性问题而苦苦挣扎。最后,该实用程序有两个关键组件:图形用户界面和命令行界面。因此,用户可以通过利用其视觉提示或脚本功能来优化他们的工作流程。

STM32 Flasher 和调试器

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

开发人员面临的另一个挑战是解析通过 STM32CubeProgrammer 传递的大量信息。刷过固件的人都知道跟踪所有日志有多么困难。因此,我们带来了自定义跟踪,允许开发人员将颜色分配给特定的 printf 函数。它确保开发人员可以快速将特定输出与日志的其余部分区分开来。因此,调试变得更加直接和直观。此外,它可以帮助开发人员与 STM32CubeIDE 协调他们的配色方案,STM32CubeIDE 是我们独特的生态系统的另一个成员,旨在为创作者赋能。

STM32 上的安全门户

ST 博客的读者知道 STM32CubeProgrammer 是STM32Cube 生态系统中安全解决方案的核心部分。该实用程序附带 Trusted Package Creator,它使开发人员能够将 OEM 密钥上传到硬件安全模块并使用相同的密钥加密他们的固件。然后,OEM 使用 STM32CubeProgrammer 将固件安全地安装到 STM32 SFI 微控制器上。开发人员甚至可以使用 I 2 C 和 SPI 接口,这为他们提供了更大的灵活性。此外,STM32L5 还支持外部安全固件安装 (SFIx),这意味着 OEM 可以在微控制器外部的内存模块上刷新加密的二进制文件。

Sigfox 供应商

接收器

STM32CubeProgrammer

使用 STM32WL 微控制器时,开发人员可以使用 STM32CubeProgrammer 提取嵌入到 MCU 中的 Sigfox 证书。首先,开发人员将这个 136 字节的字符串复制到他们的剪贴板或将其保存在二进制文件中。其次,他们访问my.st.com/sfxp,在那里他们可以粘贴证书并立即以 ZIP 文件的形式下载 Sigfox 凭据。第三,他们通过 STM32CubeProgrammer 将下载的包的内容加载到 MCU,并使用 AT 命令获取 MCU 的 Sigfox ID 和 PAC。最后,开发者去https://buy.sigfox.com/activate/进行注册。激活将持续两年,开发者可以在一年内每天免费发送 140 条消息。

STM32CubeProgrammer 有什么新功能?

双重认证

该软件的最新版本 STM32CubeProgrammer 2.9 现在在通过 JTAG 或引导加载程序为STM32WB上的蓝牙堆栈配置加密密钥时支持双重身份验证系统。简而言之,该功能使制造商能够保护他们的蓝牙堆栈免受最终用户的更新。事实上,在大多数情况下,如果开发人员知道自己在做什么,他们就可以使用 ST 的安全固件更新蓝牙堆栈。但是,制造商可能会提供特定环境,因此希望对其进行保护。因此,双重身份验证系统会阻止最终用户访问更新机制。ST 发布了应用AN5185以提供更多详细信息。

脚本模式

新软件对其命令行界面 (CLI) 进行了更新,以支持创建脚本。由于脚本管理器是应用程序的一部分,它不依赖于操作系统或其外壳环境。因此,脚本是高度可共享的。另一个优点是脚本管理器可以保持与目标的连接。使用传统的批处理文件时,STM32CubeProgrammer CLI 需要在每一步都重新连接,这可能很乏味。另一方面,新的脚本管理器可以在整个会话期间保持连接。它还可以处理局部变量,甚至支持对这些变量的算术或逻辑运算。因此,开发人员可以创建强大的宏来更好地自动化复杂的流程。

PKCS#11 支持

STM32CubeProgrammer 2.9 现在在为STM32MP1加密固件时支持 PKCS#11 。公钥加密标准 (PKCS) 11,也称为 Cryptoki,是一种在低级别管理加密过程的标准。随着 API 帮助嵌入式系统开发人员利用其机制,它越来越受欢迎。在 STM32MP1 上,PKCS#11 允许工程师分离私钥的存储和安全秘密配置 (SSP) 的加密过程。

SSP 相当于 MPU 的安全固件安装。开发人员在将代码发送给 OEM 之前,使用带有 STM32CubeProgrammer 的私钥系统对其固件进行加密。因此,第三方无法读取 IP。在组装过程中,OEM 使用提供的硬件安全模块 (HSM),其中包含他们无法读取的加密密钥,以加载 MPU 将在内部解密的固件。然而,到目前为止,加密 MPU 代码的开发人员可以访问私钥。问题是一些组织必须限制对此类关键信息的访问。得益于新的 STM32CubeProgrammer 和 PKCS#11,即使在开发人员的加密过程中,私钥仍然隐藏在 HSM 中。

STM32CubeMonitor

STM32CubeMonitor 是什么?

MCU 的 Netflix

STM32CubeMonitor是一个运行时变量监控和可视化工具,具有用于远程连接的 Web 界面和用于创建自定义仪表板的图形界面。它确保开发人员可以通过依赖 Node-RED 的图形界面有效地监控他们的应用程序。这种基于流的编程工具使用户无需编码即可创建复杂的数据表示。这将使他们能够在不破坏现有代码库的情况下轻松调试软件和分析行为。此外,用户可以在 Node-RED 和 ST 社区上共享他们的仪表板,以相互构建。

为了让 STM32CubeMonitor 的首次体验更加直观,ST Wiki详细解释了开发人员如何通过两个简单的步骤监控应用程序中的变量。用户选择他们在内存中跟踪的数据的起始地址及其类型。为了协助完成这项任务,我们提供了一份指南,展示了如何从 ELF 文件中获取地址。然后界面要求用户选择 STLINK 探针。

基于 Node-RED 的运行时监控实用程序

跟踪寄存器、内存中断中的变量以及在任何给定时刻发生的无数事件是令人生畏的。因此,手动监控它们的要求非常高,以至于团队通常没有资源来进行这项工作。STM32CubeMonitor 为这个问题提供了一个解决方案,并依靠 Node-RED 使事情尽可能简单。用户将程序元素的图形表示拖放到画布上以创建流程,即一系列事件。例如,条件可以触发通过电子邮件发送警报或使用 MQTT 将数据推送到云平台的模块。

无需输入一行代码,用户就可以创建图形、图表或生成仪表,以帮助他们可视化计数器中的值、来自传感器的数据以及应用程序的许多其他方面。此外,Web 服务器的存在意味着可以在任何 PC 或移动浏览器上使用这些可视化,无论是在本地网络上还是在远程。此外,得益于 Node-RED 和 ST 社区,用户可以从简单地查看其他用户的仪表板开始,并通过学习其他人的示例来有机地学习。

贯穿产品生命周期的支持工具

在原型设计阶段,工程师可能会使用 STLINK 探针,例如目前可用的 STLINK-V3 模块之一。它将 MCU 板连接到 PC,这将有助于设置 STM32CubeMonitor 仪表板并充当 Web 界面的网关。当设计人员准备好交付他们的最终产品时,他们还可以创建一个软件例程,使用 UART 将数据发送到 USB 端口。因此,开发人员仍然可以使用连接到该 USB 端口的 STM32CubeMonitor 计算机安全地监控他们的应用程序。因此,该工具提供了有助于计划升级或即将推出的功能的长期分析。

STM32CubeMonitor 有什么新功能?

Node-RED 1.3.7 支持

STM32CubeMonitor 1.3.0使用NodeRED 1.3.7框架,目前最新的1.3版本。去年 4 月发布的 1.3 版本带来了新的插件框架和自动执行功能节点的能力。Change/Switch 节点的更新也提高了它们的可读性。OpenJS 基金会将在 2022 年推出新版本的 Node-RED。ST 将继续更新 STM32CubeMonitor,并将在这篇博文中报告我们在编程工具集成方面的重大变化。

新格式和符号更改通知

最新版本的 STM32CubeMonitor 能够以 CSV 格式导出数据,而不是简单地使用专有格式。因此,用户将能够将信息导入 Excel、MATLAB 等,从而为更多的数据优化和操作打开大门。如果符号发生变化,新软件也会发出通知。简而言之,该实用程序通过在文件中定义变量并将它们与符号相关联来跟踪变量。但是,重新编译代码可能会使符号文件过时,从而与 Node-RED 仪表板产生差异。如果用户忘记更新符号文件,新的 STM32CubeMonitor 会提醒用户。

STM32CubeMonitor-RF

STM32CubeMonitor-RF是什么?

STM32CubeMonitor-RF是一款用于测试 STM32WB 微控制器的蓝牙和 802.15.4 无线电性能的工具。图形用户界面有助于随着时间的推移可视化信号强度和数据包错误,而命令行界面为宏、批处理文件和其他类型的自动化打开了大门。简而言之,它借鉴了与传统 STM32CubeMonitor 相同的理念,但专注于无线电性能。因此,开发人员可以快速测试他们的设计并潜在地发现问题。该实用程序还可以嗅探设备之间的 802.15.4 通信。试用该实用程序的最简单方法是将 STM32WB 开发板连接到计算机并使用其 USB 或 UART 接口。

STM32CubeMonitor-RF 有什么新功能?

STM32CubeMonitor-RF 2.8.0 是一项重大更新,由于数据包更大,无线性能提高了一倍以上。当用户在“OTA Updater”中选择“Optimize MTU size”选项时,软件工具将OTA传输从16 kbit/s增加到41 kbit/s。因此,对于开发人员来说,这是提高生活质量的必要条件。发送文件或更新设备固件是开发过程中的日常操作。更快的速度将确保开发人员更快、更高效地工作。

STM32CubeMonitor-UCPD

STM32CubeMonitor-UCPD是什么?

STM32CubeMonitor-UCPD 监控并帮助在运行 ST USB PD 堆栈的 STM32 微控制器上设置 USB-C 和供电系统。开发人员可以使用该工具监控 USB-C 接口上的交互,使用接收器或源电源配置文件,并使用供应商定义的消息 (VDM)。该工具甚至具有预定义的设置,通过处理这些新技术固有的许多复杂性来促进和加速开发。STM32CubeMonitor-UCPD 是意法半导体2019 年推出的 USB-C 供电生态系统不可或缺的一部分。从那时起,我们一直在不断改进软件,以帮助开发人员评估性能并更快地获得认证。

STM32CubeMonitor-UCPD 有什么新功能?

STM32CubeMonitor-UCPD 1.2.0 最重要的新增功能之一是 Java 机器的集成。与本博文中的其他工具一样,该实用程序具有安装程序所需的一切。用户在运行应用程序之前不再需要自己安装 Java。此外,用户现在可以显示电压和电流总线、VDM、UCSI 等的迹线。新的 STM32CubeMonitor-UCPD 还可以监控电池的电气值。因此,开发人员可以跟踪更多进程并了解连接两个 USB-C 设备或使用 Power Delivery 时发生的情况。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分