• «
  • 1
  • 2
  • 3
  • »
  • Pages: 2/3     Go
主题 : 关于外接LCD模块的问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 395
精华: 0
发帖: 31
金钱: 310 两
威望: 31 点
综合积分: 62 分
注册时间: 2008-03-26
最后登录: 2010-04-01
10楼  发表于: 2008-04-12 00:16
这样理解对吗
假设外接的LCD有个寄存器A,其虚拟地址为addr,而这个寄存器是通过系统总线方式与2440连接的,那么忽略细节,是不是可以在控制信号和地址信号的配合下,直接进行类似这样的操作*addr = xxxx (xxxx代表要写入寄存器的任意值)?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
11楼  发表于: 2008-04-12 15:04
是的,CPU接口的LCD寄存器都可以map到CPU的地址空间
"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: 395
精华: 0
发帖: 31
金钱: 310 两
威望: 31 点
综合积分: 62 分
注册时间: 2008-03-26
最后登录: 2010-04-01
12楼  发表于: 2008-04-12 15:36
谢谢
新的疑问,举例来说,欲用CON2的LnGCS5作为片选,LnWE作为写控制线,与LCD相连如下
2440端              LCD端
LnGCS5 ------------------ CS
LnWE---------------------- /WR
那么如何设定LnWE为低电平?
单片机的话直接Px.x=0口就可以了,那2440有没类似操作?

突然想起一件事:i8080时序的东西能挂到ARM总线上吗?
[ 此贴被yourbabyface在2008-04-12 16:05重新编辑 ]
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
13楼  发表于: 2008-04-13 12:47
nWE pin上的时序由S3C2440的Memory Controller控制产生,不需要额外控制,前提是根据LCM的spec正确配置BWSCON和BANKCON[x]寄存器.关于nWE pin的时序,参考S3C2440A手册的第5章

另外,我不清楚你说的i8080时序指什么, 通常你只需要根据LCM CPU并口接口的时序图提供正确的时序就可以了
"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: 395
精华: 0
发帖: 31
金钱: 310 两
威望: 31 点
综合积分: 62 分
注册时间: 2008-03-26
最后登录: 2010-04-01
14楼  发表于: 2008-04-14 15:39
明白一些了...要开始好好学习lcd驱动理论了,初步打算用按键控制LCD
所以又有一个问题~~ 先不说LCD,我想用板子上4个按键分别控制4个LED的亮灭先,单独的驱动都通过了。那么把2者结合起来的话,是象单片机编程那样把KEY+LED做成一个程序放在驱动层,还是利用原来的驱动,走这样的思路:KEY(驱动)--处理程序(应用)--LED(驱动)?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
15楼  发表于: 2008-04-14 16:51
我建议你用KEY(驱动)--处理程序(应用)--LED(驱动)的方式,这样比较符合现代操作系统的概念,可移植性也比较好。KEY驱动只负责提供单纯的按键消息,由上层应用程序决定如何处理该消息。
"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: 395
精华: 0
发帖: 31
金钱: 310 两
威望: 31 点
综合积分: 62 分
注册时间: 2008-03-26
最后登录: 2010-04-01
16楼  发表于: 2008-04-20 22:18
用的CON2,数据线控制线什么的都连接无误。结果出现了这样的问题:CON2跟LCD连接时,板子根本就无法启动,终端没有任何输出,板子上的LED不亮(已测得该情况下电源没问题);断开连接时,板子可以正常启动。请问这是怎么回事啊?
[ 此贴被yourbabyface在2008-04-20 22:46重新编辑 ]
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
17楼  发表于: 2008-04-20 23:42
引用第16楼yourbabyface于2008-04-20 22:18发表的  :
用的CON2,数据线控制线什么的都连接无误。结果出现了这样的问题:CON2跟LCD连接时,板子根本就无法启动,终端没有任何输出,板子上的LED不亮(已测得该情况下电源没问题);断开连接时,板子可以正常启动。请问这是怎么回事啊?


CON2上有所有的CPU地址和数据pin以及4个片选信号,就算是硬件连接正确,对Memory controller中LCD所用片选信号的配置一点点不正确都可能导致boot fail.
你可以用Jtag单步执行找到boot fail的原因
[ 此贴被kasim在2008-04-21 00:03重新编辑 ]
"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: 395
精华: 0
发帖: 31
金钱: 310 两
威望: 31 点
综合积分: 62 分
注册时间: 2008-03-26
最后登录: 2010-04-01
18楼  发表于: 2008-04-23 17:20
折腾了两天,修改过BANKCON4和BWSCON,结果还是不行。我了vivi的head.S,发现用BANK3的网卡在vivi里都没有对BANKCON3进行设置,是不是vivi 启动跟BANKCON0-5的设置无关?

现在不管对BANKCON4和BWSCON采用默认值还是修改过的值,vivi都可以启动,但是在引导内核的时候死了...下面是终端的打印信息:
VIVI version 0.1.4 (root@localhost.localdomain) (gcc version 2.95.3 20010315 (rT
MMU table base address = 0x33DFC000
Succeed memory mapping.
NAND device: Manufacture ID: 0xec, Chip ID: 0x76 (Samsung K9D1208V0M)
Found default vivi parameters
Press Return to start the LINUX now, any other key for vivi
Copy linux kernel from 0x00050000 to 0x30008000, size = 0x00200000 ... done
zImage magic = 0x016f2818
Setup linux parameters at 0x30000100
linux command line is: "noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttyS"
MACH_TYPE = 782
NOW, Booting Linux......
Uncompressing Linux...

到这里就死住了。
咋回事?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
19楼  发表于: 2008-04-23 20:46
关于Kenel启动fail,可以用这个补丁
http://www.aiothome.cn/bbs/read.php?tid=207&fpage=2&toread=&page=2
"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."
  • «
  • 1
  • 2
  • 3
  • »
  • Pages: 2/3     Go