[solved] why the Qt program is used libts-0.0.so.0 in mini2440?
-
at first my program has a click when it clicked show a message to say hello but the touch not worked. i think maybe my program has error. so i make a simple program to just show a simple label. but when i run it . the mouse is place the center screen and dose not change the location when i touch the display.
-
Place a button or something that accepts a click and then test your program. Don't pay attention to the cursor you see. If you don't have a window manager (which is very likely considering you are using an ancient arm device) then your cursor might not move around because there's no program to handle that for you. Remember everything is a software. It doesn't come by itself. So if you place a button or any widget that reacts to click events in your software, Does that work?
-
Hi and thanks for reply @morkia @SGaist . (and Sorry cause I am so busy because changing my home and cant see this topic)
@morkia : I said that my first program is a window with a button. when i clicked the button show message. but nothing worked in my app (just display the window with button). I guessed maybe the ARM device does not support the QmessegeBox. so I changed my app to a simple hello word with a simple label. but the touch not worked. (that program with message box is worked on tiny6410)
@SGaist : I called my program like this:cd /udisk/
./prj3 -qwsbut just display my app with no touch. my last Topic
-
I could help you better if you would tell me what kind of Linux you are using and how you installed it on your board. I might tell you how to build a Linux for your board here, But first I should know if it's done correctly. All I can sense from here is an incorrectly configured installation of Linux. Tell me if you are interested.
-
@morkia said:
If you don't have a window manager (which is very likely considering you are using an ancient arm device)
Again, this part has not much to do with the age of the device, Qt for Embedded Linux with the Qt Windowing System was already running on ARM devices more than 10 years ago.
Part of the problem is here is that just saying -qws doesn't tell Qt that you have a touch screen at hand. You need to tell it that you are using TSLib. It's described here
-
@SGaist Yes but in my personal experience It's better to use a window manager like tiny X. Also since Qt is usually compiled from source for such cases, it's difficult for new and inexperienced users to get it to work right i.e. supplying proper configurations etc.
This is the reason I'm continuously asking her to tell me how she has built the Linux for her device. If she uses X, then she won't have to worry about input device handling. It simply becomes transparent to her.
by that statement I meant the way Linux is usually built and deployed on devices like hers.
-
@morika : Hi and thanks. I really want to know how to enable touch and understand the ARM structure.
I could help you better if you would tell me what kind of Linux you are using
[root@FriendlyARM /]# uname -a
Linux FriendlyARM 2.6.32.2-FriendlyARM #16 Tue Dec 23 15:08:43 CST 2014 armv4tl unknownhow you installed it on your board
like the other website says : connect it with serial port and usb. in DNW set the port . press the key :
x
f
v->supervivi128
q
->change the kernel size and root size and set param to mtdblock3
k->load zImage_T35(the screen type)
y->rootf about 85MB
b->boot the Linux.
the the Linux is installed.@SGaist : really thanks.
by that topic link :
[root@FriendlyARM /]# ls -la /dev/input
drwxr-xr-x 2 root root 0 Jan 1 08:00 .
drwxr-xr-x 7 root root 0 Jan 1 08:00 ..
crw-rw---- 1 root root 13, 64 Jan 1 08:00 event0
crw-rw---- 1 root root 13, 63 Jan 1 08:00 miceI changed them by the last code in that topic : chmod a+rw /dev/input/mouse0 ( i have mice instead of mouse0 so edit it)
[root@FriendlyARM /udisk]# ls -la /dev/input
drwxr-xr-x 2 root root 0 Jan 1 08:00 .
drwxr-xr-x 7 root root 0 Jan 1 08:00 ..
crw-rw-rw- 1 root root 13, 64 Jan 1 08:00 event0
crw-rw-rw- 1 root root 13, 63 Jan 1 08:00 micebut no touch again. ( ts_calibrate worked but my application touch not work)
Part of the problem is here is that just saying -qws doesn't tell Qt that you have a touch screen at hand.
I think I don't understand it !!the device demo is worked with this parameter./fluidluncher -qws -> this is worker completely even touch work.
-
ARM is just a processor architecture, you can find yourself having the exact same problem on x86. What matters more is the distribution you use as well as the kernel.
Did you compile fluidlauncher yourself ?
-
No, not your compiler, just trying to narrow down the sources of your problem. Are you using a custom compiled Qt or the same provided on your board ?
-
@SGaist : I used arm-linux-gcc4.4.3 and qt4.6.3. I downloaded from internet.
In most sites i saw for tiny6410 at first install tslib( and also mini2440) but in tiny6410 pdf does not do that. I install everything exactly like pdf. and everything is worked ( without tslib installation ). and my app is worked perfectly over tiny6410 ( the touch is work too). I wanna to say is it possible my device (mini2440) have problem or another problem ? I am so confused. O.o -
You should check for the differences between the two hardware and software wise
-
@MhM93 I suggest you build yourself a Linux using buildroot. The pdf file supplied with the board might not be accurate and/or complete. Are you using the demo root file system image supplied with your board or you have compiled it yourself? It should be a rootfs.yaffs or something similar. Don't use the demo rootfs supplied. Compile it yourself. Check buildroot out. I suggest using the versions below 2013 and also select CodeSourcery tool chain because the GCC compiler didn't produce the correct binaries (probably due to some incorrect configurations either within buildroot make files or something else.). If you wanted a more detailed howto then let me know.
-
for starters search "buildroot" in google. Go to their website or go here directly. pick a version you like but I recommend the ones below 2013 because the higher versions didn't work for me. Download and extract it then go in the directory in which you extracted the archive and type
make menuconfig
(it might complain aboutncurses
in that case installlibncurses
I installed it using this command:sudo apt-get install libncurses5
). Choose the packages and configurations and then press Escape key untill you are prompted to save changes then say yes and simply do amake
. Remember to choose proper toolchain and compiler before. If you have any further questions feel free to ask here.