0

我尝试使用 stm32L073Rz 核板的内部引导加载程序(系统内存)进行闪存。我已阅读文档 AN2606、AN3155 并将 BOOT0 引脚设置为 1。默认情况下,核板上的 USART2 可通过 stlink 接口访问,并且引导加载程序使用相同的 USART2 来监听数据,我在 ubuntu 中使用 GTK 术语通过/dev/ttyAMC0(USART2) 但无法从设备接收 ACK,如 AN3155 中所述,我正在向设备发送 0X7F。此过程是否有效,或者是否有更好的替代方法与引导加载程序进行通信?

4

1 回答 1

0

听起来您正试图通过 UART2 通过目标 MCU 的内部引导加载程序加载程序。那正确吗?为此,您可能必须断开目标板的 UART2 和集成 ST-Link MCU 之间的默认连接(即,您将绕过 ST-Link MCU)。请参阅开发板用户手册 ( UM1724 ) 中的 UART 通信部分和此摘录。

STM32 微控制器的 PA2 和 PA3 上的 USART2 接口可以连接到 ST-LINK MCU、ST morpho 连接器或 Arduino 连接器。可以通过设置相关的焊桥来改变选择。默认情况下,目标 STM32 和 ST-LINK MCU 之间的 USART2 通信已启用,以支持 Mbed™ 的虚拟 COM 端口(SB13 和 SB14 开启,SB62 和 SB63 关闭)。如果需要目标STM32 PA2(D1)或PA3(D0)与屏蔽或扩展板之间的通信,SB62和SB63应该是ON,SB13和SB14应该是OFF

然而,通常人们会使用集成的 ST-Link/V2-1 简单地对目标 MCU 进行编程。这是板的默认配置方式。换句话说,没有必要使用内部引导加载程序,因为该板具有集成的 ST-Link,更易于使用。

于 2018-03-24T14:45:06.877 回答