如何利用STM32CubeProgramer访问STM32板上的USART引导加载程序?我们在这里的例子是,我们将使用Nucleo-H743ZI作为STM32参考板,向您展示如何利用STM32CubeProgramer GUI访问目标的USART引导程序。
每个STM32 MCU都使用存储在内部引导ROM(系统内存)中的系统内存引导加载程序进行预编程。它的主要目的是通过一个可用的串行外围设备(例如USART、CAN、USB DFU、I2C和SPI)将应用程序下载到内部闪存。要验证哪些外围接口支持启动加载器、通信协议以及相应的命令集和序列的激活,请查看
安2606(STM32微控制器系统内存引导模式)。
STM32管式编程器是一个用于对STM32产品进行编程的一体化软件工具,可在多个操作系统之间兼容,并提供图形用户界面(GUI)和命令行界面(CLI)版本。它是一个易于使用且高效的应用程序,可通过JTAG和SWD调试接口以及引导程序接口(例如USART、CAN、USB DFU、I2C和SPI)读取、写入和验证设备内存。建议始终使用最新版本的STM32CubeProgram
步骤1。在AN2606中查找STM32设备。这将显示您需要应用的激活模式、设备的各种可用引导加载程序接口以及引导加载程序所需的硬件资源。

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

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

步骤4。由于每个STM32都是唯一的,因此可能有多个USART可供选择以启动USART引导加载程序。此信息可在系统内存引导模式表中相应的STM32配置中找到。
在我们的示例案例中,我们可以选择通过引脚PA9/PA10或PB14/PB15在USART1上启动USART引导加载程序,通过引脚PA2/PA3在USART2上启动USART2或通过引脚PB10/PB11在USART3上启动USART引导加载程序。
在本例中,我们将继续选择USART1(PA9/PA10)。
步骤5。由于我们正在使用Nucleo-H743ZI,我们将需要进行一些额外的连接。
现在,当使用Nucleo-H743ZI启动USART引导程序时,这一步骤非常关键,因为这一步骤建立了ST LINK的虚拟com端口和STM32H743的USART1引脚之间的连接。此连接允许正确接收所需的0x7F命令以启动USART引导加载程序。
在我们的情况下,T_VCP_TX(连接到STLK_VCP_TX)在引脚PD8上,而T_VCP_RX(连接到ST LK_VCP_RX)引脚在PD9上。因此,在我们的Nucleo-H743ZI上,我们将把PD8连接到PA9(USART1_TX),把PD9连接到PA10(USART1TX)。
请注意,如果您使用的是另一块STM32板,则需要验证您选择的USART是否直接连接到ST LINK的虚拟通信端口TX和RX专用引脚,就像我们在本步骤中使用Nucleo-H743ZI所做的那样。

步骤6。在板上找到用户USB端口,然后用USB电缆将板连接到主机。

在STM32CubeProgrammer中选择UART连接选项,并确保您选择了目标MCU的适当COM端口。

步骤7。单击“连接”图标。祝贺我们已经成功地利用STM32CubeProgramer推出了Nucleo-H743ZI的USART引导程序。

STM32CubeProgramer GUI在许多方面都能发挥作用,您可以做的一些事情包括但不限于:从闪存和RAM读取/写入,读取/编程设备的选项字节,以及检查CPU寄存器内容。
相关链接和文档:
  • 核苷酸-H743Z