你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

通过 STLINK-V3SET I2C 接口将程序下载到 SRAM 中并执行的方法

[复制链接]
STMCU小助手 发布时间:2023-6-18 14:19
1. 引言 1 c5 `' V, k. l$ i3 ~. @( V
STM32 MCU 在 bootloader 模式下,可以通过多种可用外设(USART、CAN、USB、I2C、SPI等)将程序下载到内部存储器中,详细内容可参考应用笔记 AN2606《STM32 microcontrollersystem memory boot mode》。! a: ^) ~5 L1 w5 h, c4 P* {
本文档主要介绍利用 STLINK-V3SET 调试/编程工具的 I2C 接口将程序下载到 SDRAM 中并执行的方法。1 m7 s5 b/ J6 H* [
$ W  Z2 S7 D5 D" L# G
DHA[}`JKLN9%AM3QV3NZGBY.png
! v4 e0 I) f2 K9 z$ h" y9 {# i7 a- U) Z
2. 问题描述
+ d4 L8 H( S7 a  ^, L问题源自客户的实际需求,希望通过 I2C 接口将程序下载到 SRAM 中执行,进行芯片功能性测试。" F1 u) @. Z' p

7 t$ i8 Y: {# \3 c& @; v# j) ]: f* Q3. 问题分析与定位 # v0 g9 {% ~9 U
关于在 Bootloader 模式下的应用程序下载,有多篇 LAT 可参考。例如《如何使用STM32NUCLEO 板来测试串口 Bootloader》、《一种在 IAR 中实现通过 SRAM 应用程序跳转到bootloader 的方法》等。应用程序下载到 SRAM 中,也有 LAT 可参考,如《一种在 IAR 中实现通过将程序在 SRAM 中调试的方法 》。
5 E, V) g1 _# d- \6 h3 ~. D通过调研,STLINK-V3SET 支持 I2C Bootloader 程序下载,可以实现在 bootloader 模式下的将应用程序下载到 SRAM 中。
4 y" J# S& W, q: f: e
  F- K2 D! J) e: j7 s: j2 ]( i
4. 问题解决
& U1 c+ _2 [; r! j& X2 g! _9 A; E本文档以 NUCLEO-F401RE 开发板为例进行介绍。本文档介绍方法分为 3 个步骤,首先进行硬件配置与接线,使得 STM32F401RE 与 STLINK-V3SET 通过 I2C 相连,同时保证 STM32F401RE 复位后可进入 bootloader 模式;其次进行软件配置与编程,通过 IAR 可以将程序下载到 SRAM 中;最后通过 STM32CubeProgrammer 软件进行程序下载并运行。3 A: ^8 A4 S6 Z3 ]1 L, [( Y, s
下边分别介绍三个步骤。
" K/ x- f8 t% B7 m) X3 y0 Y( F% B  d- k% n, J# V( C) s/ ]) V
4.1 硬件配置与接线+ u! l3 Z0 z: T7 T& J+ Z) q
查看 AN2606 可知,通过 Boot0,Boot1 的硬件设置(Boot0 = 1,Boot1 = 0),可使 NUCLEO板上电复位后进入 bootloader 模式。STM32F401RE 的 I2C1, I2C2, I2C3 均支持 bootloader,这里选取 I2C1 接口实现在 bootloader 模式下的程序下载功能。
5 o( U5 j, K4 B- E& w1 K
0 |: a' Z, d: D4 @0 l

+ O$ g: F# h* P; O 9A7~F_1C257063Z3MRDIJ1J.png
+ ?; i5 u& {9 s- j+ \' ~. o3 \# R. j8 A
JT(7%I_2YD16JWC0~~45)~7.png
& t+ E. T5 ~% r# D1 c% `
, g# z- U! r8 D2 L) Q关于 STLINK-V3SET 与 SRM32F401RE 之间的 I2C 连接,STLINK-V3SET 模块上已提供 680 欧姆上拉电阻,已通过闭合 JP10 跳线激活。同时还需要通过 NUCLEO 板为 STLINK-V3SET 提供 3.3V 供电。参考 AN2606 中 I2C 接线方式,两者的引脚接线如下表所示。, y8 i# H9 E5 [% D

; k2 |: m0 S' f3 J
: D. }7 J+ J( D$ k2 L' |% m5 X9 X# [
`B)G9BG5{K[6`23G@`1GWYY.png
3 q! `- ^% p% \3 s6 o/ [6 }' j" y( X+ ]$ G+ `, b/ p
最后,用一根 USB Type A 转 Micro B 的线连接 STLINK-V3SET 和 PC,同样通过调试线给STM32 NUCLEO-F401RE 供电。6 T8 [; W) A+ s" {
: B4 A+ |' A. h- K# A% k
4.2 通过 IAR 将程序下载到 SRAM 中
& p- i' K( r/ p5 f: R1 t1)在工程的链接选项中选择 stm32f411xe_sram.icf : LAT1100
4 E- b+ V* D# Y- H1 D6 p! I( L4 U
2 G8 M4 p% a. g' [0 p2 s" f0 \ (WL}G}$UNMP1]JETQ9F3%[S.png
! ^& l) V  Y- Q5 K  P' F% ?
3 m/ {2 m$ F# y4 q2)设置一下中断向量表的位置 :
  h0 [2 C  b9 u: b  u4 Y+ b* ?! r, S2 A+ [& l9 Q$ B1 W% a3 p# H
3 x7 z8 n# a; _+ i
SK[9@1)N`TK$KOS6QFNP1PQ.png 3 O. \4 t8 H) Y1 {% B
1 k) n8 i+ N: N  `4 z8 V/ _7 f
注意:当通过 Bootloader 将程序下载到 SRAM 中时,VECT_TAB_OFFSET 值需要修改。$ B9 S0 j9 z0 b- D3 m6 k8 M

: g- C7 j0 b! E1 }9 O

8 L. a4 n& s$ S- w' d* b完整版请查看:附件
8 d0 }  g/ i7 P) ? 通过STLINK-V3SET I2C接口将程序下载到SRAM中并执行的方法_v1.0.pdf (1003.21 KB, 下载次数: 0)
赞 收藏 评论1 发布时间:2023-6-18 14:19

举报

1个回答
STMWoodData 回答时间:2023-6-19 17:15:54

学习学习

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版