搜索
bottom↓
回复: 9

lpc1788sdram 地址问题

[复制链接]

出0入0汤圆

发表于 2013-12-21 11:00:34 | 显示全部楼层 |阅读模式
我用了一片16位的HY57V561620FTP-6 这个是32M字节吗,所以我这样定义
#define SDRAM_SIZE                200 0000
#define SDRAM_BASE               0xA000 0000
不是这样吗。但我现在操作 oxA250 0000竟然能写成而且读也正确,
为什么呢!!

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2013-12-21 11:58:47 | 显示全部楼层
这个地址里面的内容,应该是前面 ox50 0000这附近的重了了,你可以查一下,

出0入0汤圆

 楼主| 发表于 2013-12-21 16:42:01 | 显示全部楼层
gnocy 发表于 2013-12-21 11:58
这个地址里面的内容,应该是前面 ox50 0000这附近的重了了,你可以查一下,

什么意思,能详细说一下吗,
#define SDRAM_SIZE               0x02000000
#define SDRAM_BASE               0xA0000000
为什么 会重复,,

出0入0汤圆

 楼主| 发表于 2013-12-21 16:48:06 | 显示全部楼层
这是王0xA000 0000 都用55填充,为什么有错误的呢,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-12-21 17:11:03 | 显示全部楼层
楼主啊,这个地址肯定可以的啊,为什么?你说就比如你声明一个int型变量,然后给他赋值1000,然后你再声明一个char型变量,然后把int型变量强制转换并赋值给char型变量,会怎么样?你觉得char的值为多少?对于sdram来说,你这个地址是被EMC总线通过地址线发送出去的,你这个地址在EMC总线上是存在的,只是他的区域并不在你的sdram上面,但是实际上EMC发出行列地址的时候,因为你多余的地址并没有接,你的sdram也没有那么多地址线,所以多余的高位地址线无效,那对于你的sdram其实没啥,它只接收对他有效的那些地址线,也就是相当于int型的转成char型的,它不管你高出的那些位,直接丢掉,但还是有低位有效的。反正会得出一个对于你的sdram有效的地址,这个然后你写数据读数据都是没问题的,因为对于超出的地址,你的sdram是不管的。反正在0xA0000000~0xAFFFFFFF这个范围内,你发什么它的低位地址线都是有效的,地址有效,你读写就没问题。只是对于你的sdram,并不是这个地址。

出0入0汤圆

 楼主| 发表于 2013-12-21 17:46:05 | 显示全部楼层
nongxiaoming 发表于 2013-12-21 17:11
楼主啊,这个地址肯定可以的啊,为什么?你说就比如你声明一个int型变量,然后给他赋值1000,然后你再声明 ...

就是实际存在了地地址了,懂了!!谢谢,还有上面数据错了怎么回事,不是地址线虚焊吧

出0入0汤圆

 楼主| 发表于 2013-12-21 21:03:34 | 显示全部楼层
nongxiaoming 发表于 2013-12-21 17:11
楼主啊,这个地址肯定可以的啊,为什么?你说就比如你声明一个int型变量,然后给他赋值1000,然后你再声明 ...

哥哥,你在帮我看看,这个问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-12-21 22:14:39 | 显示全部楼层
你用的SDRAM是多少行多少列的,原来我也是出现过这样的问题,就是写过了SDRAM的地址也是对的,后来我这里两个地址都用了后才发现超过地址范围后会覆盖到前面来,这个也是我调试时发现的,因为我前面存放了一张图片,后面再写入就把图片数据给冲掉了。你也可以这样试试。就是上面这个寄存器的设置问题。

出0入0汤圆

 楼主| 发表于 2013-12-22 13:34:50 | 显示全部楼层
gnocy 发表于 2013-12-21 22:14
你用的SDRAM是多少行多少列的,原来我也是出现过这样的问题,就是写过了SDRAM的地址也是对的,后来我这里两 ...

手册是这么写的,就是 13  9
Row Address: RA0 ~ RA12, Column Address: CA0 ~ CA8
Auto-precharge flag: A10
我这么写,就会覆盖原来的数据

出0入0汤圆

发表于 2013-12-25 01:12:47 | 显示全部楼层
本帖最后由 saddam911 于 2013-12-25 01:14 编辑
看不见 发表于 2013-12-21 21:03
哥哥,你在帮我看看,这个问题


这个应该不是手册写错了,好像是跟SDRAM的结构有关系,什么先组后列,还是先列后组,具体我也没搞明白那,不知楼主现在这块高明吧了没,
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 14:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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