![shequ.stmicroelectronics.cn](./template/st_v1/static/img/logo2.png)
1. 引言 / b. j) v- C, N# m! n* Q& ~ STM32 MCU 在 bootloader 模式下,可以通过多种可用外设(USART、CAN、USB、I2C、SPI等)将程序下载到内部存储器中,详细内容可参考应用笔记 AN2606《STM32 microcontrollersystem memory boot mode》。; o8 @, @7 Z+ ~' E2 B7 y: h+ _ 本文档主要介绍利用 STLINK-V3SET 调试/编程工具的 I2C 接口将程序下载到 SDRAM 中并执行的方法。 : _: E: S, C' w: a ![]() . A; S! P+ M8 Z 2. 问题描述 ; T* R; k. E$ y( r" v$ j- d 问题源自客户的实际需求,希望通过 I2C 接口将程序下载到 SRAM 中执行,进行芯片功能性测试。6 T9 x5 Y( g5 \0 g- h+ p4 j 3. 问题分析与定位 关于在 Bootloader 模式下的应用程序下载,有多篇 LAT 可参考。例如《如何使用STM32NUCLEO 板来测试串口 Bootloader》、《一种在 IAR 中实现通过 SRAM 应用程序跳转到bootloader 的方法》等。应用程序下载到 SRAM 中,也有 LAT 可参考,如《一种在 IAR 中实现通过将程序在 SRAM 中调试的方法 》。2 V1 G/ d& l0 P' p9 Q 通过调研,STLINK-V3SET 支持 I2C Bootloader 程序下载,可以实现在 bootloader 模式下的将应用程序下载到 SRAM 中。 4. 问题解决 本文档以 NUCLEO-F401RE 开发板为例进行介绍。本文档介绍方法分为 3 个步骤,首先进行硬件配置与接线,使得 STM32F401RE 与 STLINK-V3SET 通过 I2C 相连,同时保证 STM32F401RE 复位后可进入 bootloader 模式;其次进行软件配置与编程,通过 IAR 可以将程序下载到 SRAM 中;最后通过 STM32CubeProgrammer 软件进行程序下载并运行。! _# f! [0 i+ W 下边分别介绍三个步骤。 4.1 硬件配置与接线% _' V' g, b, O 查看 AN2606 可知,通过 Boot0,Boot1 的硬件设置(Boot0 = 1,Boot1 = 0),可使 NUCLEO板上电复位后进入 bootloader 模式。STM32F401RE 的 I2C1, I2C2, I2C3 均支持 bootloader,这里选取 I2C1 接口实现在 bootloader 模式下的程序下载功能。 a2 P$ L/ l( E$ B4 e2 S( _ ![]() 5 T( w0 F9 V5 E0 e0 e$ v ![]() 关于 STLINK-V3SET 与 SRM32F401RE 之间的 I2C 连接,STLINK-V3SET 模块上已提供 680 欧姆上拉电阻,已通过闭合 JP10 跳线激活。同时还需要通过 NUCLEO 板为 STLINK-V3SET 提供 3.3V 供电。参考 AN2606 中 I2C 接线方式,两者的引脚接线如下表所示。, `+ r, y7 ~) [ ![]() 最后,用一根 USB Type A 转 Micro B 的线连接 STLINK-V3SET 和 PC,同样通过调试线给STM32 NUCLEO-F401RE 供电。 4.2 通过 IAR 将程序下载到 SRAM 中 1)在工程的链接选项中选择 stm32f411xe_sram.icf : LAT1100 + Z* U7 m4 a9 Y0 t ![]() y9 X0 w B3 m$ u 2)设置一下中断向量表的位置 :8 A1 o6 X2 O& ^ ) y N& T6 p5 N' H+ E) U 8 ~3 j( t' s& f T% D) C ![]() . I1 n* v J' Q9 m+ F9 D 注意:当通过 Bootloader 将程序下载到 SRAM 中时,VECT_TAB_OFFSET 值需要修改。 + a0 ~7 ~. h1 H9 ]- o" R 完整版请查看:附件3 u, S/ \! r8 g4 |: X ![]() |
拷打cubemx【001】——艰难的选型路
汇编浮点库qfplib移植STM32F769I-DISCO开发板与硬件浮点运算性能测试对比
【STM32H7S78-DK评测】CoreMark移植和优化--兼记printf重定向实现方法及常见问题
【STM32H7S78-DK评测】移植AI框架TensorFlow【DSP指令加速篇】
【STM32H7S78-DK评测】开发板初识与工程模板创建
【STM32H7S78-DK评测】搭建基于ST官方VSCode扩展的STM32开发环境
[STM32WB55评测] 开箱
ST IO-Link 从站执行器设计方案
基于STM32 ST-LINK Utility安装及使用经验分享
STLINK-V3PWR功耗测量神器
学习学习