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 Setup for Embedded Arm board (Orange Pi One)

Qt Setup for Embedded Arm board (Orange Pi One)

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
17 Posts 3 Posters 8.4k 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.
  • A Offline
    A Offline
    andyowenwest
    wrote on last edited by
    #1

    My task is to develop a full-screen 'kiosk' style application that will run on an embedded Linux board.

    To keep costs down, I've chosen to use an Orange Pi One running Armbian Xenial

    Qt seemed like a good choice for development due to its superior capabilities compared to other alternatives I could think of such as tkinter. Further to this, I would like to configure Qt creator to streamline development.

    I have a laptop running both Windows 10 (x64) and Ubuntu 16.04 (x64). I am developing for an embedded linux machine so it makes sense to me to use ubuntu for development.

    I have quite a bit of experience using Linux but seem to be out of my depth configuring cross-compilation between my laptop and the Orange Pi One

    So far Ive tries multiple versions of Qt (4.8.6 and 5.11) and tried to use information from here to build for an allwinner H3 device (mali 400) that the Orange Pi One is based on. here

    From what I can see the installation process should be as follows:

    Install Qt on Host machine (laptop)
    Install Qt creator on host machine
    Install embedded system toolchain on host machine

    Install Qt on embedded machine

    I notice that in guides like this

    They mention multiple config options as follows:

    ./configure -release -opengl es2 -device linux-rasp-pi2-g++ -device-option CROSS_COMPILE=$TOOLCHAIN/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf- -sysroot $ROOTFS -prefix /usr/local/qt5
    

    How am I meant to know what these options are for my arm board?

    What is the correct install procedure to get cross compiling working and how can I obtain the toolchain / requirements I need for my board?

    Any help appreciated,

    Andy

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi and welcome to devnet,

      Usually the tool chain is provided by the board constructor or at least they should point you to what you should be using.

      As for the Qt options, if not already existing, you can copy a mkspec that matches your board closely and modify it with the options that would make it work the best there like cpu type / architecture etc.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      2
      • A Offline
        A Offline
        andyowenwest
        wrote on last edited by
        #3

        Thanks for your quick reply,

        apologies for my lack of knowledge, Im an electronics guy in a software world!

        From what I understand the toolchain should comprise

        Compiler (I have g++ for arm found here)
        Debugger (Not too sure what to use for this)
        Qt Version (Id like to use the most recent Qt version)

        What do you mean by the mkspec / where can I find it?

        Andy

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #4

          In this case, the tool chain is the compiler/linker/binutils combination to build application for your target. The usual debugger is gdb for Linux.

          It's the content of the mkspecs folder in your Qt installation. For example under the device subfolder, You'll find the linux-rasp-pi2-g++ that is used by the -device linux-rasp-pi2-g++ option you passed to the configure script.

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          2
          • A Offline
            A Offline
            andyowenwest
            wrote on last edited by
            #5

            I understand the toolchain part now, Im fairly sure I have the right files for that,

            But when you say about the mkspecs folder in my installation, Is that the Qt installation on the host machine, embedded machine or something else? Wouldn't I need those mkspecs to obtain a Qt installation?

            Apologies for the confusion

            jsulmJ 1 Reply Last reply
            0
            • A andyowenwest

              I understand the toolchain part now, Im fairly sure I have the right files for that,

              But when you say about the mkspecs folder in my installation, Is that the Qt installation on the host machine, embedded machine or something else? Wouldn't I need those mkspecs to obtain a Qt installation?

              Apologies for the confusion

              jsulmJ Offline
              jsulmJ Offline
              jsulm
              Lifetime Qt Champion
              wrote on last edited by
              #6

              @andyowenwest Your host Qt installation (cross compiled Qt).

              https://forum.qt.io/topic/113070/qt-code-of-conduct

              A 1 Reply Last reply
              1
              • A Offline
                A Offline
                andyowenwest
                wrote on last edited by
                #7

                Im just finding it hard to understand the steps to get this working,

                Looking at guides like this implys that embedded systems only support Qt 4

                I assume building from source is what I need to do?

                I cant seem to find any sort of 'getting started' guide

                1 Reply Last reply
                0
                • jsulmJ jsulm

                  @andyowenwest Your host Qt installation (cross compiled Qt).

                  A Offline
                  A Offline
                  andyowenwest
                  wrote on last edited by
                  #8

                  @jsulm I've found the mkspec folder, but how do I know what options to select from it?

                  Photo attached,

                  Thanks!

                  Photo

                  1 Reply Last reply
                  0
                  • A Offline
                    A Offline
                    andyowenwest
                    wrote on last edited by
                    #9

                    Is there any guide or instruction manual for this?

                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #10

                      This wiki entry might be of interest.

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      1 Reply Last reply
                      3
                      • A Offline
                        A Offline
                        andyowenwest
                        wrote on last edited by
                        #11

                        Thanks,

                        I've read that article before but the problem is lines like this:

                        "Once you have the tarball, extract it somewhere convenient for your normal user e.g. $HOME/development/qt-4.7.2, say. Change into the Qt source directory and configure Qt for an embedded host build with something along the lines of:"

                        The problem here being "something along the lines of"

                        It doesn't help me understand what the options should be,

                        Thanks again,

                        Andy

                        1 Reply Last reply
                        0
                        • A Offline
                          A Offline
                          andyowenwest
                          wrote on last edited by
                          #12

                          Further to my previous post, the 'build your own toolchain' link sends you to an article that is under construction (here)

                          1 Reply Last reply
                          0
                          • A Offline
                            A Offline
                            andyowenwest
                            wrote on last edited by
                            #13

                            As another point, that post is also for Qt 4.x.x

                            I cant seem to find Qt Everywhere for 5.11 forum post

                            Apologies for all the replies but due to the time zone difference I'm trying to get as many thoughts as I have down as possible

                            1 Reply Last reply
                            0
                            • SGaistS Offline
                              SGaistS Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on last edited by
                              #14

                              Now there's only one package for all platform whether desktop, mobile or embedded. Everything is available in the same sources.

                              Interested in AI ? www.idiap.ch
                              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                              1 Reply Last reply
                              1
                              • A Offline
                                A Offline
                                andyowenwest
                                wrote on last edited by
                                #15

                                I don't understand what you mean, I thought the two options were

                                1. Qt online installer (Not useful as my embedded system requires compiling from source to enable cross compilation)

                                2. Qt everywhere (Source files allowing for compilation on any machine regardless of architecture)

                                So therefore when you're talking about compiling from source, mkspecs etc I assume that means use Qt everywhere? For which 5.11 can be found here.

                                Thanks for helping me so far, I appreciate I've been asking a lot. I guess Qt is far more geared toward corporate use with teams of people trained in Linux, compiling from source etc. Id like to be able to learn how to do that, but with the little documentation available (incomplete, out of date, written assuming significant prior knowledge) It becomes a minefield for someone just starting out.

                                Thanks,

                                Andy

                                1 Reply Last reply
                                0
                                • SGaistS Offline
                                  SGaistS Offline
                                  SGaist
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #16

                                  I mean that in the Qt 4 times, there were separate packages for Desktop and Embedded use. With Qt 5, that's gone, there's only one source for all platforms whether they are Desktop, Mobile or Embedded. The link you posted is indeed where you can get the archive of the sources for the Qt 5.11.1 release.

                                  The project is not particularly geared toward corporate use. You can see for example the yocto project which provides means to create base images for a variety of devices. The problem you are hitting is that there's currently a whole lot of boards that exists and not all constructors take the time to provide a nicely integrated SDK or at least instructions to get started with cross-compilation.

                                  If the Orange Pi is a clone of the Raspberry Pi then you can likely follow the same instructions to get started. And as with most cross-compilation stuff, doing it from Linux is way easier than from Windows.

                                  Interested in AI ? www.idiap.ch
                                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                  1 Reply Last reply
                                  1
                                  • A Offline
                                    A Offline
                                    andyowenwest
                                    wrote on last edited by
                                    #17

                                    I understand that there are a lot of devices to cater for, but consdiering a lot are based on similar architecture ie. ARM v6, ARM v7, i386 etc I would have thought a generic guide for cross compilation would have been available with the information youve given me.

                                    Anyway, in the next few days ill try compiling the Qt 5.11 source on both my desktop pc and the ARM board and see how far I get, Ill report back with any progress. If I do get this to work ill be sure to write up a how-to guide including the information youve given me for others in my position.

                                    I have tried following guides for the raspberry pi but most seem to involve creating a custom image of raspbian which was not suitable for my board as the Allwinner H3 that the Orange Pi is based on is a mali 400 device whereas the raspberry pi has something completely different,

                                    Thanks

                                    Andy

                                    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