OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4460|回复: 6

SDRAM测试问题

[复制链接]

42

主题

297

帖子

0

精华

高级会员

Rank: 4

积分
994
金钱
994
注册时间
2016-7-22
在线时间
318 小时
发表于 2017-1-19 12:24:54 | 显示全部楼层 |阅读模式
学习原子的SDRAM实验,遇到了两个问题,还请大家多多指教

问题1:初始化了SDRAM的引脚,填充了SDRAM_Handler、SDRAM_Timing等结构体,这就完成了SDRAM的初始化了?
            我不明白的是为何不用把 SDRAM的数据引脚(D0-D15),地址引脚(a0-a12),时钟引脚,片选引脚等等 指定到具体io呢??  

问题2:
u16 testsram[250000] __attribute__((at(0XC0000000)));//首先将testsram数组放在了sram的起始地址
mian函数开始之后开始填充testsram          for(ts=0;ts<250000;ts++)    testsram[ts]=ts;//预存测试数据         
while(1)里面:     
1、按键0按下,测试SRAM容量,每隔16K字节,写入一个数据,总共写入2048个数据,写数据的地址也是从(0XC0000000))  就是SDRAM开始地址   那么数组testsram[]内容是不是就被修改了呢?
2、按键1按下,打印testsram内容 从串口里观察 testsram的内容没有被修改。。。

还请各位大神帮帮解答一下疑惑

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

54

主题

372

帖子

0

精华

高级会员

Rank: 4

积分
979
金钱
979
注册时间
2016-6-15
在线时间
474 小时
发表于 2017-1-20 12:34:41 | 显示全部楼层
1,SDRAM初始化的第一步就是需要先初始化STM32 FMC控制器以及相对应的GPIO/AFIO, 2, for(ts=0;ts<250000;ts++)    testsram[ts]=ts; //这一步就是从SDRAM的FMC地址开始连续写入250000*2个字节数据到SDRAM,也就是数组所有元素被初始化.
回复 支持 1 反对 0

使用道具 举报

42

主题

297

帖子

0

精华

高级会员

Rank: 4

积分
994
金钱
994
注册时间
2016-7-22
在线时间
318 小时
 楼主| 发表于 2017-1-20 09:22:28 | 显示全部楼层
顶顶顶
回复 支持 反对

使用道具 举报

54

主题

372

帖子

0

精华

高级会员

Rank: 4

积分
979
金钱
979
注册时间
2016-6-15
在线时间
474 小时
发表于 2017-1-20 12:34:49 | 显示全部楼层
本帖最后由 shuaigew88 于 2017-1-20 12:36 编辑

可以在数据写完后将数据一一读出比较,如果有不正确数据将LED点亮,这样可以测试与SDRAM通讯是否稳定.
回复 支持 反对

使用道具 举报

42

主题

297

帖子

0

精华

高级会员

Rank: 4

积分
994
金钱
994
注册时间
2016-7-22
在线时间
318 小时
 楼主| 发表于 2017-1-21 10:47:50 | 显示全部楼层
shuaigew88 发表于 2017-1-20 12:34
1,SDRAM初始化的第一步就是需要先初始化STM32 FMC控制器以及相对应的GPIO/AFIO, 2, for(ts=0;ts

我不明白的是为何不用把 SDRAM的数据引脚(D0-D15),地址引脚(a0-a12),时钟引脚,片选引脚等等 指定到具体io呢??
回复 支持 反对

使用道具 举报

42

主题

297

帖子

0

精华

高级会员

Rank: 4

积分
994
金钱
994
注册时间
2016-7-22
在线时间
318 小时
 楼主| 发表于 2017-1-21 10:50:42 | 显示全部楼层
shuaigew88 发表于 2017-1-20 12:34
可以在数据写完后将数据一一读出比较,如果有不正确数据将LED点亮,这样可以测试与SDRAM通讯是否稳定.

还有在测试容量的时候,需要向sram的首地址写数据,在读出来,判断容量。当我测试完之后,while之前也向数组填充数据就会被覆盖了啊,再按下按键1打印出来的不就应该是测试容量时候写的数据了吗?
回复 支持 反对

使用道具 举报

54

主题

372

帖子

0

精华

高级会员

Rank: 4

积分
979
金钱
979
注册时间
2016-6-15
在线时间
474 小时
发表于 2017-1-21 15:17:04 | 显示全部楼层
hi我歌月徘徊 发表于 2017-1-21 10:47
我不明白的是为何不用把 SDRAM的数据引脚(D0-D15),地址引脚(a0-a12),时钟引脚,片选引脚等等 指定到 ...

当然有指定不然如何通讯,AFIO中就需要对SDRAM所有使用的IO口配置成FMC的SDRAM功能
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 04:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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