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

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

[复制链接]
STMCU小助手 发布时间:2023-6-18 14:19
1. 引言
6 t+ {1 J' W8 ?6 K8 M0 l& Y) f& iSTM32 MCU 在 bootloader 模式下,可以通过多种可用外设(USART、CAN、USB、I2C、SPI等)将程序下载到内部存储器中,详细内容可参考应用笔记 AN2606《STM32 microcontrollersystem memory boot mode》。
) G. w9 Z; w: v; F" Y( P1 r( O# \本文档主要介绍利用 STLINK-V3SET 调试/编程工具的 I2C 接口将程序下载到 SDRAM 中并执行的方法。
, R% x. g" }/ V# e; Z
# ^: a" i& O& x1 J
DHA[}`JKLN9%AM3QV3NZGBY.png 7 j' A7 z9 g+ J

; [6 o. ]" V- W& V0 b2. 问题描述
2 y: T# Y2 t7 y' f. a问题源自客户的实际需求,希望通过 I2C 接口将程序下载到 SRAM 中执行,进行芯片功能性测试。3 S, K' L4 Y! u2 m8 g

7 |1 A6 A" y# Y) `# z! u9 {% [3. 问题分析与定位 ; J  j* q' a: u
关于在 Bootloader 模式下的应用程序下载,有多篇 LAT 可参考。例如《如何使用STM32NUCLEO 板来测试串口 Bootloader》、《一种在 IAR 中实现通过 SRAM 应用程序跳转到bootloader 的方法》等。应用程序下载到 SRAM 中,也有 LAT 可参考,如《一种在 IAR 中实现通过将程序在 SRAM 中调试的方法 》。
, y, v) F0 g7 x- c$ M& Y通过调研,STLINK-V3SET 支持 I2C Bootloader 程序下载,可以实现在 bootloader 模式下的将应用程序下载到 SRAM 中。
% [) ~  t4 t; E
& z( L2 j/ Z+ o
4. 问题解决 + @2 o4 r* ^3 A+ \5 v; S
本文档以 NUCLEO-F401RE 开发板为例进行介绍。本文档介绍方法分为 3 个步骤,首先进行硬件配置与接线,使得 STM32F401RE 与 STLINK-V3SET 通过 I2C 相连,同时保证 STM32F401RE 复位后可进入 bootloader 模式;其次进行软件配置与编程,通过 IAR 可以将程序下载到 SRAM 中;最后通过 STM32CubeProgrammer 软件进行程序下载并运行。
, v0 \4 ?! L: M& y- f) V% x' [7 G+ P下边分别介绍三个步骤。
; T" Z' m6 I) V" g+ T* ~! P. y+ ]0 C) k0 X. c2 T& v
4.1 硬件配置与接线
" e" `8 l4 q8 X" o' W查看 AN2606 可知,通过 Boot0,Boot1 的硬件设置(Boot0 = 1,Boot1 = 0),可使 NUCLEO板上电复位后进入 bootloader 模式。STM32F401RE 的 I2C1, I2C2, I2C3 均支持 bootloader,这里选取 I2C1 接口实现在 bootloader 模式下的程序下载功能。
. s( j$ r: t! w6 ^/ @5 S+ s2 Q* V$ |* y8 s, Z0 V
6 q  ]$ Y$ o; t7 f  ~/ L
9A7~F_1C257063Z3MRDIJ1J.png
4 G+ {$ G/ N8 t$ l3 [* J
" i, }2 A! v0 ^* C) u& Y JT(7%I_2YD16JWC0~~45)~7.png
) x  w0 A) l/ P' }: N$ u7 S
4 `/ M" }" X" x& d# d' e/ K# a关于 STLINK-V3SET 与 SRM32F401RE 之间的 I2C 连接,STLINK-V3SET 模块上已提供 680 欧姆上拉电阻,已通过闭合 JP10 跳线激活。同时还需要通过 NUCLEO 板为 STLINK-V3SET 提供 3.3V 供电。参考 AN2606 中 I2C 接线方式,两者的引脚接线如下表所示。8 z: R9 p- r: K7 A

$ }7 [) T: c: B

. v6 E/ Z5 I4 \. s `B)G9BG5{K[6`23G@`1GWYY.png
+ n4 H; l: ]$ p. R6 B$ L
6 k5 @. \  |1 m* @8 v; b6 g最后,用一根 USB Type A 转 Micro B 的线连接 STLINK-V3SET 和 PC,同样通过调试线给STM32 NUCLEO-F401RE 供电。
5 w% [2 n) R9 Y8 Y0 D: F; g+ }7 a: }+ q& b
4.2 通过 IAR 将程序下载到 SRAM 中- ]3 P- r( w: G- r+ a# I
1)在工程的链接选项中选择 stm32f411xe_sram.icf : LAT1100
) @* o6 g$ N& |2 K 8 E) J- O. e8 n! i& n, @
(WL}G}$UNMP1]JETQ9F3%[S.png . N& A2 L: _5 W$ S
0 ]2 H. q* X  K
2)设置一下中断向量表的位置 :
( ?# d% X2 J% p4 F
; O! p! g' R" x

7 o8 e4 O2 q% V+ ]* M SK[9@1)N`TK$KOS6QFNP1PQ.png " x" d( n4 n/ v( O

5 r* A  C. S  \& p注意:当通过 Bootloader 将程序下载到 SRAM 中时,VECT_TAB_OFFSET 值需要修改。
  S  {8 a+ m! d. c8 P/ I: s+ L  r6 n' w

8 ^$ u4 e( c9 B; k- ?% i2 J" `' `完整版请查看:附件
$ W% y* g( j6 d* {4 ~- n2 s 通过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 手机版