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

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

[复制链接]
STMCU小助手 发布时间:2023-6-18 14:19
1. 引言
! _% \  X6 m" O. }6 ~STM32 MCU 在 bootloader 模式下,可以通过多种可用外设(USART、CAN、USB、I2C、SPI等)将程序下载到内部存储器中,详细内容可参考应用笔记 AN2606《STM32 microcontrollersystem memory boot mode》。( J$ ?6 D/ Q& s7 @' K9 V# ]% \
本文档主要介绍利用 STLINK-V3SET 调试/编程工具的 I2C 接口将程序下载到 SDRAM 中并执行的方法。5 |4 {7 G  X/ @. i$ H
2 q# H) C' N: F! s
DHA[}`JKLN9%AM3QV3NZGBY.png
5 p2 W1 |4 I4 s3 w$ r5 V7 y5 u1 D1 \) y# F
2. 问题描述
: W- e! i, x, g: I# K; i问题源自客户的实际需求,希望通过 I2C 接口将程序下载到 SRAM 中执行,进行芯片功能性测试。
$ E5 I9 Y& i! `, ]% h9 d: F3 \7 t
; f3 I& U$ `* X3. 问题分析与定位
' `. {4 W& v! Q- u( \关于在 Bootloader 模式下的应用程序下载,有多篇 LAT 可参考。例如《如何使用STM32NUCLEO 板来测试串口 Bootloader》、《一种在 IAR 中实现通过 SRAM 应用程序跳转到bootloader 的方法》等。应用程序下载到 SRAM 中,也有 LAT 可参考,如《一种在 IAR 中实现通过将程序在 SRAM 中调试的方法 》。
, k+ n, Y: f8 K* i* p通过调研,STLINK-V3SET 支持 I2C Bootloader 程序下载,可以实现在 bootloader 模式下的将应用程序下载到 SRAM 中。0 s) L2 G- l- V

' w8 ~6 h* y. \6 ]6 Y" a4 ^
4. 问题解决
6 o9 \6 d$ f2 X- q本文档以 NUCLEO-F401RE 开发板为例进行介绍。本文档介绍方法分为 3 个步骤,首先进行硬件配置与接线,使得 STM32F401RE 与 STLINK-V3SET 通过 I2C 相连,同时保证 STM32F401RE 复位后可进入 bootloader 模式;其次进行软件配置与编程,通过 IAR 可以将程序下载到 SRAM 中;最后通过 STM32CubeProgrammer 软件进行程序下载并运行。
# {& S* d; m( B下边分别介绍三个步骤。; C* N8 z6 y$ q* J) y0 b3 V
4 R3 o# d( i# C* Z+ \2 N
4.1 硬件配置与接线
) m! S1 ^5 `. q# U7 G8 X- ^/ n查看 AN2606 可知,通过 Boot0,Boot1 的硬件设置(Boot0 = 1,Boot1 = 0),可使 NUCLEO板上电复位后进入 bootloader 模式。STM32F401RE 的 I2C1, I2C2, I2C3 均支持 bootloader,这里选取 I2C1 接口实现在 bootloader 模式下的程序下载功能。  M7 _" V& H: C. {. S

6 b, a& L( B6 u- K8 V: a! D( m, V
; R* l6 L! d5 L* e$ v% i3 s
9A7~F_1C257063Z3MRDIJ1J.png : b' z# [$ D1 }# V# D

. k5 g# D2 {6 l, t4 {0 ~" a! v! j JT(7%I_2YD16JWC0~~45)~7.png ; q, C/ R: r: Z
$ R5 _; k3 c* @7 H$ k
关于 STLINK-V3SET 与 SRM32F401RE 之间的 I2C 连接,STLINK-V3SET 模块上已提供 680 欧姆上拉电阻,已通过闭合 JP10 跳线激活。同时还需要通过 NUCLEO 板为 STLINK-V3SET 提供 3.3V 供电。参考 AN2606 中 I2C 接线方式,两者的引脚接线如下表所示。
6 E/ _3 Y6 C2 k; F  f! e& U0 _1 @' H) V* \
: F0 A: x9 X3 U! r
`B)G9BG5{K[6`23G@`1GWYY.png
0 s$ r. I1 o7 K% \( C1 _- c
1 h5 [3 ]# ~+ G6 W4 a3 {* \最后,用一根 USB Type A 转 Micro B 的线连接 STLINK-V3SET 和 PC,同样通过调试线给STM32 NUCLEO-F401RE 供电。
2 j4 m8 R5 f& Z3 X
( m6 q& x0 y) R3 k3 ?' a
4.2 通过 IAR 将程序下载到 SRAM 中
7 p8 G% O/ l4 J. k  x+ n1)在工程的链接选项中选择 stm32f411xe_sram.icf : LAT1100 ' S1 b! W+ E. {$ Z1 L7 M4 {6 X

: p+ R6 ]: k6 t: | (WL}G}$UNMP1]JETQ9F3%[S.png $ Y- B& a1 J+ z* b
+ {' h9 Y; h1 x7 p  B3 o9 m; p
2)设置一下中断向量表的位置 :
5 r, L) K* M, F# ~: q
3 p" [6 c- O! g  s8 h& h* \6 X

0 j3 c' o: p4 z SK[9@1)N`TK$KOS6QFNP1PQ.png ( U5 t0 v7 @$ \, H3 r

' ~" ?4 `) |  O4 P) ]' Q8 b注意:当通过 Bootloader 将程序下载到 SRAM 中时,VECT_TAB_OFFSET 值需要修改。
( q1 A2 l* r' ]- T; r# E" _& H) g) i3 M5 l) A

6 _, Y9 p" e# y  t: y0 V! ~完整版请查看:附件( [' T, F; Y% C" L* ^8 C4 U
通过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 手机版