【问题标题】:Bootloader STm32引导加载程序 STm32
【发布时间】:2018-03-24 10:59:38
【问题描述】:

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

【问题讨论】:

  • 为什么不通过集成的 ST-Link/V2-1 对目标进行编程?

标签: microcontroller stm32 stm32ldiscovery


【解决方案1】:

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

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

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

【讨论】:

  • @kkrambo 好的,谢谢您的信息。我正在尝试学习使用引导加载程序进行闪存。是否有任何资源可用于在 stm32 上开发自定义引导加载程序?stm32 引导加载程序的源代码是否开放?
猜你喜欢
  • 2021-04-17
  • 2020-04-29
  • 2016-03-26
  • 2021-06-19
  • 2017-11-07
  • 2012-05-21
  • 2018-11-23
  • 2014-10-03
  • 1970-01-01
相关资源
最近更新 更多