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

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

[复制链接]
STMCU小助手 发布时间:2023-6-18 14:19
1. 引言 $ q5 [2 `2 u% @8 h5 C. S
STM32 MCU 在 bootloader 模式下,可以通过多种可用外设(USART、CAN、USB、I2C、SPI等)将程序下载到内部存储器中,详细内容可参考应用笔记 AN2606《STM32 microcontrollersystem memory boot mode》。
0 Z7 O: n% t7 f$ x: I本文档主要介绍利用 STLINK-V3SET 调试/编程工具的 I2C 接口将程序下载到 SDRAM 中并执行的方法。
# w/ j4 Z: q+ z5 ?, \1 {6 I# k' @
! ~. B9 z9 @7 h4 `( B5 A
DHA[}`JKLN9%AM3QV3NZGBY.png
0 D, q/ s# ]5 x6 L# I7 ~
# g# s. c: B0 C2. 问题描述
. m' a+ k' l3 D- o9 T7 S! r问题源自客户的实际需求,希望通过 I2C 接口将程序下载到 SRAM 中执行,进行芯片功能性测试。& U. Q4 C5 `. Q  i4 c4 `# \# n$ G
3 O5 ~% V  A& M: J4 i. t% e0 I
3. 问题分析与定位
0 n9 F! _0 e+ [9 m* V6 c关于在 Bootloader 模式下的应用程序下载,有多篇 LAT 可参考。例如《如何使用STM32NUCLEO 板来测试串口 Bootloader》、《一种在 IAR 中实现通过 SRAM 应用程序跳转到bootloader 的方法》等。应用程序下载到 SRAM 中,也有 LAT 可参考,如《一种在 IAR 中实现通过将程序在 SRAM 中调试的方法 》。! q7 B% [9 K# `
通过调研,STLINK-V3SET 支持 I2C Bootloader 程序下载,可以实现在 bootloader 模式下的将应用程序下载到 SRAM 中。
* O8 i: \# i4 O% J7 g% g" n2 ]5 C- z! I  O: z4 m* q  J! h& d
4. 问题解决
6 E( j( o* J% O1 S本文档以 NUCLEO-F401RE 开发板为例进行介绍。本文档介绍方法分为 3 个步骤,首先进行硬件配置与接线,使得 STM32F401RE 与 STLINK-V3SET 通过 I2C 相连,同时保证 STM32F401RE 复位后可进入 bootloader 模式;其次进行软件配置与编程,通过 IAR 可以将程序下载到 SRAM 中;最后通过 STM32CubeProgrammer 软件进行程序下载并运行。% P. A2 g1 C7 O% |5 u
下边分别介绍三个步骤。5 _% f! J- S  w0 B
( w( o& V1 Q2 p$ L- a  w" Z3 k" b
4.1 硬件配置与接线
4 K  L9 T! K3 F$ x8 Q$ u4 j查看 AN2606 可知,通过 Boot0,Boot1 的硬件设置(Boot0 = 1,Boot1 = 0),可使 NUCLEO板上电复位后进入 bootloader 模式。STM32F401RE 的 I2C1, I2C2, I2C3 均支持 bootloader,这里选取 I2C1 接口实现在 bootloader 模式下的程序下载功能。
- |, |4 h+ e" g4 E7 Y
& J  ]* \. u4 F2 z
* p" E6 M# W4 \. ~2 Y
9A7~F_1C257063Z3MRDIJ1J.png - |+ o* i. z$ s' a7 g

# h" D! ?6 O' R: l JT(7%I_2YD16JWC0~~45)~7.png
! {. k) p: N' l5 [3 H( Y/ z/ L2 i0 O& x: n& j
关于 STLINK-V3SET 与 SRM32F401RE 之间的 I2C 连接,STLINK-V3SET 模块上已提供 680 欧姆上拉电阻,已通过闭合 JP10 跳线激活。同时还需要通过 NUCLEO 板为 STLINK-V3SET 提供 3.3V 供电。参考 AN2606 中 I2C 接线方式,两者的引脚接线如下表所示。$ c. Q: A% O3 H4 Q" W, R9 Y
$ N  i! _2 c) t4 h

/ z; Q6 \4 ~3 N5 l/ ]$ O `B)G9BG5{K[6`23G@`1GWYY.png 9 \5 A8 t4 J' a
* \# h- G* }9 D- Q/ i: H
最后,用一根 USB Type A 转 Micro B 的线连接 STLINK-V3SET 和 PC,同样通过调试线给STM32 NUCLEO-F401RE 供电。5 _" b; |2 b5 h6 o! B

/ p! J4 V. l0 C: w/ z1 f7 h- d
4.2 通过 IAR 将程序下载到 SRAM 中
/ u- }! C& v4 _6 k! g! r1)在工程的链接选项中选择 stm32f411xe_sram.icf : LAT1100
+ I3 a, ?6 d, P2 o2 ?0 R& T
! D0 ~# P8 p4 x4 G (WL}G}$UNMP1]JETQ9F3%[S.png * O# [1 \3 y" h# j2 l

' k5 y0 B/ G( x+ g2 I9 F2)设置一下中断向量表的位置 :
0 _" Z- t8 {. q; x/ E( K+ x3 v: j" F* T6 |# S& s6 Z$ A1 H' e

: K9 I6 w( x, \1 L SK[9@1)N`TK$KOS6QFNP1PQ.png
0 s8 e/ q5 {0 U, j/ C$ q

; X  d( U5 }8 U& @4 e' N注意:当通过 Bootloader 将程序下载到 SRAM 中时,VECT_TAB_OFFSET 值需要修改。# J% g, l" p0 a; ~" t

$ P/ Z/ s# a/ u7 n" [' r9 x! q

2 u# F/ S- y+ r1 |* F) e完整版请查看:附件
! L& S8 c1 E+ W1 S( j' m 通过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管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版