1. 引言 + v, p& b" o. |9 ~( n3 p STM32 MCU 在 bootloader 模式下,可以通过多种可用外设(USART、CAN、USB、I2C、SPI等)将程序下载到内部存储器中,详细内容可参考应用笔记 AN2606《STM32 microcontrollersystem memory boot mode》。 本文档主要介绍利用 STLINK-V3SET 调试/编程工具的 I2C 接口将程序下载到 SDRAM 中并执行的方法。- Y( U8 J) g; @ ! i" |- } c; S+ v 1 |; C& X$ m! o; |3 n* h 2. 问题描述 8 ^3 ]( V6 b% c9 x, j 问题源自客户的实际需求,希望通过 I2C 接口将程序下载到 SRAM 中执行,进行芯片功能性测试。 3. 问题分析与定位 / ?3 N/ N4 w! [( A9 J% c 关于在 Bootloader 模式下的应用程序下载,有多篇 LAT 可参考。例如《如何使用STM32NUCLEO 板来测试串口 Bootloader》、《一种在 IAR 中实现通过 SRAM 应用程序跳转到bootloader 的方法》等。应用程序下载到 SRAM 中,也有 LAT 可参考,如《一种在 IAR 中实现通过将程序在 SRAM 中调试的方法 》。' p0 y3 i, s4 e, J0 u/ c6 x) H3 j 通过调研,STLINK-V3SET 支持 I2C Bootloader 程序下载,可以实现在 bootloader 模式下的将应用程序下载到 SRAM 中。* @0 Z7 S: s2 d+ b4 P; I $ F! }9 d2 q3 c0 O* O9 u* Q 4. 问题解决 $ H$ O& C: _, X" |' X8 E 本文档以 NUCLEO-F401RE 开发板为例进行介绍。本文档介绍方法分为 3 个步骤,首先进行硬件配置与接线,使得 STM32F401RE 与 STLINK-V3SET 通过 I2C 相连,同时保证 STM32F401RE 复位后可进入 bootloader 模式;其次进行软件配置与编程,通过 IAR 可以将程序下载到 SRAM 中;最后通过 STM32CubeProgrammer 软件进行程序下载并运行。 下边分别介绍三个步骤。 4.1 硬件配置与接线 查看 AN2606 可知,通过 Boot0,Boot1 的硬件设置(Boot0 = 1,Boot1 = 0),可使 NUCLEO板上电复位后进入 bootloader 模式。STM32F401RE 的 I2C1, I2C2, I2C3 均支持 bootloader,这里选取 I2C1 接口实现在 bootloader 模式下的程序下载功能。* Y7 b: S6 n! y( v6 }% w $ l/ Q8 U9 V" O; y% E: s: x , d7 F& c) G) U2 A' M 关于 STLINK-V3SET 与 SRM32F401RE 之间的 I2C 连接,STLINK-V3SET 模块上已提供 680 欧姆上拉电阻,已通过闭合 JP10 跳线激活。同时还需要通过 NUCLEO 板为 STLINK-V3SET 提供 3.3V 供电。参考 AN2606 中 I2C 接线方式,两者的引脚接线如下表所示。 8 @# |9 j) ~! K' k& f/ Y- v : z! y9 t" H8 l0 t; j, I 最后,用一根 USB Type A 转 Micro B 的线连接 STLINK-V3SET 和 PC,同样通过调试线给STM32 NUCLEO-F401RE 供电。 S3 a6 s5 D# R6 \% {0 ` 1 j; x* }& D. t/ i8 u; i. [9 d : d) g8 \' o- w, Q% i* L# h 完整版请查看:附件) K8 N* y# h8 K" I 4 q) Z5 t E9 [ |
LAT1100 通过STLINK-V3SET I2C接口将程序下载到SRAM中并执行的方法_v1.0.pdf
下载1003.21 KB, 下载次数: 0