Note d utilisation de la suite Logicielle QTcréator pour La distribution angstrom sous Beagleboard PAGE 1
L environnement de QTcreator 1. Configuration de l environnement Après avoir installé le cross compilateur pour la carte Beagleboard pour la plateforme RTLINUX Angstrom (processeur DM3730 avec cœur ARMV7A), il nous faut prendre en compte ce nouveau compilateur dans QTCREATOR. Dans le menu option outils Cliquez sur ajoutez et allez chercher le compilateur dans le fichier qmake /opt/qt-dm3730/bin/qmake. Donnez comme nom de version Beagleboard 4.7.4 Toujours dans la fenêtre précédente faire les 3 opérations suivantes pour notre chaine d outils PAGE 2
Toujours dans la fenêtre précédente faire les opérations suivantes pour notre carte cible. La communication entre la carte cible et le PC Hôte LINUX se fera sous le protocole SSH. Créer un nouveau projet et choisir un simple projet en C PAGE 3
Donnez un nom au projet : Continuez par suivant : PAGE 4
Ne rien changez puis suivant : Dans outils options configurez le type de compilateur beagleboard 4.74 mode release : PAGE 5
Dans outils options configurez le type de d environnement d exécution (cliquez sur ajoutez) : Le répertoire distant ou sera exécuté l exécutable n est pas encore défini nous allons le choisir Revenir à gauche dans la rubrique debogage Et modifiez le fichier GPIO.pro par le script page suivante PAGE 6
On souhaite exécuter l applicatif sur un périphérique distant, Revenir dans projet à gauche puis dans paramètre d exécution, cochez les bonnes cases En ouvrant une console vérifiez si notre carte est bien connectée au réseau par un ping : PAGE 7
Il est possible de se connecter en mode console sur la carte cible en utilisant le protocole SSH. Tapez la commande ssh root@ip, le password par défaut est root A partir de cette étape on peut compiler notre programme La fenêtre de compilation nous donne les éventuelles erreurs de compilation : Vérifiez si l exécutable est bien en mode release dans le menu du bas : PAGE 8
Lancez l exécution avec le bouton lecture Le résultat de l exécution est donné dans la fenêtre suivante : Il est possible d exécuter l applicatif en mode console. Revenir sur la console ou on a établi la communication en mode ssh avec la carte cible. Naviguez vers le répertoire ou se situe l applicatif (/home/root) Puis tapez./gpio PAGE 9
Première étape de débogage avec QML Se mettre en mode debug Puis dans projet paramètres d exécution : Commencez le debogage : PAGE 10
Deuxième étape de débogage avec GDBSERVER Lancez le serveur GDB sur la carte cible Sur le PC HOTE lancez le débogage Complétez les champs manquants : PAGE 11
Lancez l exécutable INFORMATIQUE DES SYSTEMES ET DES RESEAUX EMBARQUEES 11/07/2013 On voit le mode console avec les résultats du printf PAGE 12
Annexe 1 : Installation du cross compilateur QT creator Pour la carte Beagleboard (RTOS angstrom) Installez la version de LINUX 12.04 sur VMWARE Téléchargez la version de QTCREATOR qt-sdk-linux-x86-opensource-2010.05.1.bin et le CROSS compilateur la chaine d outil : angstrom-2011.03-i686-linux-armv7a-linux-gnueabi-toolchain-qte-4.6.3.tar.bz2 Qt Embedded : qt-everywhere-opensource-src-4.7.4.tar.gz Ouvrir une console et se mettre en mode root Sudo i Mettre à jour et installe les librairies sudo apt-get install libgmp3-dev libmpfr-dev zlib1g-dev libncurses5-dev Modifiez les droits du fichier exécutable chmod u+x qt-sdk-linux-x86-opensource-2010.05.1.bin Installez QTCréator./qt-sdk-linux-x86-opensource-2010.05.1.bin Va dans le répertoire de téléchargement et commence : sudo tar xvj C / -f angstrom-2011.03-i686-linux-armv7a-linux-gnueabi-toolchain-qte-4.6.3.tar.bz2 Dézippe le fichier tar que tu as téléchargé, Va dans le répertoire de téléchargement et commence : tar xvzf qt-everywhere-opensource-src-4.7.4.tar.gz Va dans le répertoire qt-everywhere-opensource-src-4.7.4 : : cd qt-everywhere-opensource-src-4.7.4 Fait un nouveau répertoire mkspecs pour le processeur BeagleBoard : cp R mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-dm3730-g++/ Se connecter en root mode graphique gksudo nautilus Edite le fichier /mkspecs/qws/linux-dm3730-g++/qmake.conf PAGE 13
Modifie son contenu : INFORMATIQUE DES SYSTEMES ET DES RESEAUX EMBARQUEES 11/07/2013 # # qmake configuration for building with arm-linux-g++ # include(../../common/g++.conf) include(../../common/linux.conf) include(../../common/qws.conf) # modifications to g++.conf #Toolchain #Compiler Flags to take advantage of the ARM architecture QMAKE_CFLAGS_RELEASE = -O3 march=armv7-a mtune=cortex-a8 mfpu=neon mfloatabi=softfp QMAKE_CXXFLAGS_RELEASE = -O3 march=armv7-a mtune=cortex-a8 mfpu=neon mfloatabi=softfp QMAKE_CC = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/gcc QMAKE_CXX = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++ QMAKE_LINK = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++ QMAKE_LINK_SHLIB = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++ # modifications to linux.conf QMAKE_AR = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/ar cqs QMAKE_OBJCOPY = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/objcopy QMAKE_STRIP = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/strip load(qt_config) Configure les options pour Qt :./configure prefix /opt/qt-dm3730 embedded arm little-endian no-qt3support nomake examples nomake demos opensource confirm-license xplatform qws/linux-dm3730-g++ Make et installe dans le répertoire qt-everywhere-opensource-src-4.7.4 : make j4 sudo make install PAGE 14
Les librairies et les fichiers Font doivent avoir la même structure de répertoire sur ta machine hôte et ta machine cible cd / mkdir opt cd opt mkdir qt-dm3730 cd qt-dm3730 mkdir lib cd lib On doit copier tous les fichiers du système Hote du répertoire /opt/qt-dm3730/lib et mets les dans la carte cible répertoire /opt/qt-dm3730/lib Pour cela lance winscp sur l environnement windows : Configurez la fenêtre suivante : PAGE 15
La fenêtre suivante apparait : Transférez le contenu du répertoire lib de la carte hôte vers le répertoire lib de la carte cible. PAGE 16
On a besoin de modifier le chemin des librairies de la beagleboard dans le profile Edite l état du PATH dans le fichier /etc/profile : Modifiez les 2 lignes du PATH dans le fichier profile : PATH=»/opt/qt-dm3730/lib :/usr/local/bin :/usr/bin :/bin» Pour installer le serveur gdbserveur pour le mode debogage Téléchargez le fichier suivant et transférez le dans la carte cible : gdbserver_7.1-r4.6_armv7a.ipk Se mettre dans le répertoire d e téléchargement de la carte cible et installez le package opkg install gdbserver_7.1-r4.6_armv7a.ipk PAGE 17
Annexe 2 : configuration réseau de la carte beagleboard Ouvrir Putty sur l environnement windows : Configurez putty avec la configuration de la liaison série de la beagleboard distribution LINUX (Angstrom) Vérifiez le nom des interfaces réseau de la beagleboard : PAGE 18
Tapez la commande ifconfig : Pour changer l adresse IP temporairement tapez ifconfig usb0 192.9.200.58 netmask 255.255.255.0 up pour changer l adresse IP de manière permanente lancez winscp sur l environnement windows : PAGE 19
Configurez la fenêtre suivante : Le fichier de configuration réseau est /etc/network/interfaces Editez ce fichier : PAGE 20
La ligne de commande iface permet de monter l interface réseau, deux configurations sont possibles : Adressage statique : iface usb0 inet static address 192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.1 Adressage dynamique par serveur DHCP iface usb0 inet dhcp Modifier le fichier interfaces Au prochain démarrage la carte aura la configuration réseau programmée PAGE 21