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

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

[复制链接]
STMCU小助手 发布时间:2023-6-18 14:19
1. 引言 , d2 f" r  S) n- D
STM32 MCU 在 bootloader 模式下,可以通过多种可用外设(USART、CAN、USB、I2C、SPI等)将程序下载到内部存储器中,详细内容可参考应用笔记 AN2606《STM32 microcontrollersystem memory boot mode》。
3 O( h! g3 o7 I  ]; S) p4 q' N本文档主要介绍利用 STLINK-V3SET 调试/编程工具的 I2C 接口将程序下载到 SDRAM 中并执行的方法。! k9 g- U+ ?' N  ~
  N  m# x4 `2 I0 c0 f
DHA[}`JKLN9%AM3QV3NZGBY.png 6 @% e9 n- T. q9 @

* g% S0 @- A5 c) \2. 问题描述
2 _$ H2 @7 g9 p7 {( Y; b问题源自客户的实际需求,希望通过 I2C 接口将程序下载到 SRAM 中执行,进行芯片功能性测试。5 g2 M* x, G5 E1 p' ~6 ~; Q  U

' x7 C0 V; l9 N2 I/ h9 J+ z: X3. 问题分析与定位
# v  t4 e  Z5 ~关于在 Bootloader 模式下的应用程序下载,有多篇 LAT 可参考。例如《如何使用STM32NUCLEO 板来测试串口 Bootloader》、《一种在 IAR 中实现通过 SRAM 应用程序跳转到bootloader 的方法》等。应用程序下载到 SRAM 中,也有 LAT 可参考,如《一种在 IAR 中实现通过将程序在 SRAM 中调试的方法 》。6 z4 G" r5 e" A0 ?3 n  |) @
通过调研,STLINK-V3SET 支持 I2C Bootloader 程序下载,可以实现在 bootloader 模式下的将应用程序下载到 SRAM 中。2 d3 M+ X4 o* A
9 f4 k6 l9 I& e/ W1 ?
4. 问题解决
* m0 H$ D9 b0 _; h, A) ^本文档以 NUCLEO-F401RE 开发板为例进行介绍。本文档介绍方法分为 3 个步骤,首先进行硬件配置与接线,使得 STM32F401RE 与 STLINK-V3SET 通过 I2C 相连,同时保证 STM32F401RE 复位后可进入 bootloader 模式;其次进行软件配置与编程,通过 IAR 可以将程序下载到 SRAM 中;最后通过 STM32CubeProgrammer 软件进行程序下载并运行。
; A8 |- i+ y' S$ H- g下边分别介绍三个步骤。
  G; [* Y4 C  ~
& E$ d* P9 x; v/ j
4.1 硬件配置与接线' z1 V5 w- p# T5 I( H4 Q
查看 AN2606 可知,通过 Boot0,Boot1 的硬件设置(Boot0 = 1,Boot1 = 0),可使 NUCLEO板上电复位后进入 bootloader 模式。STM32F401RE 的 I2C1, I2C2, I2C3 均支持 bootloader,这里选取 I2C1 接口实现在 bootloader 模式下的程序下载功能。# [) D, j: b3 o: z6 Y% K$ H
" N( t# I6 r1 U$ V; N( A9 g  j( x
  ?/ L& `# N0 Y; _
9A7~F_1C257063Z3MRDIJ1J.png # t3 R* p2 _  R" a4 [' n) z
8 b' Z+ k! L, I. A
JT(7%I_2YD16JWC0~~45)~7.png : |4 Z% B- ], K# _7 d" f

: [! x5 z  ]' B关于 STLINK-V3SET 与 SRM32F401RE 之间的 I2C 连接,STLINK-V3SET 模块上已提供 680 欧姆上拉电阻,已通过闭合 JP10 跳线激活。同时还需要通过 NUCLEO 板为 STLINK-V3SET 提供 3.3V 供电。参考 AN2606 中 I2C 接线方式,两者的引脚接线如下表所示。
' J9 t" t  \7 b4 x, e8 `1 D/ E  V) M4 g, Y) x- D
2 y6 Z9 _) _$ J5 J9 l
`B)G9BG5{K[6`23G@`1GWYY.png
$ x$ b+ U( G# h
" i9 m+ ^3 i  Z; }最后,用一根 USB Type A 转 Micro B 的线连接 STLINK-V3SET 和 PC,同样通过调试线给STM32 NUCLEO-F401RE 供电。
, C0 d9 Z! O1 j6 u# Z5 i$ A( H4 v$ v( l5 C
4.2 通过 IAR 将程序下载到 SRAM 中) |  I# I0 k  y7 f5 h2 k, q! t
1)在工程的链接选项中选择 stm32f411xe_sram.icf : LAT1100 5 z1 @) S" |0 n

* O8 m7 {+ A- X' I0 d& E (WL}G}$UNMP1]JETQ9F3%[S.png : w6 A! T, T; J# y( M$ d
. P7 g/ c! l0 r$ L; t8 D
2)设置一下中断向量表的位置 :
6 j) j( j5 z( j6 _4 n& f- m# W- h1 {5 A* H  W

: G8 y& f1 }% t: r) J! O7 d SK[9@1)N`TK$KOS6QFNP1PQ.png
6 m! \- g  c8 {% ^3 D# k0 ^

! C) s+ f, O0 U8 q注意:当通过 Bootloader 将程序下载到 SRAM 中时,VECT_TAB_OFFSET 值需要修改。" ]; D3 A7 m- a; y  m" T$ v! s
; a, R) j- Z1 ^* O( }) t' K. l7 l. a

% g+ ^, W* Q( g" _完整版请查看:附件$ L6 l/ c1 [7 K: N+ ^
通过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 手机版