天嵌 ARM开发社区

 找回密码
 注册
查看: 2605|回复: 7

关于tq2440开发板自带的2.6.30.4内核的drivers/char目录,以EmbedSky开头的文件,触摸

[复制链接]
Marquis 发表于 2012-2-28 20:39:14 | 显示全部楼层 |阅读模式
大侠好,请问tq2440开发板自带的2.6.30.4内核的drivers/char目录,以EmbedSky开头的文件,我把它们复制到我下载的内核中,make menuconf时找不到他们啊(我在device drivers->character devices找的)。
我自己下的内核,按照移植文档的说明来的,编译出镜像,发现能在secure crt进入控制台,但开发板屏幕上只显示那个菜单项,触摸屏没反应。我怀疑是以上几个文件在捣鬼,可移植文档上没提啊。
大侠,帮帮忙吧!我都因为触摸痛苦好几天了。
附:
开机串口打印信息上Freeing init memory后未发现start qt.
tq2440 天嵌3.5寸屏,fedora10 ,交叉编译器是天嵌自带的,内核2.6.30.4
 楼主| Marquis 发表于 2012-2-28 22:42:00 | 显示全部楼层
搞了几个小时,修改了kconfig能在make menuconfg时看到那个device drivers->character devices->adc神马的啦,但是在make zImage 时提示错误说在两处定义了ADC_LOCK,一个在/drivers/char另一个在drivers/inuput,找了很久没找到啊。
急切需要知道ADC_LOCK的定义处,救救我吧!
.
回复

使用道具 举报

embedsky_lhh 发表于 2012-2-29 09:15:49 | 显示全部楼层
触屏驱动在\drivers\input\touchscreen下,主要驱动代码在tq2440_ts.c 中。drivers\char下的Embedsky_adc.c中声明了信号量ADC_LOCK ==》 DECLARE_MUTEX(ADC_LOCK);
回复

使用道具 举报

 楼主| Marquis 发表于 2012-2-29 10:06:50 | 显示全部楼层
找到ADC_LOCK啦。修改了一下,编译内核成功。
请问一下,关于触摸屏:
我发现自己移植内核后1.如果插上鼠标启动,则可以用。若开机后插上,则不行。2.触摸屏一直没反应,我试ts_calibrate时,不能open。刚刚偶然发现,天嵌提供的
“arch/arm/mach-s3c2440/mach-smdk2440.c”
static struct platform_device *smdk2440_devices[] __initdata = {
&s3c_device_usb,
&s3c_device_lcd,
&s3c_device_wdt,
&s3c_device_i2c,
&s3c_device_iis,
&s3c_device_usbgadget,
&s3c_device_ts,
&s3c_device_rtc,
};
看到ts啦,我下载的内核里没有&s3c_device_usbgadget,
&s3c_device_ts,
把这两行复制到我的内核中。arch/arm/mach-s3c2440/mach-smdk2440.c:285: error: 's3c_device_ts' undeclared here (not in a function)
make[1]: *** [arch/arm/mach-s3c2440/mach-smdk2440.o] 错误 1
make: *** [arch/arm/mach-s3c2440] 错误 2
急切盼望&s3c_device_ts,的解决方案
回复

使用道具 举报

 楼主| Marquis 发表于 2012-2-29 10:36:34 | 显示全部楼层
linux-2.6.30.4/arch/arm/mach-s3c2440下面有个mach-tq2440.c移植手册上好像没提,不知道这个文件干吗用的,不过按照天嵌提供的内核修改该文件以及make file和kconfig后依然未解决上面的错误:make zImage时出现的arch/arm/mach-s3c2440/mach-smdk2440.c:285: error: 's3c_device_ts' undeclared here (not in a function)
回复

使用道具 举报

 楼主| Marquis 发表于 2012-2-29 12:08:13 | 显示全部楼层
触摸屏搞定了!修改文件系统下的bin/qtopia
if[-f /sys/devices/virtual/input/input0/uvent]then

if[-f /sys/class/input/input0/uvent]then
再编译一下就行了。
仍然纠结于arch/arm/mach-s3c2440/mach-smdk2440.c:里的's3c_device_ts'
求解答
回复

使用道具 举报

embedsky_lhh 发表于 2012-2-29 13:21:12 | 显示全部楼层
mach-smdk2440.c 和 mach-tq2440.c 大同小异的,你配置的时候编译一个就行了
回复

使用道具 举报

 楼主| Marquis 发表于 2012-3-1 15:06:34 | 显示全部楼层
本帖最后由 Marquis 于 2012-3-1 15:09 编辑

1.请问ts_calibrate不能用啊,这个命令是不是应在内核里配置啊(我用的是天嵌自带的文件系统,sbin里有这个命令)
2.帖子如何设为已解决
回复

使用道具 举报

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

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-5-4 12:11 , Processed in 2.043740 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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