如何使用STM32CubeProgram访问STM32板上的USB-DFU引导加载程序?在我们的示例中,我们将使用Nucleo-H442ZI作为STM32板,向您展示如何使用STM32CubeProgrammer访问目标的USB-DFU引导加载程序。
每个STM32 MCU都是从我们的工厂预先编程的,系统内存引导加载程序存储在内部引导ROM中,也称为系统内存。其主要目的是通过一个可用的串行外围设备(例如USART、CAN、USB DFU、I2C和SPI)将应用程序下载到内部闪存。要验证哪些外围接口支持启动加载器、通信协议以及相应的命令集和序列的激活,请查看AN2606(STM32微控制器系统内存启动模式)。
STM32CubeProgrammer是一款用于对STM32产品进行编程的一体式软件工具,可在多个操作系统之间兼容,并提供图形用户界面(GUI)和命令行界面(CLI)版本。它是一个易于使用且高效的应用程序,可通过JTAG和SWD调试接口以及引导程序接口(例如USART、CAN、USB DFU、I2C和SPI)读取、写入和验证设备内存。
跟上最新版本的STM32CubeProgram
建议始终使用最新版本的STM32CubeProgram。您可以在st.com上找到最新版本的STM32CubeProgramer。请参阅本文末尾的相关文档和链接部分,以获得STM32CuboProgramer登录页的直接链接。
另一方面,如果您的系统上已经安装了STM32CubeProgramer,您可以参考以下步骤来检查您当前的STM32CuboProgramer版本,以及是否有任何可用的更新。
步骤1。启动STM32CubeProgramer GUI(图形用户界面)。在屏幕左下角,选择“?”偶像然后选择“软件更新”选项。

步骤2。 将出现一个STM32CubeProgramer更新程序弹出窗口。请注意,此窗口的内容可能会有所不同,具体取决于您正在运行的STM32CubeProgrammer的当前版本。如果您有任何更新,请按照弹出窗口的屏幕提示进行操作。

使用STM32CubeProgramer访问USB-DFU引导加载程序
步骤1。在AN2606中找到STM32设备。本节将介绍您需要应用的激活模式。此外,还为您的设备提供了各种可用的引导加载程序接口,更重要的是,还提供了引导加载程序所需的硬件资源。

步骤2。找到目标MCU的引导加载程序配置说明和引导加载程序激活模式表中所示的模式。请注意,如果一个模式有多个选项,您可以选择要应用的任何选项。

在我们的示例中,我们必须使用的模式是模式10。

步骤3。 由于模式10有两个不同的选项,我们将选择第二个模式10选项:Boot(pin)=1和Boot_ADD1(optionbyte)=0x1FF0。在Nucleo-H743ZI上,我已经使用STM32CubeProgrammer验证了MCU选项字节中的BOOT_CM7_ADD1值和地址设置为0x1FF0。我还将BOOT0引脚(位于CN11引脚7上)连接到VDD。

步骤4。 您需要两根微型USB电缆,一根为板供电,另一根启动USB DFU引导程序。
首先,在板上找到用户USB端口,并用微型USB电缆将板连接到主机上。

其次,找到板上的ST-LINK USB端口,并使用第二个微型USB连接到该端口。请注意,有多种方式为板供电,例如使用板上ST-LINK或外部5V电源。无论选择何种电源;您将需要修改板的跳线2(JP2),以将5V电源反映到Nucleo-H743ZI板。

意法半导体提供3种Nucleo板:32引脚、64引脚和144引脚。

有关核板不同电源和电源选择的更多信息,请参阅各自的核板用户手册。特别是电源和电源选择部分:
  • UM1956(STM32 Nucleo-32板)
  • UM1724(STM32 Nucleo-64板)
  • UM1964(STM32 Nucleo-144板)

步骤5。 启动计算机的设备管理器。在这里,您应该能够看到USB引导加载程序现在正在运行,并且板被检测为DFU设备。

步骤6。在STM32CubeProgrammer中,您需要在绿色“连接”图标旁边的下拉菜单中选择USB连接选项。

步骤7。在您选择USB连接的位置旁边,单击“连接”图标。祝贺我们已经成功地使用STM32CubeProgramer在Nucleo-H743ZI板上启动了ST的内部USB-DFU引导程序。

STM32CubeProgramer GUI具有各种应用程序,可以帮助您完成项目。您可以做的一些事情包括但不限于从闪存和RAM读取/写入,读取/编程设备选项字节,以及检查CPU寄存器内容。
相关文档和链接:
  • 安2606
  • AN3156(STM32引导程序中使用的USB DFU协议)
  • STM32管式编程器
  • 核苷酸-H743ZI
  • Nucleo-H743ZI板示意图