STM32F103 扩展使用外部SRAM的情况

2019-08-17 02:21发布

  由于内部sram大小只有64kb,为了跑函数,所以扩展了外部1mb的sdram进行使用,起始地址为0x68000000 大小为0x100000。这样用外部SRAM就跟用内部SRAM一样,不用自己去申请内存,也不用考虑什么内存地址,一切让编译器自己去解决。        根据库函数例程fsmc来实现扩展外部sdram。在库函数的system_stm32f10x.c这个初始化文件当中其实就已经有外部SRAM的初始化,我们只要增加“#define DATA_IN_ExtSRAM 1”这句宏定义[color=white !important][color=white !important]?
1
2
3
4
#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL)
/* #define DATA_IN_ExtSRAM */
#define DATA_IN_ExtSRAM 1
#endif

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
正点原子
1楼-- · 2019-08-17 06:29
你这样即使做出来,最后也会放弃。  让MDK自己分配外部内存,绝对是一个拖慢速度的主。
cyxiaotian
2楼-- · 2019-08-17 07:38
正点原子 发表于 2017-7-7 01:06
你这样即使做出来,最后也会放弃。  让MDK自己分配外部内存,绝对是一个拖慢速度的主。

但是对于内部SRAM空间大小不够用的情况,应该用什么方法解决比较好?
正点原子
3楼-- · 2019-08-17 11:32
cyxiaotian 发表于 2017-7-7 22:54
但是对于内部SRAM空间大小不够用的情况,应该用什么方法解决比较好?

内存管理啊,我们给大家提供的就是最科学的方式。
对于需要频繁处理的变量,放内部SRAM,对于需要大量数组的时候,放外补SRAM,都可以自己掌控,这才是一个程序员该做的事情。

另外,STM32F103/407的FSMC都不能扩展SDRAM,得429才行,那叫FMC,不是FSMC。
cyxiaotian
4楼-- · 2019-08-17 12:02
 精彩回答 2  元偷偷看……

一周热门 更多>