LAT1100
Local Application Tips
LAT1100 Rev 1.0 Jan. 2022
通过 STLINK-V3SET I2C 接口将程序下载 SRAM 中并执行的方法
关键字:bootloaderI2CSRAM
1. 引言
STM32 MCU bootloader 模式下,可以通过多种可用外设USARTCANUSBI2CSPI
等)将程序下载到内部存储器中,细内容可参考应用笔记 AN2606STM32 microcontroller
system memory boot mode》。
本文档主要介绍利用 STLINK-V3SET 调试/编程工具的 I2C 接口将程序下载到 SDRAM 中并执行
的方法。
1. STLINK-V3SET NUCLEO 板接线
2. 问题描述
问题源自客户的实际需求,希望通 I2C 接口将程序下载到 SRAM 中执行,进行芯片功能性测
试。
LAT1100
LAT1100 -Rev 1.0 page 2/10
3. 问题分析与定位
关于在 Bootloader 模式下的应用程序下载,有多篇 LAT 可参考。例如《如何使用
STM32NUCLEO 板来测试串 Bootloader》、《一种在 IAR 中实现通过 SRAM 应用程序跳转到
bootloader 的方法》等。应用程序下载到 SRAM 中,也有 LAT 可参考,如《一种在 IAR 中实现通
过将程序在 SRAM 中调试的方法 》。
通过调研,STLINK-V3SET 支持 I2C Bootloader 程序下载,可以实现在 bootloader 模式下的
将应用程序下载到 SRAM 中。
4. 问题解决
本文档以 NUCLEO-F401RE 开发板为例进行介绍。本文档介绍方法分为 3 个步骤,首先进行硬
件配置与接线,使得 STM32F401RE STLINK-V3SET 通过 I2C 相连,同时保证 STM32F401RE 复位
后可进入 bootloader 模式;其次进行软件配置与编程,通过 IAR 可以将程序下载到 SRAM 中;最
后通过 STM32CubeProgrammer 软件进行程序下载并运行。
下边分别介绍三个步骤
4.1 硬件配置与接线
查看 AN2606 可知,通过 Boot0Boot1 的硬件设置(Boot0 = 1Boot1 = 0),可使 NUCLEO
板上电复位后进入 bootloader 模式。STM32F401RE I2C1, I2C2, I2C3 均支持 bootloader,这
里选取 I2C1 接口实现在 bootloader 模式下的程序下载功能
2. 支持 bootloader I2C 引脚