加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

STM32下载程序到SRAM中

发布时间:2020-12-15 06:14:00 所属栏目:百科 来源:网络整理
导读:STM32 下载程序到 SRAM 中 芯片: STMF103VCT6 编译工具: Keil 3.80a 目标板子:火牛开发板 虽然 FLASH 可以下载万次,但毕竟是 FLASH ,有寿命期限。而 STM32 有三种启动方式,可以在芯片上的 SRAM 中调试程序。具体步骤如下: ? STMF103VCT6有内部48Kbyte

STM32下载程序到SRAM

芯片:STMF103VCT6

编译工具: Keil 3.80a

目标板子:火牛开发板

虽然FLASH可以下载万次,但毕竟是FLASH,有寿命期限。而STM32有三种启动方式,可以在芯片上的SRAM中调试程序。具体步骤如下:

?

STMF103VCT6有内部48Kbytes 的SRAM。SRAM的起始地址为0x20000000 到 0x2000C000 。在Keil工程选项中设置如下图

注意 IROM1 IRAM1 后面的地址按图中的填写就行。这里把SRAM均分成两份,一份为虚拟FLASH,一份为SRAM。同时别忘了,前面的复选框打勾。

对于输出的list 和obj 文件放在哪里,相信很多人都会,在就不浪费大家的时间了。接着在debug中做如下设置如图。

根据实际情况选择仿真器,下面有两个复选框一定要选上,Load Application at Startup Run to main()。另外下面还要添加一个文件RAM.ini,源码如下,保存为.ini文件:

? SP = _RDWORD(0x20000000);????????? // Setup Stack Pointer
? PC = _RDWORD(0x20000004);????????? // Setup Program Counter
? _WDWORD(0xE000ED08,0x20000000);?? // Setup Vector Table Offset Register

把这个文件添加到你工程的根目录下,以方便查找,添加过程如上图所示。

接着在Utilities中Setting选项中选择你的芯片,并更改RAM 和 FLASH 的地址。

?再者就是编写你的主程序,编译调试了。但是记住一点,一定不要点FLASH下的download。

?最后别忘了,改变启动方式。?

?到此为止,设置已经完成。

把程序的CODE 区定义到0x20000000 为起始,,大小为 0xa000,也就是40K 了,然后RAM 区则定义到0x2000a000为起始,大小为0x2000,即8K

STM32f103VCRAM起始地址为0x2000000048k (0xc000)flash的起始地址为0x08000000256k (0x00040000)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读