打印

百为STM32开发板教程之十三——外扩SRAM使用步骤

[复制链接]
2300|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xi_liang|  楼主 | 2013-10-19 09:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
百为STM32开发板教程之十三——外扩SRAM使用步骤(用3.5固件库)

1、在工程选项里定义外部SRAM的起始地址和容量大小,百为STM3210E-EVAL的外部SRAM起始地址是0x68000000(FSMC_NE3),容量大小是0x100000(1M)
2013-6-1 08:41 上传
下载附件 (97.14 KB)




2、开启宏定义DATA_IN_ExtSRAM

在启动代码startup_stm32f10x_hd.s里有如下几行代码,其中会调用SystemInit这个函数,
                IMPORT  __main
                IMPORT  SystemInit
                LDR     R0, =SystemInit
                BLX     R0               
                LDR     R0, =__main
                BX      R0

SystemInit这个函数在system_stm32f10x.c里定义,这个函数又包含如下几行代码
#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL)
  #ifdef DATA_IN_ExtSRAM
    SystemInit_ExtMemCtl();
  #endif /* DATA_IN_ExtSRAM */
#endif

这里就是重点了,SystemInit_ExtMemCtl() 就是初始化FSMC接口外部SRAM的代码
也就是说只要在系统启动的时候调用这个函数,启动完后就能用外部SRAM了
但这里有个#ifdef DATA_IN_ExtSRAM,所以我们要定义这个宏:
#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL)
#define DATA_IN_ExtSRAM
#endif

其中#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL)这行代码,
在工程设置里是有定义了的STM32F10X_HD的,所以上面#if和#endif中间的内容是会执行的。
沙发
linliangqiu| | 2013-10-19 14:13 | 只看该作者
这种方法不好,用分散加载更好一点。那样可以指定哪些变量是用在哪里,系统RAM,专门用在系统运行,外扩RAM用来做数据缓冲。

使用特权

评论回复
板凳
trumpxp| | 2013-10-19 19:46 | 只看该作者
这种烧写方法  可能效率比较低   应该是这个问题

使用特权

评论回复
地板
圈圈虫1989| | 2014-4-9 21:57 | 只看该作者
trumpxp 发表于 2013-10-19 19:46
这种烧写方法  可能效率比较低   应该是这个问题

请问SRAM做数据缓冲区怎么理解?可以定义一个超大的全局变量数组吗?

使用特权

评论回复
5
xi_liang|  楼主 | 2014-5-9 23:53 | 只看该作者
linliangqiu 发表于 2013-10-19 14:13
这种方法不好,用分散加载更好一点。那样可以指定哪些变量是用在哪里,系统RAM,专门用在系统运行,外扩RAM ...

这种是可以直接扩大系统内存,堆栈可以开很大。分散加载也可以,各有好处吧

使用特权

评论回复
6
xi_liang|  楼主 | 2014-5-9 23:55 | 只看该作者
圈圈虫1989 发表于 2014-4-9 21:57
请问SRAM做数据缓冲区怎么理解?可以定义一个超大的全局变量数组吗?

意思就是把变量或数组等等定义到外部SRAM中,这样就可以支持大数组了

使用特权

评论回复
7
xi_liang|  楼主 | 2014-6-14 22:45 | 只看该作者
还要在启动代码里加上FSMC初始化,上面写漏了

使用特权

评论回复
8
人民币的幻想| | 2014-8-15 00:02 | 只看该作者
还有二手板子不

使用特权

评论回复
9
xi_liang|  楼主 | 2014-8-29 22:37 | 只看该作者
*币的幻想 发表于 2014-8-15 00:02
还有二手板子不

有的,需要可以联系

使用特权

评论回复
10
hudi008| | 2014-8-29 23:30 | 只看该作者
谢谢分享的

使用特权

评论回复
11
hudi008| | 2014-8-29 23:30 | 只看该作者

使用特权

评论回复
12
xi_liang|  楼主 | 2014-9-12 11:05 | 只看该作者
hudi008 发表于 2014-8-29 23:30
谢谢分享的

多谢帮顶

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://baiweijishu.taobao.com/ 百为STM32开发板 兼容官方STM3210E-EVAL开发板 WM-G-MR-09 WIFI开发板

41

主题

285

帖子

10

粉丝