QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3206|回复: 10

s3c2410怎么实现触摸屏

[复制链接]
发表于 2010-11-10 22:24:18 | 显示全部楼层 |阅读模式
各位好!
我用的是Skyeye1.3.1,模拟的是s3c2410。现在已经实现了LCD,但是触摸屏不晓得怎么实现。
请问我该从哪得到Skyeye上s3c2410的触摸屏驱动,定制内核时需要做哪些修改,不尽感谢!
发表于 2010-11-11 11:00:40 | 显示全部楼层
原帖由 Matrix_Designer 于 2010-11-10 22:24 发表
各位好!
我用的是Skyeye1.3.1,模拟的是s3c2410。现在已经实现了LCD,但是触摸屏不晓得怎么实现。
请问我该从哪得到Skyeye上s3c2410的触摸屏驱动,定制内核时需要做哪些修改,不尽感谢! ...

你是怎么实现LCD的啊,我的出不来啊
回复

使用道具 举报

发表于 2010-11-11 11:01:52 | 显示全部楼层
ERROR: s3c2410x_io_write_word(0x4d000000) = 0x00000000
ERROR: s3c2410x_io_write_word(0x4d000004) = 0x00000000
ERROR: s3c2410x_io_write_word(0x4d00000 = 0x00000000
ERROR: s3c2410x_io_write_word(0x4d00000c) = 0x00000000
ERROR: s3c2410x_io_write_word(0x4d000010) = 0x00000000
ERROR: s3c2410x_io_write_word(0x4d000014) = 0x00000000
ERROR: s3c2410x_io_write_word(0x4d00001 = 0x00000000
ERROR: s3c2410x_io_write_word(0x4d00001c) = 0x00000000
ERROR: s3c2410x_io_write_word(0x4d000060) = 0x00000000
ERROR: s3c2410x_io_write_word(0x4d000050) = 0x00000000
ERROR: s3c2410x_io_write_word(0x4d000000) = 0x00000001
ERROR: s3c2410x_io_write_word(0x4d000000) = 0x00000778
ERROR: s3c2410x_io_write_word(0x4d000004) = 0x044fc041
ERROR: s3c2410x_io_write_word(0x4d00000 = 0x0030ef1e
ERROR: s3c2410x_io_write_word(0x4d00000c) = 0x00000d03
ERROR: s3c2410x_io_write_word(0x4d000010) = 0x00000809
ERROR: s3c2410x_io_write_word(0x4d000014) = 0x60780000
ERROR: s3c2410x_io_write_word(0x4d00001 = 0x60792c00
ERROR: s3c2410x_io_write_word(0x4d00001c) = 0x000000f0
ERROR: s3c2410x_io_write_word(0x4d000060) = 0x00000000
ERROR: s3c2410x_io_write_word(0x4d000050) = 0x00000000
ERROR: s3c2410x_io_write_word(0x4d000000) = 0x00000779
ERROR: s3c2410x_io_write_word(0x4d000000) = 0x00000778
ERROR: s3c2410x_io_write_word(0x4d000004) = 0x044fc041
ERROR: s3c2410x_io_write_word(0x4d00000 = 0x0030ef1e
ERROR: s3c2410x_io_write_word(0x4d00000c) = 0x00000d03
ERROR: s3c2410x_io_write_word(0x4d000010) = 0x00000809
ERROR: s3c2410x_io_write_word(0x4d000014) = 0x60780000
ERROR: s3c2410x_io_write_word(0x4d00001 = 0x60792c00
ERROR: s3c2410x_io_write_word(0x4d00001c) = 0x000000f0
ERROR: s3c2410x_io_write_word(0x4d000000) = 0x00000779
ERROR: s3c2410x_io_write_word(0x1900030a) = 0x00000000

出现这些错误,有人说是需要安装gtk相关包
可是我已经安装了gtk+这个包啊
回复

使用道具 举报

发表于 2010-11-11 11:29:37 | 显示全部楼层
安装完需要再重新编译一下SkyEye

Thanks
MK
回复

使用道具 举报

发表于 2010-11-11 11:30:36 | 显示全部楼层

回复 1# Matrix_Designer 的帖子

触摸屏的驱动需要找一下,以前在skyeye的gro网站上是有下载的。

Thanks
MK
回复

使用道具 举报

发表于 2010-11-11 12:00:04 | 显示全部楼层
原帖由 ksh 于 2010-11-11 11:29 发表
安装完需要再重新编译一下SkyEye

Thanks
MK

老大,我重新编译了啊,但是还是同样的错误提示。
难道RHEL5.4不支持吗
回复

使用道具 举报

发表于 2010-11-11 13:08:35 | 显示全部楼层
触摸屏驱动程序如附件。

本帖子中包含更多资源

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

×
回复

使用道具 举报

 楼主| 发表于 2010-11-12 09:40:10 | 显示全部楼层

回复 2# tiddy8 的帖子

LCD的移植见: http://blog.csdn.net/Matrix_Desi ... /10/18/5949298.aspx
你gtk+是安装Skyeye前就有的还是后来装的,如果是后来装要重装Skyeye
回复

使用道具 举报

 楼主| 发表于 2010-11-12 09:48:18 | 显示全部楼层

回复 7# ksh 的帖子

谢谢您提供的驱动。我将ts驱动文件ep7312_sys.h、skyeye_ts_drv.h、skyeye_ts_drv.c添加到内核,LCD由于我用的是linux自带的s3c2410 LCD驱动,就没用了。编译时有问题,修改文件skyeye_ts_drv.c,在#define DISABLE_PEN_IRQ   { INTSR &= ~EINT2; }的下面添加:
#ifndef MOD_DEC_USE_COUNT
#define MOD_DEC_USE_COUNT
#endif

#ifndef MOD_INC_USE_COUNT
#define MOD_INC_USE_COUNT
#endif

static inline int __deprecated verify_area(int type, const void __user * addr,
unsigned long size)
{
        return access_ok(type,addr,size) ? 0 : -EFAULT;
}

顺利编译,Skyeye的启动界面出现:
drivers/input/touchscreen/skyeye_ts_drv.c: SkyEye touch screen driver initialize
drivers/input/touchscreen/skyeye_ts_drv.c: Device register with name: skyeye touch screen and number: 10 9

原以为成功了,用skyeye_ts_drv.h里的测试程序测试失败,提示IRQ绑定失败,将PEN_IRQ_NUM由6改成16后,测试时提示硬件初始化完成,但是我点界面时就是收不到事件!

请问为s3c2410移植ts,irq号和io地址应该怎么修改,不尽感谢!
回复

使用道具 举报

 楼主| 发表于 2010-11-16 23:26:02 | 显示全部楼层
问题终于搞定,几经波折!
首先是Skyeye1.3.1默认没有注册触摸屏选项,所有其设备驱动代码不会加载,解决方法如http://blog.csdn.net/Matrix_Desi ... /10/18/5949713.aspx中的第五和第六项。修改后重新编译Skyeye可以在skyeye.conf文件中支持touchscreen选项。同样dbct选项现在也不支持,估计情况类似。
其次是s3c2410中的中断必须用虚拟中断号,并且其物理地址不能直接访问。
具体实现过程如http://blog.csdn.net/Matrix_Desi ... /11/16/6013645.aspx所示。
最终实现的触摸屏驱动没有处理中断重入,有点瑕疵,呵呵。有时间再搞吧
回复

使用道具 举报

发表于 2010-11-17 17:47:55 | 显示全部楼层
原帖由 Matrix_Designer 于 2010-11-16 23:26 发表
问题终于搞定,几经波折!
首先是Skyeye1.3.1默认没有注册触摸屏选项,所有其设备驱动代码不会加载,解决方法如http://blog.csdn.net/Matrix_Desi ... /10/18/5949713.aspx中的第五和第六项。修改后重新编译Skye ...

你厉害啊。
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-22 11:17 , Processed in 0.067729 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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