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

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

[复制链接]
STMCU小助手 发布时间:2023-6-18 14:19
1. 引言
7 c- g( g7 S! T  k! OSTM32 MCU 在 bootloader 模式下,可以通过多种可用外设(USART、CAN、USB、I2C、SPI等)将程序下载到内部存储器中,详细内容可参考应用笔记 AN2606《STM32 microcontrollersystem memory boot mode》。+ ^1 \, ?0 f8 x0 L# C5 Y1 e' g
本文档主要介绍利用 STLINK-V3SET 调试/编程工具的 I2C 接口将程序下载到 SDRAM 中并执行的方法。: n. l4 V! G7 T0 _
8 c- z! x' c, J1 O$ ]
DHA[}`JKLN9%AM3QV3NZGBY.png 0 ?: a: S: P8 B6 Q1 s- D0 \

% D* ]! H' H! }0 v  o2. 问题描述
% J6 x8 [# ?6 E* t问题源自客户的实际需求,希望通过 I2C 接口将程序下载到 SRAM 中执行,进行芯片功能性测试。
4 _+ H: L( U( \4 l8 {' m
) t9 t  Q1 @, l3 A: x9 i: G7 `3. 问题分析与定位 / J1 K- X. d4 x, K, c& X
关于在 Bootloader 模式下的应用程序下载,有多篇 LAT 可参考。例如《如何使用STM32NUCLEO 板来测试串口 Bootloader》、《一种在 IAR 中实现通过 SRAM 应用程序跳转到bootloader 的方法》等。应用程序下载到 SRAM 中,也有 LAT 可参考,如《一种在 IAR 中实现通过将程序在 SRAM 中调试的方法 》。4 L3 \/ x) h8 u! j
通过调研,STLINK-V3SET 支持 I2C Bootloader 程序下载,可以实现在 bootloader 模式下的将应用程序下载到 SRAM 中。3 A# o: D7 [2 a# ?9 w) [& o

- U+ i4 m: @% Y" ~6 K) O/ _, o
4. 问题解决
+ Y" j9 M; E! n- f本文档以 NUCLEO-F401RE 开发板为例进行介绍。本文档介绍方法分为 3 个步骤,首先进行硬件配置与接线,使得 STM32F401RE 与 STLINK-V3SET 通过 I2C 相连,同时保证 STM32F401RE 复位后可进入 bootloader 模式;其次进行软件配置与编程,通过 IAR 可以将程序下载到 SRAM 中;最后通过 STM32CubeProgrammer 软件进行程序下载并运行。9 U1 P3 n1 o+ f8 P" \! e% l
下边分别介绍三个步骤。% u( h5 Z- z7 z5 t9 l  f" {+ S

0 {% s( e# w; k
4.1 硬件配置与接线# s8 ], h, }+ S: f+ W
查看 AN2606 可知,通过 Boot0,Boot1 的硬件设置(Boot0 = 1,Boot1 = 0),可使 NUCLEO板上电复位后进入 bootloader 模式。STM32F401RE 的 I2C1, I2C2, I2C3 均支持 bootloader,这里选取 I2C1 接口实现在 bootloader 模式下的程序下载功能。
! l3 B, _  Y+ V
$ y, g) y  k1 e9 J. `/ x

8 [) ^7 T! M* [! T3 ]" f 9A7~F_1C257063Z3MRDIJ1J.png 8 m3 w8 Q$ e  U* V2 V, L4 V* a! L

: P% v& V8 C1 E JT(7%I_2YD16JWC0~~45)~7.png
" \  v, h4 y1 K+ I9 h6 T& ?$ t$ o( G2 _0 k/ L+ ?
关于 STLINK-V3SET 与 SRM32F401RE 之间的 I2C 连接,STLINK-V3SET 模块上已提供 680 欧姆上拉电阻,已通过闭合 JP10 跳线激活。同时还需要通过 NUCLEO 板为 STLINK-V3SET 提供 3.3V 供电。参考 AN2606 中 I2C 接线方式,两者的引脚接线如下表所示。
+ Y7 w$ ]4 i2 y: L: m' Z9 \6 {8 u% h+ j/ X' f: I$ U
; {7 W8 a8 X% s0 U: `0 @; c
`B)G9BG5{K[6`23G@`1GWYY.png
( m4 w, D" t( v7 r; M/ |, a- N+ a( V
最后,用一根 USB Type A 转 Micro B 的线连接 STLINK-V3SET 和 PC,同样通过调试线给STM32 NUCLEO-F401RE 供电。8 \% l8 q2 k+ j) H/ r: d& y0 i

! ~# l* L, D  Q6 a' o, l
4.2 通过 IAR 将程序下载到 SRAM 中; x3 q$ d0 }$ {  a8 S8 N
1)在工程的链接选项中选择 stm32f411xe_sram.icf : LAT1100
% _5 \0 M- z  I5 U
, Q0 m: A  A# y9 w/ S (WL}G}$UNMP1]JETQ9F3%[S.png
* `0 g; h6 t2 O4 _8 ~
) o, p! y$ J: ]! f) k2)设置一下中断向量表的位置 :
. }2 j3 q0 ]+ g0 a  `% U; [. D  y
8 {4 x; K3 A: A+ Q1 J3 L
" B8 t1 r: [1 x
SK[9@1)N`TK$KOS6QFNP1PQ.png - l" d7 D8 s9 t5 b
+ `7 v' P; D6 k( V4 m- K7 a
注意:当通过 Bootloader 将程序下载到 SRAM 中时,VECT_TAB_OFFSET 值需要修改。5 q* s% G* }; L$ U  S+ O; A/ E% {2 r

& I  x& K! r' Y# [7 N+ J  ^" v
. f4 o6 e/ |' C
完整版请查看:附件
* R2 m& [6 x4 C) j* S: `( D; F# r  ? 通过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 手机版