主题 : u-boot 对片选空间的访问。 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 8749
精华: 0
发帖: 22
金钱: 110 两
威望: 22 点
综合积分: 44 分
注册时间: 2009-09-04
最后登录: 2015-07-10
楼主  发表于: 2010-07-02 14:36

 u-boot 对片选空间的访问。

u-boot 物理地址疑问。
我的板子接了一块液晶屏,CPLD 通过CS4来捕捉数据,现在是我想在U-BOOT中来初始化屏,但是往CS4上这样写,(*(volatile unsigned long *)0x20000000) = 数据,屏没有显示,但是把CS4 偏移4个字节后就可以了。,(*(volatile unsigned long *)0x20000004) = 数据, 而且便宜8个也可以,照这样看,就不便宜CS4就没有信号。这是为什么了。不是很明白。哪位给解答一下,谢谢。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2010-07-02 15:57
对于2440来说,只要你访问的物理地址在0x20000000 ~ 0x28000000, memory controller会把nGCS4信号拉低以选中接在这上面的芯片。
至于你应该对哪个地址读写,是由你的CPLD接在2440的具体哪个ADDR pin决定的。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 8749
精华: 0
发帖: 22
金钱: 110 两
威望: 22 点
综合积分: 44 分
注册时间: 2009-09-04
最后登录: 2015-07-10
2楼  发表于: 2010-07-02 16:47

 回 1楼(kasim) 的帖子

但是是这样,CPLD,不区分地址,这个片选空间只给这个屏,就是说如果nGCS4信号拉低,就把数据读出来送给液晶屏,现在这种情况就是不偏移四个字节,nGCS4根本收不到拉低信号。这个很奇怪。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2010-07-02 17:11
对于2440来说,(*(volatile unsigned long *)0x20000000) = 数据 和 (*(volatile unsigned long *)0x20000004) = 数据 的区别只是ADDR2的状态高低不同。
我想你最好把初始化Memory Controller中的BANK4部分寄存器代码贴出来看看
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."