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

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

[复制链接]
STMCU小助手 发布时间:2023-6-18 14:19
1. 引言
0 I8 V$ M9 C: H8 W( [STM32 MCU 在 bootloader 模式下,可以通过多种可用外设(USART、CAN、USB、I2C、SPI等)将程序下载到内部存储器中,详细内容可参考应用笔记 AN2606《STM32 microcontrollersystem memory boot mode》。0 A9 R1 L5 k' J/ G/ Y$ }
本文档主要介绍利用 STLINK-V3SET 调试/编程工具的 I2C 接口将程序下载到 SDRAM 中并执行的方法。8 o) b/ M+ i6 ~) e0 A
1 h  J+ W. X  Z8 @4 {9 u
DHA[}`JKLN9%AM3QV3NZGBY.png 2 J) [4 @3 C( e/ |
+ z9 ~* \1 ]. I2 j; N4 O5 T
2. 问题描述
" Z7 A& R) Y8 {% O& m* A* O& W$ o问题源自客户的实际需求,希望通过 I2C 接口将程序下载到 SRAM 中执行,进行芯片功能性测试。
4 Z* m$ j9 p3 N" z. M: D4 u
8 b7 y: ?% a" A; h# _3. 问题分析与定位
" W! Q) p$ A" r关于在 Bootloader 模式下的应用程序下载,有多篇 LAT 可参考。例如《如何使用STM32NUCLEO 板来测试串口 Bootloader》、《一种在 IAR 中实现通过 SRAM 应用程序跳转到bootloader 的方法》等。应用程序下载到 SRAM 中,也有 LAT 可参考,如《一种在 IAR 中实现通过将程序在 SRAM 中调试的方法 》。8 d* `' g& X7 V0 X3 q% ^* W
通过调研,STLINK-V3SET 支持 I2C Bootloader 程序下载,可以实现在 bootloader 模式下的将应用程序下载到 SRAM 中。3 z& Q6 N% V$ A( k5 m) c5 l
" [* D8 ?3 B* y3 O+ P3 Z* _0 Q
4. 问题解决
# b% u# Z# }+ J# @" P. _本文档以 NUCLEO-F401RE 开发板为例进行介绍。本文档介绍方法分为 3 个步骤,首先进行硬件配置与接线,使得 STM32F401RE 与 STLINK-V3SET 通过 I2C 相连,同时保证 STM32F401RE 复位后可进入 bootloader 模式;其次进行软件配置与编程,通过 IAR 可以将程序下载到 SRAM 中;最后通过 STM32CubeProgrammer 软件进行程序下载并运行。
- |7 N# [& s7 R+ M1 f下边分别介绍三个步骤。
5 z* f8 v4 z( Y$ _* w" R1 S% ^% E1 y
5 K2 f- E- c3 l% l; p
4.1 硬件配置与接线
4 C+ p" K" C% W, ]# P( D% n查看 AN2606 可知,通过 Boot0,Boot1 的硬件设置(Boot0 = 1,Boot1 = 0),可使 NUCLEO板上电复位后进入 bootloader 模式。STM32F401RE 的 I2C1, I2C2, I2C3 均支持 bootloader,这里选取 I2C1 接口实现在 bootloader 模式下的程序下载功能。4 T0 K- m# A& h$ n' o! i& h8 q4 [

" R3 k4 o1 M; P9 w
' ~, c. o) [* z
9A7~F_1C257063Z3MRDIJ1J.png
2 ?0 B- }- a' z! U3 [7 w+ Q& k
! F/ K/ S2 S# ]/ ~3 [7 p" r JT(7%I_2YD16JWC0~~45)~7.png ' _; i3 R) ~2 l) x9 f/ k4 o
% b$ n* l2 Z7 a& t
关于 STLINK-V3SET 与 SRM32F401RE 之间的 I2C 连接,STLINK-V3SET 模块上已提供 680 欧姆上拉电阻,已通过闭合 JP10 跳线激活。同时还需要通过 NUCLEO 板为 STLINK-V3SET 提供 3.3V 供电。参考 AN2606 中 I2C 接线方式,两者的引脚接线如下表所示。/ E8 u1 [( I# H# U
* Z1 T0 w5 Q- d, t

& T# m" l0 i, | `B)G9BG5{K[6`23G@`1GWYY.png " b  z# y9 _6 ]! @1 y5 Z6 E7 e: X
& {' Z: T$ m) i2 ^2 I
最后,用一根 USB Type A 转 Micro B 的线连接 STLINK-V3SET 和 PC,同样通过调试线给STM32 NUCLEO-F401RE 供电。
( D: ]& @2 l- N0 a- l& q. Q6 I& j9 e) _0 F. |: Y4 x+ I% u
4.2 通过 IAR 将程序下载到 SRAM 中2 }* [2 q% \4 R! ]0 Q2 O3 k
1)在工程的链接选项中选择 stm32f411xe_sram.icf : LAT1100 4 w& p& v  @2 o# y' n

) f% W0 T# m: r (WL}G}$UNMP1]JETQ9F3%[S.png 6 n; H0 E, s7 S! |( e( G* j
+ t1 Q3 f" Z: G* q! o# Y6 g
2)设置一下中断向量表的位置 :3 _# P$ b, w6 A" J  [& p' t/ A
; z% K* N7 W" \% D+ K9 {- X4 Q% s

' v7 `1 \+ v, l4 ] SK[9@1)N`TK$KOS6QFNP1PQ.png . Z; R9 ^5 R1 i. u3 _! y4 x
& v) T+ Q, F2 A' ^- O2 k
注意:当通过 Bootloader 将程序下载到 SRAM 中时,VECT_TAB_OFFSET 值需要修改。; ^5 O; F6 B6 J1 P* r! i6 d$ b
/ {# L6 B& }( D! M

0 Y" Z6 z  x: \4 z2 X0 W4 e完整版请查看:附件* J3 f5 ]' Q/ `  b. s3 h2 c7 N" 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版