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

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

[复制链接]
STMCU小助手 发布时间:2023-6-18 14:19
1. 引言 / b. j) v- C, N# m! n* Q& ~
STM32 MCU 在 bootloader 模式下,可以通过多种可用外设(USART、CAN、USB、I2C、SPI等)将程序下载到内部存储器中,详细内容可参考应用笔记 AN2606《STM32 microcontrollersystem memory boot mode》。; o8 @, @7 Z+ ~' E2 B7 y: h+ _
本文档主要介绍利用 STLINK-V3SET 调试/编程工具的 I2C 接口将程序下载到 SDRAM 中并执行的方法。
6 a2 x3 L! {( l+ y4 g# |6 N; }
: _: E: S, C' w: a
DHA[}`JKLN9%AM3QV3NZGBY.png
* Q% n2 s/ ^% R4 X) U' d. A; S! P+ M8 Z
2. 问题描述 ; T* R; k. E$ y( r" v$ j- d
问题源自客户的实际需求,希望通过 I2C 接口将程序下载到 SRAM 中执行,进行芯片功能性测试。6 T9 x5 Y( g5 \0 g- h+ p4 j

  @: f% [4 q' a) [/ I+ {3. 问题分析与定位
0 Z: ~/ j. U9 Y- T) P3 v( s关于在 Bootloader 模式下的应用程序下载,有多篇 LAT 可参考。例如《如何使用STM32NUCLEO 板来测试串口 Bootloader》、《一种在 IAR 中实现通过 SRAM 应用程序跳转到bootloader 的方法》等。应用程序下载到 SRAM 中,也有 LAT 可参考,如《一种在 IAR 中实现通过将程序在 SRAM 中调试的方法 》。2 V1 G/ d& l0 P' p9 Q
通过调研,STLINK-V3SET 支持 I2C Bootloader 程序下载,可以实现在 bootloader 模式下的将应用程序下载到 SRAM 中。
1 i( `0 H& N( U: \% R4 @& J- H% b' P# h
6 Y$ v) V# ]' {8 _' q
4. 问题解决
- |6 _3 g9 N% Y4 Q; E0 k0 W$ D本文档以 NUCLEO-F401RE 开发板为例进行介绍。本文档介绍方法分为 3 个步骤,首先进行硬件配置与接线,使得 STM32F401RE 与 STLINK-V3SET 通过 I2C 相连,同时保证 STM32F401RE 复位后可进入 bootloader 模式;其次进行软件配置与编程,通过 IAR 可以将程序下载到 SRAM 中;最后通过 STM32CubeProgrammer 软件进行程序下载并运行。! _# f! [0 i+ W
下边分别介绍三个步骤。
. v4 I) G2 P; E" }/ ?' p: y
+ H' X2 t: G2 b3 D
4.1 硬件配置与接线% _' V' g, b, O
查看 AN2606 可知,通过 Boot0,Boot1 的硬件设置(Boot0 = 1,Boot1 = 0),可使 NUCLEO板上电复位后进入 bootloader 模式。STM32F401RE 的 I2C1, I2C2, I2C3 均支持 bootloader,这里选取 I2C1 接口实现在 bootloader 模式下的程序下载功能。
$ q$ X# s8 S% k! Z! ]1 v6 F: n  a2 P$ L/ l( E$ B4 e2 S( _

; h9 k& [# h& q+ u. D. j; ` 9A7~F_1C257063Z3MRDIJ1J.png
% {" W1 Z* V* z- W- `5 T( w0 F9 V5 E0 e0 e$ v
JT(7%I_2YD16JWC0~~45)~7.png % n* e# M8 m! c4 v  Z, x

, [, K* P7 ~- u0 N2 u; f8 z关于 STLINK-V3SET 与 SRM32F401RE 之间的 I2C 连接,STLINK-V3SET 模块上已提供 680 欧姆上拉电阻,已通过闭合 JP10 跳线激活。同时还需要通过 NUCLEO 板为 STLINK-V3SET 提供 3.3V 供电。参考 AN2606 中 I2C 接线方式,两者的引脚接线如下表所示。, `+ r, y7 ~) [

; D2 H; f; c4 v& k2 n% V* T

5 f, Q6 f- m  y5 ? `B)G9BG5{K[6`23G@`1GWYY.png
% x7 X  w. P* b9 P3 m4 P: [
3 n9 A7 K  x4 e& e) S* O% `最后,用一根 USB Type A 转 Micro B 的线连接 STLINK-V3SET 和 PC,同样通过调试线给STM32 NUCLEO-F401RE 供电。
, z. d  n2 G$ T0 N7 I) ]' f
- V9 x& S. L7 g) \0 a1 [
4.2 通过 IAR 将程序下载到 SRAM 中
1 a+ y. Z( @* _, \% h$ _1)在工程的链接选项中选择 stm32f411xe_sram.icf : LAT1100
+ P/ n) {1 h& c' j! N( `4 I + Z* U7 m4 a9 Y0 t
(WL}G}$UNMP1]JETQ9F3%[S.png
) r( x# K' n% v) B  y9 X0 w  B3 m$ u
2)设置一下中断向量表的位置 :8 A1 o6 X2 O& ^
) y  N& T6 p5 N' H+ E) U
8 ~3 j( t' s& f  T% D) C
SK[9@1)N`TK$KOS6QFNP1PQ.png ! D+ x$ E. L2 H3 s/ j) Z' \
. I1 n* v  J' Q9 m+ F9 D
注意:当通过 Bootloader 将程序下载到 SRAM 中时,VECT_TAB_OFFSET 值需要修改。
; ^+ g. x7 A. q( _0 d4 C$ k0 z  L$ Y+ a0 ~7 ~. h1 H9 ]- o" R

/ P8 V) v, `8 J" s6 H' u7 p1 T. z完整版请查看:附件3 u, S/ \! r8 g4 |: X
通过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 手机版