版主 STM32103ZE + SST39VF1601的问题

[复制链接]
 楼主| zh5h 发表于 2009-4-29 14:53 | 显示全部楼层 |阅读模式
板子是自己做的 片外的FSMC控制的SST39VF1601 flash 读写总是不成功
用ST自带的库例子修改的 将原bank2改成了bank4(我flash挂bank4上)

用ST的库例子在万利的开发板STM32E上也没有成功过,
并且他提供的读写片外RAM程序 其中初始化FSMC的部分要将数据宽度该成8位
才能好用(片外RAM是16位的!!) 一直很郁闷 
看资料上描述饿FSMC控制还挺复杂的 可以配置成很多组合 不知到该怎么配了

有成功使用STM32+SST39VFXXX的朋友能不能分享一下驱动啊 谢谢拉
lut1lut 发表于 2009-4-29 15:44 | 显示全部楼层

可以参照万利板子的配套例程

万利板子上用的SST39LF040的nor flash,配了读写驱动的啊。lz参照着看看呢。

另外,ST和万利的板子上SRAM都是16位宽度的啊。读写SRAM的代码,我原封不动搬过去就好使耶。

有句讲句,FSMC是挺复杂滴~~~
 楼主| zh5h 发表于 2009-4-29 15:51 | 显示全部楼层

再看看

万利板子上用的SST39LF040的nor flash,配了读写驱动的啊。lz参照着看看呢。
  我再试试看

另外,ST和万利的板子上SRAM都是16位宽度的啊。读写SRAM的代码,我原封不动搬过去就好使耶。
  他的程序读写16位数据没有问题,要是连续读写的数据是8位的就会出错!你试试!!
  
有句讲句,FSMC是挺复杂滴~~~
   同感
 楼主| zh5h 发表于 2009-4-29 16:00 | 显示全部楼层

补充

万利STM103E的例程里面怎么也找不到NOR flash SST39LF040的读写
只有一个NAND flash的读写程序~
lut1lut 发表于 2009-4-29 16:25 | 显示全部楼层

外面实际memory的数据宽度和你对FSMC访问宽度的配置

我再想想。。。
香水城 发表于 2009-4-29 16:36 | 显示全部楼层

STM32参考手册上已经注明:不能向16位的外部存储器写8位的数

请看表中的阴影部分:
lut1lut 发表于 2009-4-29 16:40 | 显示全部楼层

我这里有个万利板子上nor读写的,你拿去试一试?

 楼主| zh5h 发表于 2009-4-29 16:46 | 显示全部楼层

存储器是16位SRAM

并且使能了NBL NBH 高低字节选择位了,应该能支持8位的读写!!
 
 楼主| zh5h 发表于 2009-4-29 16:47 | 显示全部楼层

谢谢 lut1lut 正在测试

 楼主| zh5h 发表于 2009-4-29 16:58 | 显示全部楼层

lut1lut给的程序正确

谢谢了!
lut1lut 发表于 2009-4-29 17:44 | 显示全部楼层

你要是配置成8位FSMC访问宽度,

虽然8位8位的读写是可以的,但是势必要浪费这个外部NOR一半的存储空间。

配置成16位的FSMC访问宽度,应该也可以支持8位8位的读写。但是我在万利板子上跑了一下,好象是有问题。看来只有明天拉拉波形看看咯。
lut1lut 发表于 2009-5-5 10:04 | 显示全部楼层

万利板子上对外部16位的SRAM

当FSMC配置成16位访问宽度时:

CD中的配套例程是16位读写操作:没有问题;

如果像LZ一样对它进行8位读写操作,会出错。原因是NBL和NBH接反了,造成8位写操作错误。因为此时,SRAM根据NBL和NBH的电平情况,相应在I/O0~7或者I/O8~15上取数据,写入自己的memory。

但是8位的读操作不会出错,因为读操作时,NBL和NBH都同时为低,接反了也不影响。
 楼主| zh5h 发表于 2009-5-6 15:09 | 显示全部楼层

无语~

设计不严谨!
要是初学者遇着这样的问题会郁闷个半死!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

162

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部

38

主题

162

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部