STM32CubeMX 6.11 是一个新的里程碑,因为它允许开发人员使用新 STM32H7R 和 STM32H7S 的独特功能。 该软件还通过提供流行的 USB 中间件作为独立软件包的一部分,继续简化 STM32 上的开发。同样,它是第一个支持 CMake 的版本,这将显著优化工作流程。因此,STM32CubeMX 继续作为 STM32 开发人员的参考应用程序,这要归功于其 UI,它消除了复杂性并提高了 STM32 生态系统的可访问性。此外,新版本还首次支持 NUCLEO-U031R8、NUCLEO-U083RC、NUCLEO-H7S3L8、NUCLEO-H533RE。
STM32CubeMX 6.11 是新款 STM32H7R 和 STM32H7S MCU 的关键更新,因为该软件有助于充分利用其内存功能。事实上,这些设备的闪存更小,这使它们成为最具成本效益的 STM32H7。由于该设备面向必须使用外部存储的应用程序,因此新内存可以帮助显著降低物料清单。 此外,为了使嵌入式闪存更有意义,ST 引入了启动闪存,它存储整个启动序列,从而取代了我们在 MCU 上看到的 ROM。 因此,嵌入式存储变得更加灵活和实用,因为它不仅用于应用程序,还用于启动和初始化。
为了使启动闪存更易于访问,我们在 STM32CubeMX 上公开了该功能。 简而言之,GUI 将帮助开发人员配置嵌入式闪存以利用其启动功能。 同样,由于 STM32H7R 和 STM32H7S 将用于具有外部存储器的系统,因此 STM32CubeMX 可以设置外部加载器,以便 STM32CubeProgrammer 等应用程序可以直接对这些分立闪存模块进行编程。它还将帮助开发人员将主应用程序加载到嵌入式存储器中,将系统的其余部分加载到外部存储器中。
新版 STM32CubeMX 增加了对裸机环境中 USBX 中间件的支持。USBX 是一个允许使用 USB 主机或设备的软件堆栈。到目前为止,想要使用它的开发人员必须安装 ThreadX RTOS。问题是,如果团队想要消除操作系统来优化他们的系统,他们就无法使用 USBX。得益于 STM32CubeMX,现在在项目中包含正确的中间件变得更加容易。
STM32CubeMX 6.11 开始支持 CMake,这是一套开源工具,允许开发人员构建、测试和打包他们的软件。它在大型多平台项目中特别有用,因为它有助于简化大型工作流程。当前的 CMake 支持主要针对在单核 MCU 上运行且不使用 Trustzone 的应用程序。随着时间的推移,我们将继续更新我们的 CMake 支持,以允许 STM32CubeMX 为更多 STM32 微控制器生成项目。
STM32CubeMX 是一款图形工具,可帮助开发人员生成初始化微控制器及其应用程序的代码。 用户可以通过界面配置 MCU 的引脚排列、解决冲突以及设置硬件外设和中间件。用户还可以配置时钟树,并受益于自动执行特定计算的向导。同样,它可以帮助设置和调整 STM32 MPU 上的 DDR。该工具还有助于选择 MCU 或 MPU 并下载其软件包。因此,它通常是与开发人员的第一个接触点。该工具可在 STM32CubeIDE 中使用,也可以单独下载。
STM32CubeMX 还协助开发人员完成其工作的其他部分。例如,找到合适的文档可能很棘手,尤其是在如此庞大的库中。ST 以其广泛的文档而闻名,合作伙伴告诉我们,这是他们选择我们设备的原因之一。因此,我们在 STM32CubeMX 的独立版本中提供教程视频,以帮助开发人员搜索信息。我们提供有关配置时钟树、引脚或不同软件功能的内容。 刚接触我们工具的程序员可以更快地启动他们的应用程序,从而进一步降低进入门槛并减少摩擦 。
对于可能不太熟悉 STM32CubeMX 的读者,这里列出了我们过去发布的一些功能。
嵌入式系统开发人员必须掌握其生态系统中的众多抽象层。典型的 PC 或移动应用程序开发人员仅使用一种或极少数高级语言和脚本框架即可完成所有工作。 相反,使用微控制器会迫使团队考虑许多现有层。 例如,寻求最终优化的团队将使用低级代码尽可能接近硬件。但是,那些寻求更实用的方法但仍能产生出色性能的人将使用我们的硬件抽象层 (HAL),而那些优先考虑快速开发的人将使用我们的板级支持包 (BSP),它抽象了 HAL。
然而,太多嵌入式生态系统未能理解,抽象程度越高,开发人员越追求便利。事实上,如果团队必须花费数小时甚至数天来设置抽象层,那么它就变得毫无意义。 因此,CubeMX 6.10.0 引入了一个新 UI,可帮助在“新项目”->“启动我的项目”下初始化我们的 BSP 函数。 该 UI 目前仅适用于我们最新的几个开发平台(NUCLEO-C031C6,以及禁用 TrustZone 时的 NUCLEO-H563ZI 和 NUCLEO-U5A5ZJ-Q),但我们的团队正在努力随着时间的推移支持更多的开发板。
让我们以 NUCLEO-H563ZI 上的闪烁灯演示为例。 第一步是确保USER LED GREEN
在人机界面下拉菜单中选择至少。在新 UI 中选择此选项时,系统会自动提交正确的引脚,而不仅仅是建议使用哪个引脚并设置 HAL,以便开发人员可以立即使用 BSP 函数来打开或关闭 LED。因此,用户只需按下GENERATE CODE
右上角的按钮并打开 main.c 文件Core/Src/
即可看到BSP_LED
已初始化并准备在主函数中使用并准备在while
循环中使用的函数。
此外,ST 还包含一个“生成演示代码”选项,该选项可在生成的主 C 文件中添加注释和示例。 因此,除了自动执行初始化过程之外,新 UI 还可以作为新开发人员的指南,他们可以打开新文件并了解如何打开和关闭灯光。因此,即使是对 C 语言一知半解的开发人员也可以在极少的指导下运行闪烁灯光应用程序。简而言之,新版 STM32CubeMX 旨在使嵌入式系统更容易使用,即使是那些在该领域经验最少的人也可以使用。
借助 6.10.0 版,适用于 Windows 的 STM32CubeMX 成功取消了管理员权限要求。以前,操作系统会在安装实用程序时要求输入管理员密码。 现在,由于重新设计了安装过程,Windows 不再要求管理员权限,这对锁定计算机的用户来说是一个巨大的帮助。 通常,公司会锁定他们的机器以防止黑客攻击或滥用,而要求管理员授权安装可能非常麻烦。STM32CubeMX 6.10.0 解决了这个问题。由于每个操作系统管理用户权限的方式不同,Linux 和 macOS 版本的 STM32CubeMX 不会遇到同样的问题。
STM32CubeMX 通常是开发人员在使用 STM32 MCU 时启动的第一个实用程序,因为它允许他们初始化设备、选择正确的固件包、配置时钟树等。因此,ST 旨在不断增加对我们最新设备的支持。例如, 这个新版本兼容为我们的新 STM32H5 上运行的安全项目生成文件的功能,这引入了新的安全保障措施。 同样,STM32CubeMX 现在为 STM32WB 和 STM32WBA MCU 提供了内存管理工具。后者还可以选择支持其 Thread、Zigbee 和 802.15.4 毫米波 RF 功能。最后,正如承诺的那样,我们还将为新的 STM32MP13 添加 RTOS 支持。
STM32CubeMX 附带内存管理工具。图形用户界面极大地方便了 STM32H5 或 STM32U5 等设备上寄存器的配置。 例如,只需单击几下,它就可以帮助设置设备以使用 TrustZone、安全环境或内存保护单元。 以前,开发人员必须弄清楚哪些寄存器控制哪些功能。新的 MMT 消除了大部分复杂性,从而创造了更加直观的体验。此外,正如 STM32CubeMX 6.10.0 所示,我们将继续将 MMT 引入新的 STM32 设备。
引导路径管理器有助于配置 STM32H5 上可用的新引导加载程序。ST 的最新主流 MCU 支持不可变信任根 (iRoT) 和可更新信任根 (uRoT)。根据他们的安全需求,开发人员可以选择使用两者、其中之一或不使用。STM32CubeMX 通过帮助用户从菜单中选择配置、自动生成密钥以及设置引导路径来保护微控制器,从而实现这一点。随着 STM32H5 开发板的普及,我们确保 STM32CubeMX 可以帮助他们利用新功能。
安全管理器是 2023 年初宣布的另一项重要功能,现在可以通过 STM32CubeMX 访问。安全管理器是我们的第一个可信执行环境。作为 STM32 Trust 计划的一部分,它包含二进制文件,并可在系统级别帮助认证。因此,以 SESIL 和 PSA 3 级认证为目标的客户可以大大加快他们的资格认证过程。简而言之,开发人员使用 STM32CubeMX 设置安全管理器中的所有功能,然后系统使用依赖于最新版本的 STM32CubeProgrammer CLI 的脚本机制来配置 MCU。
ST 在 STM32CubeMX 中增加了运行前和运行后脚本功能,以自动执行各种任务。 简而言之,用户可以要求应用程序在执行代码生成之前和之后启动脚本,以满足专家用户的需求。 例如,程序员可以自动将文件复制到新文件夹或发送到 GitHub,然后再由生成的新文件将其删除。这将使工程师能够保留其配置的历史记录,以防他们想要恢复到以前的状态。同样,运行后脚本可以将新生成的文件添加到项目中并启动 IDE。
STM32CubeMX
STM32CubeMX 要求用户在下载软件包之前登录 my.ST.com 帐户,这可能会让社区中的一些人感到困惑。以前,用户在下载软件时必须离开应用程序,转到 ST.com,然后输入他们的凭据。 几个版本之前,STM32CubeMX 通过确保用户不必离开软件来创建更具凝聚力的体验。然而,这确实意味着要求他们提供凭据。然而 ,在此之前,仍然可以在没有帐户的情况下使用 STM32CubeMX。
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !