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

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

[复制链接]
STMCU小助手 发布时间:2023-6-18 14:19
1. 引言 $ i0 F: S3 U. e  ~' Z
STM32 MCU 在 bootloader 模式下,可以通过多种可用外设(USART、CAN、USB、I2C、SPI等)将程序下载到内部存储器中,详细内容可参考应用笔记 AN2606《STM32 microcontrollersystem memory boot mode》。
6 R# I/ y( M: p1 J1 |本文档主要介绍利用 STLINK-V3SET 调试/编程工具的 I2C 接口将程序下载到 SDRAM 中并执行的方法。6 g. I. g% M! L9 P' y4 w+ V

; p+ u+ t4 M4 U5 A. u DHA[}`JKLN9%AM3QV3NZGBY.png ( Y" s* g+ J# D2 {! P
" K' G+ I6 n# f! j% v0 _% p: R& B
2. 问题描述
7 x4 ~: p0 }; Q4 q问题源自客户的实际需求,希望通过 I2C 接口将程序下载到 SRAM 中执行,进行芯片功能性测试。
) F& z' p# o/ ]& i8 }# R ( b+ P9 w& j+ y( H
3. 问题分析与定位
6 o- T: a) s- J# c% d" n关于在 Bootloader 模式下的应用程序下载,有多篇 LAT 可参考。例如《如何使用STM32NUCLEO 板来测试串口 Bootloader》、《一种在 IAR 中实现通过 SRAM 应用程序跳转到bootloader 的方法》等。应用程序下载到 SRAM 中,也有 LAT 可参考,如《一种在 IAR 中实现通过将程序在 SRAM 中调试的方法 》。; Y' t. }5 V/ [; Q: c
通过调研,STLINK-V3SET 支持 I2C Bootloader 程序下载,可以实现在 bootloader 模式下的将应用程序下载到 SRAM 中。
6 x/ M$ d! E7 o/ C4 Q8 N; D9 |) L3 F5 o& ?, `0 Q
4. 问题解决 3 c) {, o$ }" o  {1 f- X3 L" q* R
本文档以 NUCLEO-F401RE 开发板为例进行介绍。本文档介绍方法分为 3 个步骤,首先进行硬件配置与接线,使得 STM32F401RE 与 STLINK-V3SET 通过 I2C 相连,同时保证 STM32F401RE 复位后可进入 bootloader 模式;其次进行软件配置与编程,通过 IAR 可以将程序下载到 SRAM 中;最后通过 STM32CubeProgrammer 软件进行程序下载并运行。" p; G& B$ W4 f; X
下边分别介绍三个步骤。7 G, R" c! l0 o2 Y

1 r/ Q3 D, i" C2 ~. a
4.1 硬件配置与接线
% F/ @: d0 \( B& _' N' {0 g查看 AN2606 可知,通过 Boot0,Boot1 的硬件设置(Boot0 = 1,Boot1 = 0),可使 NUCLEO板上电复位后进入 bootloader 模式。STM32F401RE 的 I2C1, I2C2, I2C3 均支持 bootloader,这里选取 I2C1 接口实现在 bootloader 模式下的程序下载功能。5 d0 u! ^! U( {  |4 F8 g0 u
8 h4 q  J' j' w3 _6 Q& E

' b1 u$ ^( N- I* Q 9A7~F_1C257063Z3MRDIJ1J.png
' z3 ?* S& Z/ \. g' _# R; c3 U1 R$ G" E, D7 I) s* i
JT(7%I_2YD16JWC0~~45)~7.png $ P0 ]' c, z: V( s3 Y

: ]% R1 d7 }/ v; k% S8 z$ D$ t0 i  T6 }关于 STLINK-V3SET 与 SRM32F401RE 之间的 I2C 连接,STLINK-V3SET 模块上已提供 680 欧姆上拉电阻,已通过闭合 JP10 跳线激活。同时还需要通过 NUCLEO 板为 STLINK-V3SET 提供 3.3V 供电。参考 AN2606 中 I2C 接线方式,两者的引脚接线如下表所示。1 ~6 C: U) P0 z' x! r: P, w

) n: a) n  w- h. l+ |
7 ]' _- O* [1 z7 c/ a
`B)G9BG5{K[6`23G@`1GWYY.png
5 k9 @! C* y# J3 ?) v; ~* @) ?7 p/ o% g9 `+ t3 |9 R
最后,用一根 USB Type A 转 Micro B 的线连接 STLINK-V3SET 和 PC,同样通过调试线给STM32 NUCLEO-F401RE 供电。
: f1 @1 N* p( G# {, |
. M+ W  D4 l$ h& {7 E' y
4.2 通过 IAR 将程序下载到 SRAM 中- h; H. X# T" e6 z$ d9 Q6 @8 t* y
1)在工程的链接选项中选择 stm32f411xe_sram.icf : LAT1100 / g4 R9 D2 j" g7 o# {; g/ B0 W

% D& R5 v. k$ x& l! j# @0 a (WL}G}$UNMP1]JETQ9F3%[S.png 4 M4 z! f! Z* S0 e) b; O- Y  L5 v

, l# |) n0 ^! p, o7 y7 q' a2)设置一下中断向量表的位置 :7 ?( D5 O! ^! M5 k! M) l5 @& Z
# u5 r5 Z7 f" F) T
; s$ V# \/ S! C. c0 f
SK[9@1)N`TK$KOS6QFNP1PQ.png
7 _) [& V$ `) G

" Y; u" |% V  M# Q  K) t6 \7 n注意:当通过 Bootloader 将程序下载到 SRAM 中时,VECT_TAB_OFFSET 值需要修改。1 b( C/ i6 U; {% k7 ?6 W7 S) ?
* _3 `3 Q9 G9 a( b* K  P

, N! d/ h+ [- B: ?$ O  \完整版请查看:附件# O5 }8 l  i4 o" B6 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版