STM32下载程序到SRAM中
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 把这个文件添加到你工程的根目录下,以方便查找,添加过程如上图所示。 接着在Utilities中Setting选项中选择你的芯片,并更改RAM 和 FLASH 的地址。 ?再者就是编写你的主程序,编译调试了。但是记住一点,一定不要点FLASH下的download。 ?最后别忘了,改变启动方式。? ?到此为止,设置已经完成。 把程序的CODE 区定义到0x20000000 为起始,,大小为 0xa000,也就是40K 了,然后RAM 区则定义到0x2000a000为起始,大小为0x2000,即8K。 STM32f103VC的RAM起始地址为0x20000000,48k (0xc000),flash的起始地址为0x08000000,256k (0x00040000)。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |