Difference between revisions of "DESK-MX-L-AN-0007: Getting Started With QT Creator"

From DAVE Developer's Wiki
Jump to: navigation, search
(32 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{InfoBoxTop}}
+
= Installing Qt Creator =
{{AppliesToAXEL Lite AN}}
+
To add this new toolchain to QTCreator, run it
{{InfoBoxBottom}}
 
{{WarningMessage|text=This application note was validated against specific versions of the kit only. It may not work with other versions. Supported versions are listed in the ''History'' section.}}
 
=History=
 
 
 
{| class="wikitable" border="1"
 
!Page version
 
!Date
 
!XELK version
 
!Notes
 
|-
 
|1.0.0
 
|March 2018
 
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK_software_components|XELK 3.0.0]]
 
|First release
 
|-
 
|{{oldid|8847|2.0.0}}
 
|August 2019
 
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK_software_components|XELK 4.0.0]]
 
|Updated XELK version
 
|-
 
|3.0.0
 
|August 2022
 
|{{pageoldid|DESK-MX6-L|15794|DESK-MX6-L 1.0.0}}
 
|DESK-MX6-L version
 
|}
 
 
 
= Introduction =
 
 
 
This application note details QT Creator setup and configuration in [[DESK-MX6-L|DESK-MX6-L]] [[Managed Virtual Machine (MVM)|MVM]]
 
 
 
= Setting up Qt Creator to build for DESK-MX6-L =
 
{{ImportantMessage|text=Note: The version of Qt Creator may differ from images below. The version used is the release is 4.4.1 which can be downloaded form [https://download.qt.io/archive/qtcreator/4.4/4.4.1/ Qt archive server]}}
 
 
 
== Qt Creator Installation ==
 
 
 
To install Qt Creator inside your toolchain launch a terminal emulator and run
 
 
 
<pre>
 
dvdk@vagrant:~$ cd desk-mx-l/
 
</pre>
 
<pre>
 
dvdk@vagrant:~/desk-mx-l$ ./qt-creator-opensource-linux-x86_64-4.4.1.run
 
</pre>
 
 
 
An installation wizard will appear. Clik '''Next''' to proced with the installation.
 
 
 
[[File:QtCreator-4.4.1_setup.png|400px|border|center]]
 
 
 
Select '''Skip'''.
 
 
 
[[File:QtCreator-4.4.1_skip.png|400px|border|center]]
 
 
 
Select '''Next'''.
 
 
 
[[File:QtCreator-4.4.1_next.png|400px|border|center]]
 
 
 
Select the install directory or click '''Next'''.
 
 
 
[[File:QtCreator-4.4.1_folder.png|400px|border|center]]
 
 
 
Select '''Next'''.
 
 
 
[[File:QtCreator-4.4.1_components.png|400px|border|center]]
 
 
 
Click '''Next''' again.
 
 
 
[[File:QtCreator-4.4.1_license.png|400px|border|center]]
 
 
 
And then click '''Install''' and complete the installation.
 
 
 
[[File:QtCreator-4.4.1_install.png|400px|border|center]]
 
 
 
Then '''Finish''' to exit the setup wizard.
 
 
 
[[File:QtCreator-4.4.1_finish.png|400px|border|center]]
 
 
 
== Manual configuration ==
 
 
 
If you don't want to use the automatic setup or want to customize the configuration, in this section we details all the step required.
 
 
 
=== Devices ===
 
 
 
Go to <code>Tools -> Options</code> menu:
 
 
 
[[File:QtCreator-4.4.1_tools-options.png|1000px|border|center]]
 
 
 
Select <code>Devices</code> and click '''Add''':
 
 
 
[[File:QtCreator-4.4.1_devices-add.png|700px|border|center]]
 
 
 
Choose the ''Generic Linux device'':
 
 
 
[[File:QtCreator-4.4.1_devices-linux-device.png|500px|border|center]]
 
 
 
Insert the IP address of your device, ''root'' as username and leave password empty (this is the default configuration of DESK-MX6-L root file systems). Make sure that the device is connected to the network and your virtual machine networking is correctly configured (see [[VirtualBox Network Configuration|this]] article for more details).
 
 
 
Then click '''Next''':
 
 
 
[[File:QtCreator-4.4.1_devices-linux-device-EVK.png|600px|border|center]]
 
 
 
The device will be created and the connectivity will be tested:
 
 
 
[[File:QtCreator-4.4.1_devices-linux-device-EVK-connect.png|600px|border|center]]
 
 
 
If everything went ok you should see a dialog like the image below.
 
 
 
[[File:QtCreator-4.4.1_devices-linux-device-EVK-test.png|500px|border|center]]
 
 
 
And finally, this is what the <code>Devices</code> window should look like.
 
 
 
[[File:QtCreator-4.4.1_devices-linux-device-EVK-configured.png|800px|border|center]]
 
 
 
=== GCC & Cross Compilation ===
 
 
 
Next you need to configure the cross compilation tool inside <code>Build & Run -> Compiler</code>.
 
 
 
[[File:QtCreator-4.4.1_devices-linux-build-and-run.png|800px|border|center]]
 
 
 
Click <code>Add -> GCC</code> and add the compiler path.
 
 
 
<pre>
 
/home/dvdk/desk-mx-l/sdk/latest_desk-mx6-l/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc
 
</pre>
 
 
 
And click '''Apply'''.
 
 
 
[[File:QtCreator-4.4.1_devices-linux-build-and-run-gcc.png|1200px|border|center]]
 
 
 
Do the same for the C++ cross compilation tool.
 
 
 
<pre>
 
/home/dvdk/desk-mx-l/sdk/latest_desk-mx6-l/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++
 
</pre>
 
 
 
[[File:QtCreator-4.4.1_devices-linux-build-and-run-g++.png|1200px|border|center]]
 
 
 
=== Debugger GDB ===
 
 
 
Now it is necessary to add a debugger. In order to do this go to the <code>Debuggers</code> tab and click '''Add''' and then select the GDB debugger at the location
 
 
 
 
<pre>
 
<pre>
/home/dvdk/desk-mx-l/sdk/latest_desk-mx6-l/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gdb
+
dvdk@vagrant-ubuntu-trusty-64:~$ cd axel/
 +
dvdk@vagrant-ubuntu-trusty-64:~/axel$ ./qt-creator-opensource.run
 
</pre>
 
</pre>
 +
An installation wizard will appear
  
and click '''Apply'''.  
+
[[File:QtCreator XELK 3 0 0 01.png|200px|border|center]]
  
[[File:QtCreator-4.4.1_devices-linux-build-and-run-gdb.png|1200px|border|center]]
+
Clik Next to proced the installation.
  
=== Qt Version ===
+
[[File:QtCreator XELK 3 0 0 02.png|200px|border|center]]
  
Next you need to add the Qt Version installed on your device. Go to <code>Qt Version</code> click '''Add''' and select the following qmake file.
+
Select Skip
  
 +
[[File:QtCreator XELK 3 0 0 03.png|200px|border|center]]
 +
Select Next
 +
[[File:QtCreator XELK 3 0 0 04.png|200px|border|center]]
 +
Select the install directory or click Next
 +
[[File:QtCreator XELK 3 0 0 05.png|200px|border|center]]
 +
Select Next
 +
[[File:QtCreator XELK 3 0 0 06.png|200px|border|center]]
 +
[[File:QtCreator XELK 3 0 0 07.png|200px|border|center]]
 +
[[File:QtCreator XELK 3 0 0 08.png|200px|border|center]]
 +
Now it is necessary to add the definition of your board before proceding developing your first application.
 +
For adding the board definition run
 
<pre>
 
<pre>
/home/dvdk/desk-mx-l/sdk/latest_desk-mx6-l/sysroots/x86_64-pokysdk-linux/usr/bin/qt5/qmake
+
dvdk@vagrant-ubuntu-trusty-64:~$ cd axel/
 +
dvdk@vagrant-ubuntu-trusty-64:~/axel$ ./qt-post-install.sh
 
</pre>
 
</pre>
 
[[File:QtCreator-4.4.1_devices-linux-build-and-run-qmake.png|1200px|border|center]]
 
 
=== Kits ===
 
 
The last step is to add a new kit. Go to <code>Kits</code> and click '''Add''' and complete the information as shown below. Pay attention that in <code>Qt mkspec</code> you need to write
 
 
<pre>
 
linux-oe-g++
 
</pre>
 
 
[[File:QtCreator-4.4.1_devices-linux-build-and-run-EVK.png|1200px|border|center]]
 
 
After this your setup is complete and you can proceed and create your Qt applications.
 
 
== Qt application example ==
 
 
 
Now that the setup is finished, you can create your first application
 
Now that the setup is finished, you can create your first application
 
+
Open a new terminal and source the enviroment variables with the command
Open a new terminal and source the environment variables with the command.
 
 
 
 
<pre>
 
<pre>
dvdk@vagrant:~/desk-mx-l$ source desk-mx6-l-1.0.0_env.sh
+
dvdk@vagrant-ubuntu-trusty-64:~$ ./env.sh
 
</pre>
 
</pre>
 
+
In the same terminal digit the following command if you diden't change the installation directory
In the same terminal type the following command (we assume you didn't change the default installation directory)
 
 
 
 
<pre>
 
<pre>
dvdk@vagrant:~$ ./qtcreator-4.4.1/bin/qtcreator
+
dvdk@vagrant-ubuntu-trusty-64:~$ ./qtcreator-4.3.0/bin/qtcreator
 
</pre>
 
</pre>
 
+
If the installation process went ok you should see inside the Tools->Options menu a Kits named XELK
{{ImportantMessage|text=It is important to repeat the previous two steps every time you start QTCreator}}
+
[[File:QtCreator XELK 3 0 0 09.png|400px|border|center]]
 
+
Select the Kits tab and make sure that your configurations mateches the one displayed
Now click on <code>New Project</code>
+
[[File:QtCreator XELK 3 0 0 10.png|400px|border|center]]
 
+
Close the tab and create a new project
[[File:QtCreator-4.4.1_project.png|1200px|border|center]]
+
[[File:QtCreator XELK 3 0 0 11.png|400px|border|center]]
 
+
Select Application Qt Widgets Application and click Choose...
Select Application Qt Widgets Application and click '''Choose...'''
+
[[File:QtCreator XELK 3 0 0 12.png|400px|border|center]]
 
+
Now call the name Test and pres Next
[[File:QtCreator-4.4.1_new-project.png|800px|border|center]]
+
[[File:QtCreator XELK 3 0 0 13.png|400px|border|center]]
 
+
Select the XELK Kit and click Next
Now call the Project ''Test'' and press '''Next'''.
+
[[File:QtCreator XELK 3 0 0 14.png|400px|border|center]]
 
+
Choose the class name for your application
[[File:QtCreator-4.4.1_new-project-test.png|800px|border|center]]
+
[[File:QtCreator XELK 3 0 0 15.png|200px|border|center]]
 
+
Click finish and conclude the setup
Select the ''SBC AXEL EVK'' and click '''Next'''.
+
[[File:QtCreator XELK 3 0 0 16.png|400px|border|center]]
 
+
Now you will add a button to your application. In order to do this, select from the Edit window and select Test->Forms->mainwindow.ui
[[File:QtCreator-4.4.1_new-project-SBC-AXEL-EVK.png|800px|border|center]]
+
[[File:QtCreator XELK 3 0 0 17.png|400px|border|center]]
 
+
To add a Push Button click on Push Button in the Buttons tab and drag it to the main widown view. In order to edit the text displayed by the label, dubble click it and write "Hello World!"
Choose the ''class'' name for your application.
+
[[File:QtCreator XELK 3 0 0 18.png|400px|border|center]]
 
+
After that, you need to insert the following line inside the Test.pro file
[[File:QtCreator-4.4.1_new-project-SBC-AXEL-EVK-class.png|800px|border|center]]
 
 
 
Click '''Finish''' to conclude the setup.
 
 
 
[[File:QtCreator-4.4.1_new-project-SBC-AXEL-EVK-finish.png|800px|border|center]]
 
 
 
To add a clickable button to your application, select the <code>Edit</code> window and select <code>Test -> Forms -> mainwindow.ui</code>
 
 
 
[[File:QtCreator-4.4.1_project-Test-MainWindow.png|1200px|border|center]]
 
 
 
Click on Push Button in the Buttons tab and drag it to the main window view. In order to edit the text displayed by the label, double click it and write ''"Hello World!"''.
 
 
 
[[File:QtCreator-4.4.1_project-Test-MainWindow-Pushbutton.png|1200px|border|center]]
 
 
 
After that, you need to insert the following two line inside the ''Test.pro'' file
 
 
 
 
<pre>
 
<pre>
target.path = /home/root/Test # path on device
+
target.path = /tmp/Test # path on device
 +
INSTALLS += target
 
</pre>
 
</pre>
 +
Where /temp/Test is the path in which your application will be dowloaded inside the device
 +
[[File:QtCreator XELK 3 0 0 19.png|400px|border|center]]
 +
The last step before running the application inside the device is to select the Project window select the Run configuration and as Arguments
 
<pre>
 
<pre>
INSTALLS += target
+
-platform eglfs
 
</pre>
 
</pre>
 
+
[[File:QtCreator XELK 3 0 0 20.png|400px|border|center]]
Where <code>/home/root/Test</code> is the path in which your application will be downloaded inside the device.
+
After these changes you are ready to debug your application directly inside your board with the Run/Debug command
+
[[File:QtCreator XELK 3 0 0 21.png|400px|border|center]]
[[File:QtCreator-4.4.1_project-Test-MainWindow-TestPro.png|1200px|border|center]]
 
 
 
Build the project in order to complete the configuration and set the overall vars:
 
 
 
[[File:QtCreator-4.4.1_project-Test-MainWindow-Build.png|1200px|border|center]]
 
 
 
The last step before running the application inside the device is to configure Qt backend into application command line arguments: open the <code>Project</code> window and select the <code>Run</code> configuration, then type <code>-platform eglfs</code> into <code>Arguments</code>
 
 
 
[[File:QtCreator-4.4.1_project-Test-MainWindow-eglfs.png|1200px|border|center]]
 
 
 
After these changes you are ready to debug your application inside your board with the <code>Run/Debug</code> command [[File:QtCreator XELK 3 0 0 35.png|30px]]
 
 
 
[[File:QtCreator-4.4.1_project-Test-MainWindow-debug.png|1200px|border|center]]
 
 
 
The debugger (via <code>gdb server</code>) will be activated and the debug window will be ready:
 
 
 
[[File:QtCreator-4.4.1_project-Test-MainWindow-debug-running.png|1200px|border|center]]
 

Revision as of 16:54, 21 February 2018

Installing Qt Creator[edit | edit source]

To add this new toolchain to QTCreator, run it

dvdk@vagrant-ubuntu-trusty-64:~$ cd axel/
dvdk@vagrant-ubuntu-trusty-64:~/axel$ ./qt-creator-opensource.run

An installation wizard will appear

QtCreator XELK 3 0 0 01.png

Clik Next to proced the installation.

QtCreator XELK 3 0 0 02.png

Select Skip

QtCreator XELK 3 0 0 03.png

Select Next

QtCreator XELK 3 0 0 04.png

Select the install directory or click Next

QtCreator XELK 3 0 0 05.png

Select Next

QtCreator XELK 3 0 0 06.png
QtCreator XELK 3 0 0 07.png
QtCreator XELK 3 0 0 08.png

Now it is necessary to add the definition of your board before proceding developing your first application. For adding the board definition run

dvdk@vagrant-ubuntu-trusty-64:~$ cd axel/
dvdk@vagrant-ubuntu-trusty-64:~/axel$ ./qt-post-install.sh

Now that the setup is finished, you can create your first application Open a new terminal and source the enviroment variables with the command

dvdk@vagrant-ubuntu-trusty-64:~$ ./env.sh

In the same terminal digit the following command if you diden't change the installation directory

dvdk@vagrant-ubuntu-trusty-64:~$ ./qtcreator-4.3.0/bin/qtcreator

If the installation process went ok you should see inside the Tools->Options menu a Kits named XELK

QtCreator XELK 3 0 0 09.png

Select the Kits tab and make sure that your configurations mateches the one displayed

QtCreator XELK 3 0 0 10.png

Close the tab and create a new project

QtCreator XELK 3 0 0 11.png

Select Application Qt Widgets Application and click Choose...

QtCreator XELK 3 0 0 12.png

Now call the name Test and pres Next

QtCreator XELK 3 0 0 13.png

Select the XELK Kit and click Next

QtCreator XELK 3 0 0 14.png

Choose the class name for your application

QtCreator XELK 3 0 0 15.png

Click finish and conclude the setup

QtCreator XELK 3 0 0 16.png

Now you will add a button to your application. In order to do this, select from the Edit window and select Test->Forms->mainwindow.ui

QtCreator XELK 3 0 0 17.png

To add a Push Button click on Push Button in the Buttons tab and drag it to the main widown view. In order to edit the text displayed by the label, dubble click it and write "Hello World!"

QtCreator XELK 3 0 0 18.png

After that, you need to insert the following line inside the Test.pro file

target.path = /tmp/Test # path on device
INSTALLS += target

Where /temp/Test is the path in which your application will be dowloaded inside the device

QtCreator XELK 3 0 0 19.png

The last step before running the application inside the device is to select the Project window select the Run configuration and as Arguments

-platform eglfs
QtCreator XELK 3 0 0 20.png

After these changes you are ready to debug your application directly inside your board with the Run/Debug command

QtCreator XELK 3 0 0 21.png