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

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

[复制链接]
STMCU小助手 发布时间:2023-6-18 14:19
1. 引言
STM32 MCU 在 bootloader 模式下,可以通过多种可用外设(USART、CAN、USB、I2C、SPI等)将程序下载到内部存储器中,详细内容可参考应用笔记 AN2606《STM32 microcontrollersystem memory boot mode》。
本文档主要介绍利用 STLINK-V3SET 调试/编程工具的 I2C 接口将程序下载到 SDRAM 中并执行的方法。

DHA[}`JKLN9%AM3QV3NZGBY.png

2. 问题描述
问题源自客户的实际需求,希望通过 I2C 接口将程序下载到 SRAM 中执行,进行芯片功能性测试。

3. 问题分析与定位
关于在 Bootloader 模式下的应用程序下载,有多篇 LAT 可参考。例如《如何使用STM32NUCLEO 板来测试串口 Bootloader》、《一种在 IAR 中实现通过 SRAM 应用程序跳转到bootloader 的方法》等。应用程序下载到 SRAM 中,也有 LAT 可参考,如《一种在 IAR 中实现通过将程序在 SRAM 中调试的方法 》。
通过调研,STLINK-V3SET 支持 I2C Bootloader 程序下载,可以实现在 bootloader 模式下的将应用程序下载到 SRAM 中。

4. 问题解决
本文档以 NUCLEO-F401RE 开发板为例进行介绍。本文档介绍方法分为 3 个步骤,首先进行硬件配置与接线,使得 STM32F401RE 与 STLINK-V3SET 通过 I2C 相连,同时保证 STM32F401RE 复位后可进入 bootloader 模式;其次进行软件配置与编程,通过 IAR 可以将程序下载到 SRAM 中;最后通过 STM32CubeProgrammer 软件进行程序下载并运行。
下边分别介绍三个步骤。

4.1 硬件配置与接线
查看 AN2606 可知,通过 Boot0,Boot1 的硬件设置(Boot0 = 1,Boot1 = 0),可使 NUCLEO板上电复位后进入 bootloader 模式。STM32F401RE 的 I2C1, I2C2, I2C3 均支持 bootloader,这里选取 I2C1 接口实现在 bootloader 模式下的程序下载功能。


9A7~F_1C257063Z3MRDIJ1J.png

JT(7%I_2YD16JWC0~~45)~7.png

关于 STLINK-V3SET 与 SRM32F401RE 之间的 I2C 连接,STLINK-V3SET 模块上已提供 680 欧姆上拉电阻,已通过闭合 JP10 跳线激活。同时还需要通过 NUCLEO 板为 STLINK-V3SET 提供 3.3V 供电。参考 AN2606 中 I2C 接线方式,两者的引脚接线如下表所示。


`B)G9BG5{K[6`23G@`1GWYY.png

最后,用一根 USB Type A 转 Micro B 的线连接 STLINK-V3SET 和 PC,同样通过调试线给STM32 NUCLEO-F401RE 供电。

4.2 通过 IAR 将程序下载到 SRAM 中
1)在工程的链接选项中选择 stm32f411xe_sram.icf : LAT1100

(WL}G}$UNMP1]JETQ9F3%[S.png

2)设置一下中断向量表的位置 :


SK[9@1)N`TK$KOS6QFNP1PQ.png

注意:当通过 Bootloader 将程序下载到 SRAM 中时,VECT_TAB_OFFSET 值需要修改。


完整版请查看:附件
通过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 手机版