OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3694|回复: 1

战舰板从SRAM启动下载程序

[复制链接]

0

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
402
金钱
402
注册时间
2021-1-9
在线时间
51 小时
发表于 2021-8-16 21:37:13 | 显示全部楼层 |阅读模式
本帖最后由 Siryel 于 2021-8-17 09:05 编辑

想要将程序下载到单片机内部的SRAM里运行,查了一些资料又折腾了好多时间才大致整个差不多,在stm32f103c8t6、stm32f103zet6、stm32f401ccu6上都实验过了,都能从SRAM中启动并运行,但是每个型号(可能是板子的问题)又或多或少会出现一些问题,导致下载不进去,或者下载后不运行。我仅以原子的战舰板子为例,说一下简单的下载流程,大家也好少走点弯路。这里说明一下,从SRAM启动下载程序的方式不唯一,可以用串口下载,也可以用ST-LINK下载,或者其他下载器下载。由于我没有JLINK下载器,只能使用串口或者ST-LINK实验,但是在战舰板子上试成功的只有串口(奇怪的是不能用ST-LINK,ST-LINK在其他型号板子上是可以用的),所以我只说用板子自带的串口下载方式。
官方手册上给的从SRAM启动需要将BOOT0和BOOT1都配置为1,这是使用仿真器的配置方式。而用串口下载的原理是:使用单片机内部固化的ISP自举程序,将程序下载到内部SRAM。其实和原子哥讲的“第五十二章 串口IAP实验”道理差不多。由于截图太麻烦,所以只能纯文字描述了。


首先,第一步,硬件配置:BOOT0=1,BOOT1=0。就是配置一下板子上的BOOT跳线帽,见下图。

然后,第二步,就是在keil5里配置了。以下按步骤来说:
1.首先写一个编译通过,并且生成了.hex文件的程序(比如简单的闪灯程序)
2.点击魔术棒(就是Options for Target按钮),再点击Target按钮,然后修改IROM1的Start为0x20000200,Size为0x8800,修改IRAM1的Start为0x20009000,Size为0x5000 。这个是配置虚拟FLASH空间和RAM空间大小,具体你想将这64KB的SRAM怎么分配,数值由你计算好然后填进去。我配置的虚拟FLASH占0x8800(即34KB),RAM占0x5000(即20KB)。注意虚拟FLASH的起始地址是0x20000200(不是0x20000000),RAM起始地址在虚拟FLASH空间之后,两者不能交叉。
3.还是在魔术棒里,点击C/C++按钮,在Preprocessor Symbol的Define里填入“STM32F10X_HD, USE_STDPERIPH_DRIVER,VECT_TAB_SRAM”
4.还是在魔术棒里,点击Linker按钮,先将“Use Memory Layout from Target Dialog”前面的对勾取消掉,然后右边的“R/O Base”和“R/W Base”就会亮起,修改R/O Base为0x20000200,修改R/W Base为0x20009000(就是修改成虚拟FLASH和RAM的起始地址),然后再将“Use Memory Layout from Target Dialog”前面的对勾勾上。
5.还是在魔术棒里,点击Debug按钮,由于使用串口下载,所以将左侧的“Use Simulator”前的圆圈勾选上。最后点击下方的“OK”按钮,结束魔术棒的配置。
6.再点击“Rebuild”按钮,重新全编译一遍程序,生成新的.hex文件。

最后,第三步,就是下载程序到SRAM中了。打开FlyMcu串口下载软件,最下方选择“不使用RTS和DTR”,然后将刚刚生成的.hex文件加载进来。最后用USB线连接板子和电脑,点击“开始编程”按钮下载程序。此时程序就会下载到单片机内部的SRAM中了,而且下载速度还是比较快的。下载完程序就开始在内部SRAM中跑了。但是有个问题上,按了板子上的复位键之后程序会被清除掉(这个情况有点奇怪,因为我在别的板子上按复位键程序不会被清),清除掉后只能再重新下载一遍,也不费劲。

以上的配置操作其实是在修改.sct文件,当配置完生成.hex文件后,可以到工程里查看.sct文件内容,里面关于ROM、RAM地址和大小的信息也都被修改成了我们需要的内容。串口的配置还比较简单,如果用ST-LINK下载,就需要考虑到能不能调试程序,那么配置的步骤就会比串口方式要多一些。至于为什么要把程序下载到SRAM里运行就不用我说了吧,大家在查这方面资料时应该多有所了解。



微信图片_20210816220815.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

480

帖子

0

精华

高级会员

Rank: 4

积分
783
金钱
783
注册时间
2021-4-15
在线时间
305 小时
发表于 2021-8-17 12:18:20 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-24 16:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表