请问http://item.taobao.com/item.htm?spm=a230r.1.14.170.lUbqTg&id=43547275383&ns=1&abbucket=12#detail&qq-pf-to=pcqq.c2c 这块显示屏的驱动是否用这两段代码就够了,谢谢大神。
看一下makefile:
obj-$(CONFIG_TOUCHSCREEN_GSLX680) += rockchip_gslX680_firefly.o
obj-$(CONFIG_TOUCHSCREEN_GSLX680) += gsl_point_id.o
$(obj)/gsl_point_id.o: $(srctree)/$(obj)/gsl_point_id
cp $(srctree)/$(obj)/gsl_point_id $(obj)/gsl_point_id.o
大神你好,报错提示
scripts/Makefile.build:311: warning: overriding commands for target drivers/touchscreen/gsl_point_id.o' /home/gs/mlwk/ltib/rpm/BUILD/linux-3.0.35/drivers/touchscreen/Makefile:4: warning: ignoring old commands for target drivers/touchscreen/gsl_point_id.o’
make[2]: *** No rule to make target drivers/touchscreen/gsl_point_id.c', needed by drivers/touchscreen/gsl_point_id.o’. Stop.
这个SDK是?
zhansb 发表于 2015-3-31 11:38
这个SDK是?
你好,是在我们自己arm板上的linux(ltib),cpu是Freescale的
zhansb 发表于 2015-3-31 11:38
这个SDK是?
能用否?
求 gsl_point_id.c 文件。。。
楼主仔细看一下我贴出来的makefile
zhansb 发表于 2015-4-2 09:24
楼主仔细看一下我贴出来的makefile
你好, 就是按你的makefile写的,但make之后 有提示
scripts/Makefile.build:311: warning: overriding commands for target drivers/touchscreen/gsl_point_id.o' /home/gs/mlwk/ltib/rpm/BUILD/linux-3.0.35/drivers/touchscreen/Makefile:4: warning: ignoring old commands for target drivers/touchscreen/gsl_point_id.o’
make[2]: *** No rule to make target drivers/touchscreen/gsl_point_id.c', needed by drivers/touchscreen/gsl_point_id.o’. Stop.
文件夹中也没有生成gsl_point_id.o文件。我们这系统貌似一定要.c文件才能编译出ko吧。你们的系统做过什么调整么
没做特殊调整,主要是这个地方:
$(obj)/gsl_point_id.o: $(srctree)/$(obj)/gsl_point_id
cp $(srctree)/$(obj)/gsl_point_id $(obj)/gsl_point_id.o
zhansb 发表于 2015-4-2 10:43
没做特殊调整,主要是这个地方:
$(obj)/gsl_point_id.o: $(srctree)/$(obj)/gsl_point_id
cp $( …
假设成功编译的话,应该在文件夹下复制出.o文件吧
zhansb 发表于 2015-4-2 10:43
没做特殊调整,主要是这个地方:
$(obj)/gsl_point_id.o: $(srctree)/$(obj)/gsl_point_id
cp $( …
你好,可否详细解释下这两句代码? 抱歉我对shell脚本不是很懂。我在touchscreen目录下直接make含有您说的这两句代码的你们给出的Makefile文件,提示
make: Circular /gsl_point_id ← /gsl_point_id.o dependency dropped.
guoshuo 发表于 2015-4-2 15:04
你好,可否详细解释下这两句代码? 抱歉我对shell脚本不是很懂。我在touchscreen目录下直接make含有您说 …
这个是一个库文件编译进进去的,你的目录下有没有?
carlinluo 发表于 2015-4-2 16:11
这个是一个库文件编译进进去的,你的目录下有没有?
你好,这个文件有的。总共增加了4个文件: rockchip_gslX680_firefly.h, rockchip_gslX680_firefly.c, tp_suspend.h和 gsl_point_id,都放在了driver/input/touchscreen文件夹下,和你们给的源码位置一样。该文件夹下Makefile也按你们的源码做了修改。
编译提示:
make[3]: *** No rule to make target drivers/input/touchscreen/gsl_point_id.c', needed by drivers/input/touchscreen/gsl_point_id.o’. Stop.
追到/scripts/Makefile.build第310行,编译是要求提供.c后缀的源文件的,我看了你们/scripts下的Makefile.build,也是一样的。应该是不支持没有后缀名的文件作为源文件。不知道你们在Makefile中加入的两句是如何跳过系统的这个要求的。如果我在driver/input/touchscreen下直接make,提示gsl_point_id.o的circular dependency,不知道你们是怎么编译通过的。
guoshuo 发表于 2015-4-3 10:05
你好,这个文件有的。总共增加了4个文件: rockchip_gslX680_firefly.h, rockchip_gslX680_firefly.c, tp …
百度下,肯定可以的
我接手这个工作了,楼主去法国了。
我来说说我是怎么弄的,让后来人也好少走弯路。
在移植这个屏的时候需要注意的是,触控IC不一定是代码中所说的gsl3680,也有可能是 gsl1680/gslX1688,这个屏的I2C地址是 0x41
A. 调试最好从I2C调试开始,根据思立微的文档,该IC有2个地址 0x40或者0x41,这2个地址是根据芯片外围电路的不同而不同,不是同时可用的,这个可以看官方中文DataSheet,配套RK3288的屏,地址是0x41, 在未加载FW的情况下,芯片可以进行I2C通信。
B. 据FAE称,寄存器0xfc是该IC 的 ID寄存器(4个字节,高2个字节有效),gsl3680读出来应该是 0x8036****,配套RK3288的这个10寸屏读出来是 0xA088****,据FAE称,只有gsl1680或者gsl1688才会读出这个数值,因为不好拆开屏,我就没去计较了
C. 0xb0 应该是该IC的类似状态寄存器的存在,在加载FW后,读出来是 0x5a 5a 5a 5a
D. 在这边的平台上(imx6q),打印信息没显示出来,在查看中断和报点信息时,我使用了这个系统的打印语句( printk(KERN_ERR"***") ),没用print_info。
E. 在配置KConfig文件的时候,我是采用了将驱动直接链接到内核的方式(在KConfig菜单选择时按Y键),因为有个 gsl_point_id的存在(没有提供.c文件,就一个.o文件),我没法将这个驱动链接成单独的.ko文件(编译通不过,个人能力有限).
D.有个 tp_suspend.h的文件,也需要拷贝过来。
可以结帖了
感谢ml_user的分享
请问这个问题是怎么解决的,
guoshuo 发表于 2015-4-2 10:33
你好, 就是按你的makefile写的,但make之后 有提示
scripts/Makefile.build:311: warning: overriding …
这个问题我也遇到了,请问怎么处理的呢?