社区导航

 
快捷导航
  • 首页
  • 论坛
  • 查看新帖
  • 最新回复
  • 社区活动
  • 联系管理员
  • 消灭零回复
  • E金币兑换
  • 干货
搜索
查看: 1515|回复: 5

[讨论] STM32F429由CubeMX生成的项目对SDRAM读写,还需要再加入相应命令吗?

[复制链接]

1万

TA的帖子

33

TA的资源

版主

Rank: 6Rank: 6

发表于 2017-1-18 20:58:44 | 显示全部楼层 |阅读模式
我用CUBE-MX生成了STM32F429项目,因为好象 -- 好象是说它生成 的项目就可以对硬件直接操作了,当然第一个是IO口了,感觉不错,
对SDRAM的读写就出现了问题,
-------  简单写了个语句,读SDRAM地址的内容;
                                      写SDRAM某一地址。

当执行到读时,就转到了硬件错误中断----- HardFault_Handler()里了。

仔细看了SDRAM的初始化程序,它对两个寄存器设置了:SDCR[1,2]及SDTR[1,2]。而其它寄存器没有设置。

但是象FMC_SDCMR,它是contains the command issued when the SDRAM device is accessed的,没有它是不是肯定会进入HardFault_Handler()吗?
此帖出自stm32/stm8论坛


回复

使用道具 举报

1万

TA的帖子

33

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2017-1-18 21:03:02 | 显示全部楼层
我看了其它ST的例程,有对SDCMR及SDRTR的设置,

-------------------  CubeMX生成的项目倒没有发现对这两个寄存器的设置


回复

使用道具 举报

1万

TA的帖子

33

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2017-1-19 12:05:48 | 显示全部楼层
昨晚试了,确实,需要写另外两个寄存器SDCMR及SDRTR的设置,。


但是,现在读出来的数值始终是FFFF,不管写入的是什么。-------  可能写入的也不正常吧


回复

使用道具 举报

1万

TA的帖子

33

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2017-1-19 13:54:50 | 显示全部楼层
今天看了,控制脚有三个没有变化:
CKE  ------- 恒低
BA0  -------- 恒低 ,  这个好象关系不好
BA1  --------- 恒低。


回复

使用道具 举报

3

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2017-2-16 09:48:38 | 显示全部楼层
最近也在玩这个,使用CubeMX生成的代码里面有缺陷:
1、没有对SDCMR及SDRTR的设置,解决方法就是直接从例程里面拷贝即可使用,可能有个别变量缺定义的现象,直接从例程里拷贝也行。
2、写入不正常,这个是可能你的SDRAM芯片的WE管脚没有设置,这个一般默认是低电平有效。而CubeMX生成的代码没有对WE管脚进行设置,这个你自己设置成低电平即可。

点评

谢谢你! 已经搞好了,加了个SDRAM_Initialization_Sequence函数就行了。  详情 回复 发表于 2017-2-16 12:10


回复

使用道具 举报

1万

TA的帖子

33

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2017-2-16 12:10:30 | 显示全部楼层
dmzy007 发表于 2017-2-16 09:48
最近也在玩这个,使用CubeMX生成的代码里面有缺陷:
1、没有对SDCMR及SDRTR的设置,解决方法就是直接从例 ...

谢谢你!

已经搞好了,加了个SDRAM_Initialization_Sequence函数就行了。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2018-4-27 14:45 , Processed in 0.195327 second(s), 18 queries , Redis On.

快速回复 返回顶部 返回列表