This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Set Up OMAP3EVM, TS-Libraries and QT Step by Step

Other Parts Discussed in Thread: AM3517

Hello Community,

The last weeks I got myself quite comfortable with the Omap3EVM Board. To be honest, it was a little bit time consuming to get an overview on how things are set up and how they are working together. Moreover, this was the first time I came in touch with Linux, so I had a lot of basic knowledge leaks I had to fix first. [:)] But hey,Rome wasn't built in a day neither[:D]

 

Well, since I'm going to implement some medical signal processing stuff here at University I was looking out for some possibilities to easily create a neat GUI and some C++ algorithms. I tried out a lot of things and available distros likewise Angstrom and Android. They might have served my purposes to implement some graphical stuff but I decided to use QT-Embedded instead. This is a nice UI framework for devices powered by embedded Linux. In fact, it does not require any kind of x-server since it directly works on the framebuffer.

Nonetheless, I found it not too easy to get these QT application working on our Omap3EVM board. But patience was a virtue again and now everything works [:P]

As I happen to make some detailed notes when approaching a new complex task, I just thought that they might help the one or two who make his very first experiences with the board. Do not regard them as a professional guide, I just copied them from my scratch, but they might save you some time anyway. So, this is not an attempt to rewrite the User's and Getting Started Guide provided by TI and Mistral but just a collection of steps and thoughts.

 

Set up Omap3EVM:

OmapHOSTTARGETConfigFirstSteps.pdf

 

Install TS-Libraries:

howtoTSLIB.pdf

 

Install QT

HowToQTEmbedded.pdf

 

Let me know if that helped you out [:H]

Regards,
Maik

 

  • Great work, I am certain these will be of help to other developers! I like both the condensed GSG as well as the TSLib and QT tutorials.

    One thought on these, you mention the TI wiki in there a few times which is great, I would encourage you to adjust or expand any articles that are on there with this sort of knowledge if you feel it would be helpful. The Wiki is open to public editors like yourself, so you could make these into articles, or perhaps expand on existing articles on the same topic with your content. For example your steps for TSlib would fit well in this TSlib article, and your steps for QT could help expand the building QT article. No pressure to actually do this though ;) the documents you have here are good as they are, thank you for putting them up!

  • Big thanks for trying to make a simple guide to getting this installed and running. It would fill a big void in documentation in this regard.

     I will write yet another one up because ... it doesn't work.

    1. Download ts-libraries. This one works :-) that is no problem
    2. Unzip on host. Already here the command does not work (not on my system!). This is relatively easy to fix. Just do the 2-step "bzip2 -d" and then "tar xvf" or figure out how to pipe bzip2 to tar if you feel like.
    3. Does this work? I don't know, luckily my system is already set up and I'm making programs already. I just need to graduate to using tslib... but there's no explanation as to what each directory should be, and I have no idea what the CONFIG_SITE parameter is or what it should be on my system. I "skipped" this step since it should be done for me already.
    4. Create configure. This does not work. Primarily because there is no "autogen" file in that archive. I assume it is "./autogen.sh", but unfortunately, this doesn't work either. I get a bunch of errors:
    >Can't exec "libtoolize": No such file or directory at /usr/bin/autoreconf line 188.
    Use of uninitialized value $libtoolize in pattern match (m//) at /usr/bin/autoreconf line 188.
    configure.ac:25: error: possibly undefined macro: AC_DISABLE_STATIC
    If this token and others are legitimate, please use m4_pattern_allow.
    See the Autoconf documentation.
    configure.ac:26: error: possibly undefined macro: AC_ENABLE_SHARED
    configure.ac:27: error: possibly undefined macro: AC_LIBTOOL_DLOPEN
    configure.ac:28: error: possibly undefined macro: AC_PROG_LIBTOOL
    autoreconf: /usr/bin/autoconf failed with exit status: 1

    Unfortunately, due to the above errors, I can't verify the following steps.

    However, I will try to debug and report back on how one should get this thing working...

  • For reference, I'm running Ubuntu 9.04

    1. Install Iibtool. Use whatever package manager is used for your distro. For example "sudo apt-get install libtool" on Ubuntu. Since this package isn't necessarily installed by default, and it isn't needed for building apps or the kernel, you may not have this already.
    2. Forget about the archived downloads. Not only for this thread, but other posts I've dug up around the web contain instructions that for some reason, just don't work on my system. Head straight to CVS. (Of course, if you do not have CVS, install it first. e.g. "sudo apt-get install cvs")
          export CVSROOT=:pserver:anoncvs@cvs.handhelds.org:/cvs
          cvs login
          cvs co apps/tslib
      When asked for a password, use "anoncvs". The final command will just checkout a copy of the source code into whatever directory you are in right now.
    3. Do as described in the document above about exporting the environment variables, if you have not done so already:
          export CC=/opt/omap3evm/toolchain/arm-2007q3/bin/arm-none-linux-gnueabi-gcc
          export CXX=/opt/omap3evm/toolchain/arm-2007q3/bin/arm-none-linux-gnueabi-g++
          export CONFIG_SITE=omap3evm.autogen
      Of course, replace the paths in the CC and CXX variables with wherever you placed the compiler (which will probably be similar to above depending on which version of the EVM User Manual you've been following).
    4. Drill down to the apps/tslib directory and enter the command:
           ./autogen.sh
      this should create a "configure" file which you can then run
    5. Don't just run "./configure", you will need some switches:
          ./configure --build=i386-linux --host=arm-none-linux-gnueabi target=arm --prefix=/omapevm_nfs
      The last switch "--prefix" just tells it where to dump the output files after you run "make". If you have NFS setup to the EVM (or whatever board you're using), it will be easiest to dump it there. Otherwise, you can also dump it into any directory on your host. You will just have to transfer it over to the EVM later. (For example, in my case, I need to create the entire filesystem to be flashed into NAND anyways, so I will dump it on my host first).
    6. Now you can run the make and install
          make
          make install
    7. At this point, you can continue to basically follow the guide pointed at by the original post.
      Find where you dumped the output files (in the above case, /omapevm_nfs) and dig into the "etc" directory to edit the "ts.conf" file. As described in the above guide, uncomment the line that says "module_raw input".
    8. On the EVM, that is, when you are booted at the command line and you're running Linux from OMAP, add these environment variables:
          export TSLIB_FBDEVICE=/dev/fb0
          export TSLIB_TSDEVICE=/dev/input/event1
          export TSLIB_CONFFILE=/etc/ts.conf
          export TSLIB_CALIBFILE=/etc/pointercal
          export TSLIB_CONSOLEDEVICE=none
    9. run "ts_calibrate" on the OMAP EVM. This file should've been populated after "make install". If you have dumped the files onto the host, then you will have to transfer not only this file, but also the lib files over. Basically copy everything that resulted from "make install". You should see 4 directories "bin", "etc", "include" and "lib", so to be safe, copy the contents over to the EVM (i.e. /bin, /etc, /include and /lib respectively). Of course, if you have setup an NFS file system on your EVM, you won't have to do this.

    That's it for now. This will be subject to change if/when I can get a real app compiled and running...

  • On my Debian 5.0 I had to install autoconf and libtool to build tslib since these two packages are not installed by default.

  • One more thing, on my AM3517 EVM I need to

    export TSLIB_PLUGINDIR=/lib/ts

    for tslib-1.0 to work.

    Also, I check which input -- TSLIB_TSDEVICE -- is the correct one with

    # cat /proc/bus/input/devices

    in my case the handler is event0.

  • Hello,

    I'm working with the AM3517, PSP 3.01.06.00 and Graphics SDK 3.01.07.00 and the Qt build process.

    I've followed the instructions above to supplement the info on the WIKI.

    I've reached the point where I can run and see the Qt demos appear on the LCD and have been able to run ts_calibrate. (I think)                  

    Q:  How would I know? (that ts-calibrate is working?)

    However, the Touchscreen on the AM3517 is not responding when I run the Qt-embedded / demos. 

    Actually, I'm not entirely sure what these demos should do or are capable of responding to touches on the screen?

    I noticed there is a multitouch example buried in the examples directory...does it REALLY do multi-touch?

    Is there a YOUTUBE recording of the Qt Demos ...something like this http://www.youtube.com/watch?v=vCByB1EGWqs that

    would show how the touchscreen should work with the demos and examples?

     

     

  • Q:  How would I know? (that ts-calibrate is working?)

    Run ts_test.

    In my case:

    Regards

  • Thanks for the tip on ts_calibrate and ts_test. 

    These both worked as expected.

    I later discovered that I omitted the WIKI steps below

    Target # export TSLIB_TSDEVICE=/dev/input/touchscreen0
    Target # export QWS_MOUSE_PROTO=Tslib:/dev/input/touchscreen0

    They need to be re-run each time I boot the demo.

  • Thanks for the TS-Guide!

    Some more hints (Numbers according to the pdf), I'm working on fresh Fedora13 installation btw

    2) leave out –bzip2 option

    5) i did it with ./configure --build=i386-linux --host=arm-none-linux-gnueabi target=arm --prefix=/home/<user>/

    those hints with malloc are SO clever. thanks for that!

    btw, if you have a correct installation of the GCC, then this does the trick, i put it in my .bashrc file

    export CC=gcc
    export CXX=g++
    export CONFIG_SITE=omap3evm.autogen

    10) segmentation fault can also be caused by a blank before "module_raw  input" line...

     

     

     

  • Hello:
    I understand this is a very old thread... but hear is my trouble.

    From this thread...
    http://e2e.ti.com/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.01.17.26/HowToQTEmbedded.pdf

    I have installed the Tslib.
    I have been attempting next to Install Qt embedded…

    In Miak’s HowToQTEmbedded.pdf (above) he mentions in step 4. note:
    this should run through without any error messages. Make sure that
    the tslib functionality test does not fail.

    Well, it is failing as in
    The tslib functionality test failed! You might need to modify the include and library search paths by editing QMAKE_INCDIR and QMAKE_LIBDIR in

    Please see:
    http://e2e.ti.com/support/embedded/f/354/p/112864/399896.aspx#399896
    For a expanded explanation of my problem... Thanks...