请问STM32F4 FMC驱动SDRAM时使用FMC_D[31:0]的后16位怎么处理?

2019-07-14 16:19发布

如题,最近在使用STM32F429的FMC同时驱动NAND FLASH 和 SDRAM。NAND FLASH 使用了FMC_D[0:7],即前八位。SDRAM 我打算使用FMC_D[16:31]即后面的16位。结果数据读不出来,使用前16位FMC_D[0:15]时读写数据正常。不知道是不是和NBL[3:0]有关???如果有关的话怎么设置这里???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
ctwewer
1楼-- · 2019-07-14 22:01
同时驱动NAND FLASH 和 SDRAM有点不现实吧,NAND FLASH 和 SDRAM地址会冲突的。你的时序有那么紧张到需要同时操作NAND FLASH 和 SDRAM吗?
zhhx1985
2楼-- · 2019-07-15 02:20
为啥SDRAM要用FMC的D[16:31]这种用法我没见过,我都是NAND D0: D7  ,SDRAM D0: D15....

它们有自己的片选的,D0-D31和A0-Ax都是复用的啊


我猜测,你用D16:31,如果想正常使用的话,SDRAM必须配置为32位数据宽度的,然后每次取高十六位,请高手指点
dull20112011
3楼-- · 2019-07-15 04:53
 精彩回答 2  元偷偷看……
英瑞博111
4楼-- · 2019-07-15 06:40
FAI_weilijuan 发表于 2018-11-5 11:55
这个您使用SDRAM还是NAND flash是由FSMC 存储区域的地址来决定的吧。我用的是f407的片子,手册是否和你的429一致,我倒是没有比较过。可以搜下论坛里有人分享过个429的学习笔记,你参考下呢。

嗯嗯,你说这个存储区域来决定我明白的。我用的是F429.我现在困惑的是NAND FLASH使用了D0-->D7,那么SDRAM如果再用D0到D15呢话,就有一部分FMC_D{也就是GPIO的PD15,PD14,PD0,PD1,PE7,PE8,PE9,PE10}公用了。这样感觉不行啊
英瑞博111
5楼-- · 2019-07-15 10:35
ctwewer 发表于 2018-11-5 12:11
同时驱动NAND FLASH 和 SDRAM有点不现实吧,NAND FLASH 和 SDRAM地址会冲突的。你的时序有那么紧张到需要同时操作NAND FLASH 和 SDRAM吗?

时序应该不紧张到同一时间开SDRAM和NAND FLASH.我现在困惑的是NAND FLASH使用了D0-->D7,那么SDRAM如果再用D0到D15呢话,就有一部分FMC_D{也就是GPIO的PD15,PD14,PD0,PD1,PE7,PE8,PE9,PE10}公用了。这样感觉不行啊。所以我就想FMC_D不是有32位嘛,SDRAM可不可以使用后面16位?
FAI_weilijuan
6楼-- · 2019-07-15 16:22
英瑞博111 发表于 2018-11-5 12:55
嗯嗯,你说这个存储区域来决定我明白的。我用的是F429.我现在困惑的是NAND FLASH使用了D0-->D7,那么SDRAM如果再用D0到D15呢话,就有一部分FMC_D{也就是GPIO的PD15,PD14,PD0,PD1,PE7,PE8,PE9,PE10}公用了。这样感觉不行啊

您要NAND FLASH 和 sdram同时使用的话可能就够呛一些。

一周热门 更多>