打印

版主 STM32103ZE + SST39VF1601的问题

[复制链接]
4271|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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的读写程序~

使用特权

评论回复
5
lut1lut| | 2009-4-29 16:25 | 只看该作者

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

我再想想。。。

使用特权

评论回复
6
香水城| | 2009-4-29 16:36 | 只看该作者

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

请看表中的阴影部分:

使用特权

评论回复
7
lut1lut| | 2009-4-29 16:40 | 只看该作者

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

使用特权

评论回复
8
zh5h|  楼主 | 2009-4-29 16:46 | 只看该作者

存储器是16位SRAM

并且使能了NBL NBH 高低字节选择位了,应该能支持8位的读写!!
 

使用特权

评论回复
9
zh5h|  楼主 | 2009-4-29 16:47 | 只看该作者

谢谢 lut1lut 正在测试

使用特权

评论回复
10
zh5h|  楼主 | 2009-4-29 16:58 | 只看该作者

lut1lut给的程序正确

谢谢了!

使用特权

评论回复
11
lut1lut| | 2009-4-29 17:44 | 只看该作者

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

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

配置成16位的FSMC访问宽度,应该也可以支持8位8位的读写。但是我在万利板子上跑了一下,好象是有问题。看来只有明天拉拉波形看看咯。

使用特权

评论回复
12
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都同时为低,接反了也不影响。

使用特权

评论回复
13
zh5h|  楼主 | 2009-5-6 15:09 | 只看该作者

无语~

设计不严谨!
要是初学者遇着这样的问题会郁闷个半死!

使用特权

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

本版积分规则

38

主题

162

帖子

3

粉丝