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

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

[复制链接]
STMCU小助手 发布时间:2023-6-18 14:19
1. 引言   c9 w- S0 T( L3 D8 a6 N
STM32 MCU 在 bootloader 模式下,可以通过多种可用外设(USART、CAN、USB、I2C、SPI等)将程序下载到内部存储器中,详细内容可参考应用笔记 AN2606《STM32 microcontrollersystem memory boot mode》。
3 L  Z: D" s) t8 g/ K1 e7 Z" z: `! l本文档主要介绍利用 STLINK-V3SET 调试/编程工具的 I2C 接口将程序下载到 SDRAM 中并执行的方法。
3 T. {" v. z' P( _8 y
" ]; ~5 k4 x  F9 C, w" C
DHA[}`JKLN9%AM3QV3NZGBY.png * j6 P0 T' M$ [( C7 ~7 t4 |3 v" L- g! N

" O/ |: k/ }* L; y$ R' O0 I0 ~2. 问题描述
1 P5 r# G/ t! p: f, v( V问题源自客户的实际需求,希望通过 I2C 接口将程序下载到 SRAM 中执行,进行芯片功能性测试。
; g- F( b+ y# A% @+ O% u 5 g) x# T. C5 b) F# o
3. 问题分析与定位
2 |  f+ ~( g$ S/ l关于在 Bootloader 模式下的应用程序下载,有多篇 LAT 可参考。例如《如何使用STM32NUCLEO 板来测试串口 Bootloader》、《一种在 IAR 中实现通过 SRAM 应用程序跳转到bootloader 的方法》等。应用程序下载到 SRAM 中,也有 LAT 可参考,如《一种在 IAR 中实现通过将程序在 SRAM 中调试的方法 》。- W2 O0 U! S3 q+ l# y
通过调研,STLINK-V3SET 支持 I2C Bootloader 程序下载,可以实现在 bootloader 模式下的将应用程序下载到 SRAM 中。8 U5 `  U7 H' G) s' d( x4 j$ B
- K: R1 E5 W, Y
4. 问题解决
/ \# ~0 ^; L, Z1 g2 _3 N4 i( R本文档以 NUCLEO-F401RE 开发板为例进行介绍。本文档介绍方法分为 3 个步骤,首先进行硬件配置与接线,使得 STM32F401RE 与 STLINK-V3SET 通过 I2C 相连,同时保证 STM32F401RE 复位后可进入 bootloader 模式;其次进行软件配置与编程,通过 IAR 可以将程序下载到 SRAM 中;最后通过 STM32CubeProgrammer 软件进行程序下载并运行。
9 L1 K* E+ ], Z. W. K. B下边分别介绍三个步骤。
3 s8 }# j5 m6 @" P' o! ^$ v9 [3 G
( ^3 `' l4 f& \$ n
4.1 硬件配置与接线
9 c  \% O# }7 q: A5 ^; Z查看 AN2606 可知,通过 Boot0,Boot1 的硬件设置(Boot0 = 1,Boot1 = 0),可使 NUCLEO板上电复位后进入 bootloader 模式。STM32F401RE 的 I2C1, I2C2, I2C3 均支持 bootloader,这里选取 I2C1 接口实现在 bootloader 模式下的程序下载功能。5 `/ X/ v0 @; @6 |0 U
6 V& S2 D" C1 w
2 P0 {, Z2 k; \' J
9A7~F_1C257063Z3MRDIJ1J.png
4 g! X! h1 Q3 @5 |1 \1 k* v' J! e) _2 {  |
JT(7%I_2YD16JWC0~~45)~7.png
" {$ V7 h2 V: D  V" `' w& _3 e# H1 B
6 ?% Z# i' T3 T关于 STLINK-V3SET 与 SRM32F401RE 之间的 I2C 连接,STLINK-V3SET 模块上已提供 680 欧姆上拉电阻,已通过闭合 JP10 跳线激活。同时还需要通过 NUCLEO 板为 STLINK-V3SET 提供 3.3V 供电。参考 AN2606 中 I2C 接线方式,两者的引脚接线如下表所示。
# o) |; d. w) R) n- j3 S# K% m+ V6 k

5 |, E2 M& F  T7 E2 W `B)G9BG5{K[6`23G@`1GWYY.png
$ |" T: h4 {  \% a# L2 \) w0 w" y' _" J
最后,用一根 USB Type A 转 Micro B 的线连接 STLINK-V3SET 和 PC,同样通过调试线给STM32 NUCLEO-F401RE 供电。; V' ^" p! q3 J; A+ @  G! h+ J
& n1 k8 c0 s# d
4.2 通过 IAR 将程序下载到 SRAM 中4 e7 N' f/ }9 L# h# V8 H: z
1)在工程的链接选项中选择 stm32f411xe_sram.icf : LAT1100
1 `$ F. ]. k0 v, n& ^9 [0 n6 a
9 I; Q3 R5 G9 E% X) k) U) V/ r (WL}G}$UNMP1]JETQ9F3%[S.png ( }0 s/ A9 f% w; x3 ~5 z
  p6 d0 n  M, T; _+ J! j
2)设置一下中断向量表的位置 :
& [  o0 n" d* Y% o: @, V* o  O  n! h; c/ [0 g
; s) t) J* E- O7 d* T, d  @
SK[9@1)N`TK$KOS6QFNP1PQ.png
' ^' K$ b0 P) t1 r* W1 E
5 E) S1 g: ?: s) \& j5 T, p4 n
注意:当通过 Bootloader 将程序下载到 SRAM 中时,VECT_TAB_OFFSET 值需要修改。
$ D) [/ j9 R; W$ _1 }1 r/ A
+ D5 p% J7 E3 M

1 c' C* T) n% p完整版请查看:附件$ ~- ]) e8 m8 R. a
通过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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版