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

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

[复制链接]
STMCU小助手 发布时间:2023-6-18 14:19
1. 引言
  E$ f0 F: B9 |- D8 d+ cSTM32 MCU 在 bootloader 模式下,可以通过多种可用外设(USART、CAN、USB、I2C、SPI等)将程序下载到内部存储器中,详细内容可参考应用笔记 AN2606《STM32 microcontrollersystem memory boot mode》。
: |! i0 |: c1 h% D$ S/ Z" W7 E本文档主要介绍利用 STLINK-V3SET 调试/编程工具的 I2C 接口将程序下载到 SDRAM 中并执行的方法。
8 U* ~" [5 ]7 v2 N" I
- Y: k2 Q9 D" H% p* x; ]$ T& x
DHA[}`JKLN9%AM3QV3NZGBY.png : v' d  V3 W! p3 M( Z' j4 u

/ z3 X0 c, k; }4 V2. 问题描述 % Z& ^3 C+ H: E/ P
问题源自客户的实际需求,希望通过 I2C 接口将程序下载到 SRAM 中执行,进行芯片功能性测试。  N4 s$ g; c) a2 `; w: L/ l* q0 `" ^
, \! d; H1 H" T- t% w
3. 问题分析与定位
2 Y- A% c" }+ e! s6 u关于在 Bootloader 模式下的应用程序下载,有多篇 LAT 可参考。例如《如何使用STM32NUCLEO 板来测试串口 Bootloader》、《一种在 IAR 中实现通过 SRAM 应用程序跳转到bootloader 的方法》等。应用程序下载到 SRAM 中,也有 LAT 可参考,如《一种在 IAR 中实现通过将程序在 SRAM 中调试的方法 》。
3 J9 z  S7 _3 F( g- z( I! n通过调研,STLINK-V3SET 支持 I2C Bootloader 程序下载,可以实现在 bootloader 模式下的将应用程序下载到 SRAM 中。
; h* u! z1 G% `
2 r% E. q2 D  ~( B
4. 问题解决
) b1 u- i9 t; N* x( O8 p本文档以 NUCLEO-F401RE 开发板为例进行介绍。本文档介绍方法分为 3 个步骤,首先进行硬件配置与接线,使得 STM32F401RE 与 STLINK-V3SET 通过 I2C 相连,同时保证 STM32F401RE 复位后可进入 bootloader 模式;其次进行软件配置与编程,通过 IAR 可以将程序下载到 SRAM 中;最后通过 STM32CubeProgrammer 软件进行程序下载并运行。
. Q7 N+ \4 f$ r; I% W# m' K下边分别介绍三个步骤。) w9 k8 c9 d! x3 O- l

$ U3 d8 k" t/ c4 f# p# V
4.1 硬件配置与接线
! S1 z3 _# Z* G查看 AN2606 可知,通过 Boot0,Boot1 的硬件设置(Boot0 = 1,Boot1 = 0),可使 NUCLEO板上电复位后进入 bootloader 模式。STM32F401RE 的 I2C1, I2C2, I2C3 均支持 bootloader,这里选取 I2C1 接口实现在 bootloader 模式下的程序下载功能。
4 Z% r. S2 g0 c/ h: u4 c8 F7 R2 k  `" w  Y3 N, x
6 K6 H' T6 E( ?! b2 w. X* {( ~
9A7~F_1C257063Z3MRDIJ1J.png # D, u0 c) |+ Z' B$ a4 w

# S1 v% f4 H" E% |1 Q3 d JT(7%I_2YD16JWC0~~45)~7.png $ R5 t# R4 O0 \$ ]: F
; D& j8 y- d; X, w0 u& D, y: v, n
关于 STLINK-V3SET 与 SRM32F401RE 之间的 I2C 连接,STLINK-V3SET 模块上已提供 680 欧姆上拉电阻,已通过闭合 JP10 跳线激活。同时还需要通过 NUCLEO 板为 STLINK-V3SET 提供 3.3V 供电。参考 AN2606 中 I2C 接线方式,两者的引脚接线如下表所示。
% k$ f2 o0 p" [, i# d/ n6 j, P
: @0 j% t1 a8 o1 B
+ N$ s% ~5 H+ I0 l
`B)G9BG5{K[6`23G@`1GWYY.png : N  ~8 L1 [, o* C
/ D) y2 z( L0 D8 ^
最后,用一根 USB Type A 转 Micro B 的线连接 STLINK-V3SET 和 PC,同样通过调试线给STM32 NUCLEO-F401RE 供电。: C; k' Y# H: \+ Z$ e# A

6 R( T( U, G' `
4.2 通过 IAR 将程序下载到 SRAM 中) H; [  G$ A, w. ?! P' s
1)在工程的链接选项中选择 stm32f411xe_sram.icf : LAT1100
$ a2 X/ ?3 |2 ]# J2 j
+ p# Q/ [7 T( }$ K& r (WL}G}$UNMP1]JETQ9F3%[S.png
0 d* x; z1 g# ]/ T# s# G! x# N$ h! o2 a" \
2)设置一下中断向量表的位置 :
2 I( D; u! W) o) M2 T8 M: C" m- _1 J$ _
/ e- L) h! }1 {9 a
SK[9@1)N`TK$KOS6QFNP1PQ.png " E3 ?1 X1 V+ l8 _3 {5 @
0 C6 N5 e! Z8 H, j" k  M: R7 n
注意:当通过 Bootloader 将程序下载到 SRAM 中时,VECT_TAB_OFFSET 值需要修改。
0 q& C' K% P0 {( }7 h
$ ]4 j  Q3 y% M$ V9 i
6 H" `- U9 x4 R# h* \8 _  E
完整版请查看:附件* W9 ]' y; O$ E% B- U; g: F
通过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 手机版