Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Qt on embedded platforms and "QT for embedded linux"
QtWS25 Last Chance

Qt on embedded platforms and "QT for embedded linux"

Scheduled Pinned Locked Moved Mobile and Embedded
10 Posts 2 Posters 9.3k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • AlicemirrorA Offline
    AlicemirrorA Offline
    Alicemirror
    wrote on last edited by
    #1

    As I read on docs, forum, blogs etc, I understood that is possible to configure QT-Creator suite with a modified retail version to compile on embedded linux platforms, and I imagine this is the case where the platform itself include a linux version with X11.

    There is also a QT for embedded linux that is an alternative to the X11. Does someone know why this is a commercial version only (http://qt.nokia.com/downloads/evaluations/embedded-linux-cpp) ? Ore there is something I don't understood / missed?

    Enrico Miglino (aka Alicemirror)
    Balearic Dynamics
    Islas Baleares, Ibiza (Spain)
    www.balearicdynamics.com

    1 Reply Last reply
    0
    • Z Offline
      Z Offline
      ZapB
      wrote on last edited by
      #2

      You can configure the usual qt-everywhere package such that it cross-compiles for your target platform (as long as your cross-compiling toolchain is working of course).

      When working with embedded projects I have (at least) 3 builds of Qt on the go:

      Normal X11 build of desktop Qt (well my entire KDE desktop uses this as does qt-creator)

      Host platform build of Qt embedded. This can be run locally but uses the virtual frame buffer for display rather than X11.

      Target platform build of Qt embedded. This is what I build against and copy onto the target device.

      To build the host embedded version I use something like this to configure Qt:

      @
      ./configure -prefix /usr/local/qt-embedded
      -embedded -qt-gfx-linuxfb -qt-gfx-qvfb
      -qt-gfx-vnc -no-largefile -exceptions -no-accessibility
      -no-qt3support -qt-zlib -no-gif -no-libtiff
      -qt-libpng -no-libmng -qt-libjpeg
      -openssl -no-nis -no-cups -no-pch -depths 8,16,18,32
      -qt-kbd-tty -qt-kbd-qvfb -qt-kbd-linuxinput
      -qt-mouse-linuxinput -qt-mouse-qvfb -qt-mouse-pc
      -commercial -confirm-license -silent
      @

      followed by the usual make && make install.

      And for the target built I use:

      @
      ./configure -xplatform qws/linux-i486-g++ -embedded x86 -prefix /usr/i486-pc-linux-gnu/usr/local/qt-embedded
      -qt-gfx-linuxfb -qt-gfx-vnc
      -no-largefile -exceptions -no-accessibility -no-qt3support -no-sse2 -qt-zlib -no-gif -no-libtiff
      -qt-libpng -no-libmng -qt-libjpeg -openssl -no-nis -no-cups -depths 16
      -qt-kbd-linuxinput -nomake demos -nomake examples
      -qt-mouse-linuxinput -qt-mouse-tslib
      -commercial -confirm-license -silent
      @

      You can then build your app against the version that is most useful at the time. Usually the host embedded build until you are ready to try it on your device.

      When running apps built against the host embedded build I launch the qvfb application and then my app and pass in the -qws argument on the command line. The app then gets displayed inside of the qvfb app as if that was my device.

      Feel free to come back with more questions if you need any more info.

      Nokia Certified Qt Specialist
      Interested in hearing about Qt related work

      1 Reply Last reply
      0
      • AlicemirrorA Offline
        AlicemirrorA Offline
        Alicemirror
        wrote on last edited by
        #3

        Thank you, you are great!!!

        If you like I can tell you more about what I am doing by mail, else asap next days I startup a public project about these developments.

        At the actual date, I am planning the best (and right) way to develop with a new platform based on NXP Arm processor LPC3250. The clear explanation you wrote - very very useful!!! - clarify and well describe what I had in mind and what I was supposing.

        As a matter of fact there is another way, I saw and I am undecided what "top" way I can follow.

        What you have wrote implies that there is a linux embedded on the board (I am using ltib toolchain that is working fine) that include an X11 environment so the environment can host the Qt embedded aplications.

        The other way - I have no informations, I only know that it is a possibility - is to create a Qt-graphic environment as an alternative to the X11 delivered with ltib toolchain (that is twi based on framebuffer display and touch screen device ad main input device). What do you know about this alternate choice?

        Or, reading your post, this is a complete alternate way to X11 that became and excluded package remaining on my embedded linux only the fb drivers?

        Many thanks.

        Enrico Miglino (aka Alicemirror)
        Balearic Dynamics
        Islas Baleares, Ibiza (Spain)
        www.balearicdynamics.com

        1 Reply Last reply
        0
        • Z Offline
          Z Offline
          ZapB
          wrote on last edited by
          #4

          Yes I am keen to hear what embedded project you are working on.

          Since your embedded system has a working X11 you can choose to go either way:

          • cross compile Qt-X11 (ie desktop build) for your target device. To do this you will need to either have a cross-compiling toolchain and all needed headers and libs on your build machine or you will need a compiler on your target device.

          • Use the approach I described above and run Qt-embedded using the Linux Frame Buffer and the QWS window system (supplied by Qt).

          The decision is up to you. Some things to consider:

          • Does your device have enough memory to run a full X11 session lus your app?
          • What sort of boot time do you need. Using Qt-embedded will mean you can get your app up and running faster than if you use X11. We use a Linux kernel plus an initramfs containing a simple startup script and our application. This allows startup times of only a few seconds (depending on what your app needs of course).
          • Is you app the only one running on the system or does it need to interact with other X11 apps?
          • Do you need OpenGL acceleration? Does yoru board provide OpenGL ES drivers or do you only have X11 OpenGL drivers?

          Good luck!

          ps I'll write up the embedded building guidelines on the wiki at some point.

          pps I found that the Gentoo tool crossdev is really awesome for setting up a cross-toolchain.

          Nokia Certified Qt Specialist
          Interested in hearing about Qt related work

          1 Reply Last reply
          0
          • Z Offline
            Z Offline
            ZapB
            wrote on last edited by
            #5

            For info, I have started writing up a series on Qt for Embedded Linux on the "wiki":http://developer.qt.nokia.com/wiki/Qt_for_Embedded_Linux. Still lots more to do yet but it's a start...

            Nokia Certified Qt Specialist
            Interested in hearing about Qt related work

            1 Reply Last reply
            0
            • AlicemirrorA Offline
              AlicemirrorA Offline
              Alicemirror
              wrote on last edited by
              #6

              Thank you again ZapB!

              I have thought about your suggestions and I have also found what you means: Qt for linux, that is the right alternative to other graphic interfaces like twm. The toolchain I use is ltib, while the embedded platform is based on LPC 3250.

              At the actual date, I have not yet posted nothing on the forum nokia, but I have the development board that works withXephyr installed on it. I think that in effect the approach you suggest to use Qt as the graphic environment should be the best choice saving memory. And probably saving time too.

              Do you think that a group on embedded development can be useful on developer forum here?

              Later I read the wiki pages, then I tell you about.

              Enrico Miglino (aka Alicemirror)
              Balearic Dynamics
              Islas Baleares, Ibiza (Spain)
              www.balearicdynamics.com

              1 Reply Last reply
              0
              • Z Offline
                Z Offline
                ZapB
                wrote on last edited by
                #7

                Yes an embedded group could be potentially useful.

                Nokia Certified Qt Specialist
                Interested in hearing about Qt related work

                1 Reply Last reply
                0
                • AlicemirrorA Offline
                  AlicemirrorA Offline
                  Alicemirror
                  wrote on last edited by
                  #8

                  Yep! It's a very good opening that wiki. Can I participate? It maybe useful beside your guide some pages that report examples of a real work while it is done ?

                  Enrico Miglino (aka Alicemirror)
                  Balearic Dynamics
                  Islas Baleares, Ibiza (Spain)
                  www.balearicdynamics.com

                  1 Reply Last reply
                  0
                  • Z Offline
                    Z Offline
                    ZapB
                    wrote on last edited by
                    #9

                    Of course. It is an open wiki so feel free.

                    Nokia Certified Qt Specialist
                    Interested in hearing about Qt related work

                    1 Reply Last reply
                    0
                    • AlicemirrorA Offline
                      AlicemirrorA Offline
                      Alicemirror
                      wrote on last edited by
                      #10

                      Sure, I know that it is an open wiki, but a minimum of coordination can help so the wiki is readable also for the community

                      Enrico Miglino (aka Alicemirror)
                      Balearic Dynamics
                      Islas Baleares, Ibiza (Spain)
                      www.balearicdynamics.com

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved