s3c6410 arm移植实验三:tslib移植,ts_open:ts_open no such file or directory

ARM 401浏览

我的开发版是s3c6410,使用的内核版本是3.6.6,

tslib的移植,网上资料很多,一切设置都遵循网友的操作,按下不表。http://www.cnblogs.com/zuobaozhu/archive/2012/05/13/2498092.html

移植过后,执行ts_test的时候,出现ts_open:ts_open no such file or directory的错误。
原因是没有设备文件event0

mknod /dev/event c 13 64
没有效果。


在网上也查不到原因,那自己看吧!

先看tslib的configue:
./configure --help | less

发现一个配置项:
  --enable-input    Enable building of generic input raw module (Linux/dev/input/eventN support) (default=yes)

这可能有用,不过其设置默认的是yes的。不是
tslib的问题。

再看内核配置,“/touchscreen
找到:

  1. │ Symbol: INPUT_TOUCHSCREEN [=y]
  2.   │ Type : boolean │
  3.   │ Prompt: Touchscreens │
  4.   │ Defined at drivers/input/touchscreen/Kconfig:4 │
  5.   │ Depends on: !S390 && !UML && INPUT [=y]
  6.   │ Location:
  7.   │ -> Device Drivers │
  8.   │ -> Input device support │
  9.   │ -> Generic input layer (needed for keyboard, mouse, ...) (INPUT [=y])

这好像有点意思,看看。
在Hardware I/O ports内,选上Raw access to serio ports。

  1. Device Drivers --->
  2. Input device support --->
  3. Hardware I/O ports --->
  4. -*- Serial I/O support
  5. <*> Serial port line discipline
  6. <*> Raw access to serio ports

编译,启动,执行ts测试:

[root@zhangsh /]#ts_test
946715769.210148:    139    182      1
946715769.210148:    139    182      1
946715769.230164:    139    182      1
946715769.250137:    134    183      0
946715769.960141:    235    191      1
946715769.980156:    236    192      1
946715769.980156:    237    192      1
946715769.990145:    237    192      1
946715770.010136:    244    194      0

[root@zhangsh /]#ts_calibrate
xres = 480, yres = 272
Took 5 samples...
Top left : X = 12260 Y = 9650
Took 5 samples...
Top right : X = 4714 Y = 9901
Took 5 samples...
Bot right : X = 3980 Y = 6058
Took 6 samples...
Bot left : X = 12521 Y = 5975
Took 4 samples...
Center : X = 8185 Y = 8035
607.368164 -0.046983 0.003041
505.250244 -0.000929 -0.045623
Calibration constants: 39804480 -3079 199 33112080 -60 -2989 65536

竟然成功,有点瞎猫碰上死老鼠的味道,不管怎么样,网上查仅仅是一个手段,自己动作多试更有感觉啊。
多学习吧!