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

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

[复制链接]
STMCU小助手 发布时间:2023-6-18 14:19
1. 引言
9 I1 ^2 |  ^3 V. S6 dSTM32 MCU 在 bootloader 模式下,可以通过多种可用外设(USART、CAN、USB、I2C、SPI等)将程序下载到内部存储器中,详细内容可参考应用笔记 AN2606《STM32 microcontrollersystem memory boot mode》。+ {$ B3 t) V) E& v
本文档主要介绍利用 STLINK-V3SET 调试/编程工具的 I2C 接口将程序下载到 SDRAM 中并执行的方法。& }8 y2 P! r% ]8 `8 }3 j
0 w% X% a0 }: v4 I
DHA[}`JKLN9%AM3QV3NZGBY.png
1 I3 e  k7 q- g4 h4 L3 n0 d. A  x
3 p8 ~1 n& t( Q& R7 v3 D* v2. 问题描述 - H. N. \2 e& O6 j( U
问题源自客户的实际需求,希望通过 I2C 接口将程序下载到 SRAM 中执行,进行芯片功能性测试。
# H* T  m# a5 R6 D0 A3 Q( j
  Z3 {1 Y" h9 z, r+ q* W2 ?3. 问题分析与定位
& t5 s( k' f: n6 f8 w, s/ |0 T关于在 Bootloader 模式下的应用程序下载,有多篇 LAT 可参考。例如《如何使用STM32NUCLEO 板来测试串口 Bootloader》、《一种在 IAR 中实现通过 SRAM 应用程序跳转到bootloader 的方法》等。应用程序下载到 SRAM 中,也有 LAT 可参考,如《一种在 IAR 中实现通过将程序在 SRAM 中调试的方法 》。  G: g& N+ M. K2 y9 a8 w5 l3 A
通过调研,STLINK-V3SET 支持 I2C Bootloader 程序下载,可以实现在 bootloader 模式下的将应用程序下载到 SRAM 中。
7 W/ }2 }9 u& K/ a. v3 X5 `! o8 E1 ?& r: Q; G' w. m7 M3 S
4. 问题解决
8 ?9 E5 w9 f8 E本文档以 NUCLEO-F401RE 开发板为例进行介绍。本文档介绍方法分为 3 个步骤,首先进行硬件配置与接线,使得 STM32F401RE 与 STLINK-V3SET 通过 I2C 相连,同时保证 STM32F401RE 复位后可进入 bootloader 模式;其次进行软件配置与编程,通过 IAR 可以将程序下载到 SRAM 中;最后通过 STM32CubeProgrammer 软件进行程序下载并运行。2 b1 z! K5 P5 x5 i
下边分别介绍三个步骤。
0 i& T. S1 Y7 ^/ d6 c
8 R% Y% e1 E  L" Z: [
4.1 硬件配置与接线6 |: N5 v; l+ x
查看 AN2606 可知,通过 Boot0,Boot1 的硬件设置(Boot0 = 1,Boot1 = 0),可使 NUCLEO板上电复位后进入 bootloader 模式。STM32F401RE 的 I2C1, I2C2, I2C3 均支持 bootloader,这里选取 I2C1 接口实现在 bootloader 模式下的程序下载功能。
2 Y) N' v+ d1 E: p2 Y) \- L0 w7 O6 }$ b
. B7 _( A3 S. k& F
9A7~F_1C257063Z3MRDIJ1J.png
! Z- ^$ U4 y! O! u
) N5 b( L3 K. u6 b% d JT(7%I_2YD16JWC0~~45)~7.png " }9 v! O; U4 m9 n3 x% E

" r& [( O. k5 G" b4 T) F关于 STLINK-V3SET 与 SRM32F401RE 之间的 I2C 连接,STLINK-V3SET 模块上已提供 680 欧姆上拉电阻,已通过闭合 JP10 跳线激活。同时还需要通过 NUCLEO 板为 STLINK-V3SET 提供 3.3V 供电。参考 AN2606 中 I2C 接线方式,两者的引脚接线如下表所示。" j+ z2 F9 ~4 Y) S

, j- a' t* t) V& ]2 t( B

/ f+ k/ _9 S* |6 e# |& [ `B)G9BG5{K[6`23G@`1GWYY.png 9 C$ Q7 B1 }8 Y4 b) U

3 p# Q' c& `( Q3 N+ e最后,用一根 USB Type A 转 Micro B 的线连接 STLINK-V3SET 和 PC,同样通过调试线给STM32 NUCLEO-F401RE 供电。
. k, @1 B; W/ A0 ^
( _  B. W7 h/ f) Y
4.2 通过 IAR 将程序下载到 SRAM 中! I7 g* O/ C3 j, m
1)在工程的链接选项中选择 stm32f411xe_sram.icf : LAT1100 6 b. `  J6 }) i

, D: X* f. d7 U$ t1 B (WL}G}$UNMP1]JETQ9F3%[S.png
7 }3 q* o6 s' C; Y9 L
' W/ ~2 Y$ k, P- @8 p/ q2)设置一下中断向量表的位置 :
; f) ?# M* B! s. v3 G/ w  F' p2 b1 m+ z( M* D6 D
8 |$ f. P! f6 {2 d1 ~9 N
SK[9@1)N`TK$KOS6QFNP1PQ.png # J; X$ q! i6 {- v7 \

9 w6 h4 W7 g$ K! D5 n: A0 F注意:当通过 Bootloader 将程序下载到 SRAM 中时,VECT_TAB_OFFSET 值需要修改。' X( _7 x5 E+ ~+ t" n

0 Y$ G2 D3 l+ T2 G
! d* u5 h6 E$ k6 H4 q) R. t
完整版请查看:附件* l4 g$ o- G0 G- w% F
通过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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版