Développement d'application sur les cartes pcDuino
Toute cette étude va nous permettre du réaliser un certain nombre de petits programmes sur une simple carte nommée pcDuino.
Cette carte pcDuino est un mini PC compatible avec la suite Linux Ubuntu et Android ICS. Une simple connexion à une
alimentation 5V, un clavier, une souris et un écran lui suffisent pour être opérationnelle. Elle peut être utilisée avec la
plupart des shields compatibles ARDUINO moyennant une adaptation pour le raccordement, les E/S du pcDuino étant
en 3,3V et les shields ne pouvant pas s'empiler. Le pcDuino est un mini-PC à base de processeur ARM. Il est livré avec
Lubuntu Ubuntu + LXDE.
pcDuino 3
Sommaire de l'étude
Remettre en place le système d'exploitation sur votre pcDuino
Le pcDuino est livré d'emblé avec un système Gnu/Linux Lubuntu pré-installé et vous pouvez donc le
démarrer directement. Mais ce système Lubuntu n'est pas forcément à jour ou bien il peut être actuellement corrompu...
donc il est intéressant et même très souhaitable d'utiliser un système plus récent en utilisant la dernière image
système disponible.
RubriquesChoix du système à installer
Comme pour tout ordinateur, le pcDuino nécessite un système d'exploitation pour être utilisable. Le système
d'exploitation, c'est l'équivalent de Windows ou Gnu/Linux sur les PC, Mac Os X sur les Mac.
Le pcDuino étant un matériel low-cost vendu à 60€, il est illusoire et
illogique... d'utiliser une système d'exploitation payant sur cette plateforme. Le choix logique et naturel est de se
tourner vers une distribution Gnu/Linux, gratuite, opensource, configurable à volonté.
Heureusement pour nous, le fabricant fournit une image clés-en-main pour le pcDuino... . C'est une Lubuntu récente, pour
base ARM avec un noyau adapté au pcDuino. Il existe probablement d'autres images disponibles pour le pcDuino, mais utiliser celle
du fabricant me semble être la bonne solution.
Création de la carte SD contenant tout le système d'exploitation
Pour en savoir plus ... Préparation de l'installation
La procédure est classique pour l'installation d'un système Linux : nous gravons une image sur un support de
lancement ici une carte mémoire SD, puis nous lançons le système.
A la différence de l'installation sur une SD-Card, ici l'installation se fait cependant en 2 temps :
d'abord installation du noyau kernel.
puis ensuite installation du système de fichier Lubuntu.
La procédure présente cependant également quelques particularités liées :
à la cible utilisée, le pcDuino, plateforme ARM rappelons-le
au type de support une carte mémoire SD qui a ses particularités techniques.
Matériel nécessaire
Pour cette étape vous avez besoin uniquement d'un PC sous Gnu/Linux connecté à internet et disposant d'un connecteur pour
carte SD.
ainsi qu'une carte mémoire micro SD SDHC de 4Go ou plus. Ici, une petite taille de carte suffit.
Télécharger l'image du système
Choisir l'image Ubuntu pour mémoire NAND la plus récente. Attention à ne pas vous tromper de lien : à chaque
fois, il est proposé :
Une image NAND qui associe Kernel + Ubuntu utiliser celle-là.
en choississant bien le kernel pour dd si vous êtes sous Linux. L'autre image du Kernel proposée
est pour LiveSuite ou PhoenixCard, deux utilitaires pour Windows....
et l'image Ubuntu pour NAND.
Une image Ubuntu SD ne pas utiliser celle-là.
Attention, cela peut prendre une dizaine de minutes pour le téléchargement... nous obtennons deux fichiers :
le fichier du noyau : pcduino_a20_kernel_dd_20140721.img cette image date du 21 juillet 2014.
l'archive du système de fichier : pcduino3_ubuntu_20140430.7z cette image date du 30 avril 2014.
Utilitaire qui permet de graver l'image du noyau sur la carte mémoire SDHC
Classiquement, les habitués d'Ubuntu et des systèmes Gnu/Linux en général le savent, pour graver une image, nous utilisons un
utilitaire spécifique qui permet de créer un disque de démarrage. Nous pouvons notamment citer le logiciel Unetbootin
qui permet de faire à peu près ce que nous voulons dans ce domaine. Mais ici, nous utilisons une carte mémoire SDHC qui
est une mémoire FLASH et cela impose l'utilisation d'un utilitaire en ligne de commande un peu particulier, appelé dd.
L'utilitaire dd est une commande unix et donc Gnu/Linux... permettant de copier un fichier en
effectuant des conversions, en ne sélectionnant qu'une partie des données à copier. Il est particulièrement adapté à la copie
sur des périphériques blocs tel que des disques durs ou des lecteurs CD-ROM et donc également des mémoires SD.
La syntaxe de la commande dd est différente des autres commandes unix traditionnelles. La commande dd
utilise des options de la forme option=valeur au lieu de la forme classique -option valeur. Les options
de dd que nous allons utliser ici sont les suivantes :
if=fichier_entree Input File : lit ce fichier en entrée. Cela peut être un fichier régulier
comme un périphérique de type bloc. Par défaut, c'est l'entrée standard qui est utilisée par exemple le clavier.
of=fichier_sortie Output File : écrit dans ce fichier en sortie.
ATTENTION : L'utilitaire dd est susceptible d'effacer n'importe quelle partition ou disque de
votre machine. Si vous n'utilisez pas le bon identifiant de partition dans les instructions qui suivent, vous pouvez très bien
effacer par erreur la partition principale de votre système et perdre des données le cas échéant. Faites donc attention !
Obtenir l'identifiant correspondant à la carte SDHC utilisée pour graver l'image
Sur un système Gnu/Linux, les disques sont dénommés par un groupe de lettre de la forme sda, sdb, sdc, etc... Et sur
chaque disque, les espaces utilisables, appelés également partition sont identifiés par un numéro suivant le nom du
périphérique : par exemple sda1, sda2, etc... pour les partitions n°1 et n°2 d'un disque nommé sda.
La première chose à faire dans notre cas est de connaître l'identifiant de notre carte SD. Ne connecter pas votre carte pour
le moment. Ouvrez un terminal et saisissez la commande df qui permet de lister l'ensemble des postes présents sur
votre système actuel.
La commande df permet de connaître l'emplacement de montage des systèmes de fichiers accessibles sur
votre système et leurs capacités restantes. La commande du permet de connaître l'encombrement sur disque du
répertoire spécifié et ses sous répertoires. l'option -h de la commande df permet de lister
l'espace disque libre en format lisible pour l'homme, c'est-à-dire avec le Système_international_d'unités ex
: 10 MB.
Vous devez alors obtenir la liste de toutes les partitions présents sur le système. A présent, connecter la carte SD dans le
lecteur SD de votre ordinateur. Puis saisissez à nouveau la commande précédente :
Noter bien l'identifiant obtenu correspondant à votre carte pour éviter de vous tromper, vérifier la taille du
périphérique ! Dans cet exemple, la carte SD a pour identifiant sdb et dispose d'une partition sdb1
de 3,5Go.
Graver l'image sur la carte mémoire SD
A présent, pour pouvoir écrire des données et donc notre fichier image sur le système, il est nécessaire de démonter la
partition présente sur la carte SD. Dans notre exemple, la partition sdb1. On utilisera donc la commande : umount
/dev/sdb1.
Ouvrir un terminal. Nous commençons par nous placer dans le répertoire où se trouve l'image *.img si ce n'est
déjà fait
Ensuite, nous allons lancer la commande dd avec comme paramètres :
le fichier *.img comme source avec if
la carte SD comme destination avec of
le paramètre bs qui correspond à la taille de bloc à utiliser ici 4M. Si cela ne fonctionne pas,
utiliser 1M
Bien lancer la commande en sudo droits administrateurs et en utilisant l'identifiant de la
carte SD sans les chiffres de la partition, ce qui donne :
Important : Finaliser la gravure de l'image sur la carte SD. Une fois que vous avez à nouveau
l'invite de la ligne de commande, la gravure est terminée. A ce stade, il ne vous reste plus qu'à exécuter en mode sudo
la commande sync pour finaliser la gravure de l'image sur la carte SD :
$ sudo sync
Voilà, c'est fini pour cette étape !Système de fichier Lubuntu 12.04
Sur la même carte, vous placez maintenant l'image du système d'exploitation Lubuntu prévu pour la carte pcDuino.
Il suffit pour cela d'extraire le fichier de l'image du système Ubuntu au format *.img à partir de l'archive pcduino3_ubuntu_20140430.7z
précédemment téléchargée.
Vous devez obtenir un répertoire ubuntu avec 2 fichiers : un fichier image appelé pcduino_ubuntu_20140430.img
et un fichier appelé update.sh.
Ensuite, simplement copier les 2 fichiers sur la carte mémoire micro-SD.
Procédure d'installation en mémoire interne Flash NAND
Pour en savoir plus ... Connecter le pcDuino aux différents périphériques pour le lancement initial du système
Une fois que l'image du noyau est gravée sur la carte mémoire SD, il ne reste plus qu'à connecter tous les périphériques sur le
pcDuino avant de lancer le système :
connecter le réseau câble éthernet.
connecter le clavier et la souris sur le même port USB.
connecter l'écran par HDMI.
mettre en place la carte SD dans le connecteur
Chargement du noyau en mémoire NAND et lancement du pcDuino
Une fois que tout est connecté et que la carte est mise en place dans son emplacement sur le pcDuino, mettre
sous tension et attendre une minute environ. Durant cette phase, nous voyons une LED clignoter à une fréquence
lente puis s'arrêter. A priori, c'est bon, le noyau est bien chargé dans la mémoire NAND.
Une fois fait, enlever la carte micro-SD et appuyer sur le bouton RESET : nous voyons alors
s'afficher les messages indiquant le chargement du noyau :
Puis, la procédure bloque avec un message indiquant la recherche d'un système de fichier... Logique ! Une LED
reste allumée et l'autre clignote. Le système reste bloqué dans cet état à la recherche d'une image Lubuntu, et
ce jusqu'à ce que nous connections une carte SD ou même une clé USB avec l'image du système
d'exploitation.
N'éteignez pas le pcDuino et passer à la suite.Chargement du système de fichier en mémoire NAND
Alors que le noyau est toujours en train de chercher un système de fichier voir étape précédente, mettre en
place la carte SD une nouvelle fois dans le connecteur :
à ce moment-là, la première LED reste allumée et la 2ème LED se met à nouveau à clignoter plus
rapidement, attestant du chargement en mémoire NAND du système de fichier. Patienter : cela dure plus longtemps que
précédemment 8 minutes environ :
Lancement final du pcDuino avec le nouveau système installé en mémoire NAND
Enfin.... vous y êtes, votre pcDuino avec son système tout neuf en NAND va enfin démarrer !!
Une fois fait, enlever la carte micro-SD et appuyer sur le bouton RESET : nous voyons alors
s'afficher les messages indiquant à nouveau le chargement du noyau :
Configuration de base et finalisation du système
Pour en savoir plus ... Utilitaire de configuration
Une fois que le système se lance, nous arrivons, au premier boot, sur un écran de menu Board-configuration. Il s'agit
d'un utilitaire intégré à la distribution Lubuntu et qui permet de configurer un certain nombre de paramètres et d'options. Ces
paramètres une fois fixés seront utilisés pour les lancements ultérieurs.
Techniquement, cette étape et cet utilitaire servent à paramétrer un fichier de configuration le fichier /boot/config.txt.
Tous les changements faits à ce stade peuvent être modifiés ultérieurement.
Cet utilitaire peut être lancé à tout moment avec la commande :
$ sudo board-config.sh
Sans trop entrer dans les détails, voici les choix par défaut que je conseille se déplacer avec les flèches HAUT/BAS
:
paramétrer l'option set_timezone = Europe > Paris.
paramétrer l'option set_keyboard en français.
Après finalisé la phase de configuration, vous obtenez bien cet écran. Bravo, vous avez réussi votre installation et votre pcDuino
est opérationnel !
Réglages de base sur la carte pour l'utiliser en réseau
Votre carte pcDuino est maintenant opérationnelle et vous pouvez l'utiliser tel quelle en laissant connectés vos
différents périphériques. Toutefois, ce type de carte est intéressante dans la notion d'informatique embarquée. Dans ce cas de
figure, la carte est totalement autonome et ne possède que deux connexions standards : son alimentation et la connexion réseau avec
éventuellement du cablâge sur les entrées et les sorties présentes sur la carte. Pour que nous puissions l'atteindre à
partir d'un poste informatique, il est alors indispensable de réaliser quelle réglages au niveau de l'accessibilité réseau. C'est
l'objet de ce chapitre.
Service ssh
Le service ssh est déjà opérationnel sur votre pcDuino sans avoir à effectuer aucun réglage supplémentaire. Je
rappelle que l'accès à ce service depuis votre poste local en mode console est la suivante :
$ ssh nom_utilisateur@adresse_ip
Dans l'exemple du pcDuino le nom de l'utilisateur par défaut est ubuntu et le mot de passe est également ubuntu.
La commande à effectuer est par exemple :
$ ssh ubuntu@172.16.2.52
Partage des dossiers accessibles depuis le réseau
L'outil de configuration des dossiers partagés shares-admin est un utilitaire de configuration de dossiers partagés
pour les environnements graphiques GNOME, Xfce et LXDE. Cet outil fait partie de la suite
d'utilitaires de configuration de GNOME. Malheureusement, depuis Ubuntu 12.04 la suite gnome-system-tools, qui fournit
l'utilitaire shares-admin, n'est plus installé par défaut. Pour l'installer il vous faut donc au préalable installer le
paquet gnome-system-tools.
Pour résumer, vous devez installer dans un premier temps la suite d'utilitaires de configuration et lancer ensuite l'utilitaire de
configuration de dossiers partagés en ayant au préalable mis à jour la liste des paquets. Voici dans l'ordre l'ensemble des commandes
à réaliser :
Au premier chargement de shares-admin, vous devez installer des modules supplémentaires pour prendre en charge
les protocoles de partages réseau SMB et NFS. Dans notre cas, nous prenons en compte uniquement Samba
partage Windows, choisissez donc le module SMB. Vous devez être un administrateur pour procéder.
NFS
permet le partage de fichiers en montant les dossiers distants partagés dans l'arborescence locale comme un dossier local. NFS
est particulièrement adapté à la centralisation d'une grande quantité de données dans un ordinateur qui s'occupera de les
distribuer sur le réseau par exemple le partage sur tous vos ordinateurs de toute votre collection de musique/vidéo.
Par contre il est peu adapté à la création de nombreux petits partages par poste. NFS est assez léger ce qui lui permet de recycler
assez habilement une ancienne machine en serveur NFS personnel.
Samba
permet le partage de fichiers entre un poste Gnu-Linux avec un réseau utilisant les protocoles Windows ou avec un poste
Windows. Samba est particulièrement adapté à la création de plein de petits partages locaux entres différents
ordinateurs. Vous pouvez aussi centraliser les données dans un seul gros partage pour que tous le monde puisse y accéder mais NFS y
est plus adapté.
Une fois que le service Samba est installée, vous pouvez maintenant choisir les dossiers à partager. Vous ne pouvez le faire
qu'en mode administrateur, c'est pour cette raison que vous devez cliquer sur le bouton Unlock.
Vous pouvez maintenant partager autant de dossiers que vous désirez. Celui qui me paraît le plus adapté pour faire
du cross développement, c'est le dossier nommé Public qui comme son l'indique doit être accessible à tout le monde. Pensez à
décocher l'option Read only. Bien entendu, il est possible de prévoir un autre dossier spécifique plutôt que ce dossier Public,
pour les différents programmes que vous allez développer.
Une chose que nous oublions souvent, c'est de changer les droits d'accès aux dossiers que vous avez décidés de
partager. Si vous ne le faites pas, il ne sera pas possible de placer vos travaux à partir du réseau sur votre ordinateur à distance.
Activer le service VNC
Pour conclure dans ce chapitre, il est possible d'activer le service VNC qui est déjà
installé dans la distribution. Il suffit de choisir la rubrique Internet et de sélectionner la dernière option X11VNC
Server.
VNC permet d'utiliser un ordinateur à distance exactement comme si nous nous
trouvions en face de lui. Les mouvements de la souris et les pressions sur les touches du clavier sont transmis par le réseau à
l'ordinateur distant pour le piloter, en retour une image de l'écran de l'ordinateur distant est renvoyée à fréquence régulière. En
réalité, c'est le bureau qui est virtualisé. Désactiver l'écran de veille
Étant donné que, dans la logique des choses, nous n'ayons plus besoin d'un écran connecté directement à la carte pcDuino, il peut
être judicieux de désactiver l'écran de veille qui est proposé par défaut. Par ailleurs, nous aurons moins de disfonctionnement
lorsque nous l'utiliserons au travers d'un client VNC.
Conclusion
Votre système est maintenant prêt à être utilisé à distance, sans le moniteur, sans clavier et sans la souris. Vous pouvez
déconnecter ces différents périphériques et utiliser un ordinateur sur le réseau local pour gérer cette carte pcDuino à distance.
Création de la librairie Qt pour les processeurs ARM
Maintenant que notre carte pcDuino est prête à être utilisée, nous allons pouvoir réaliser différents développements
au travers de la librairie Qt développement réseau par exemple. Malheureusement, cette librairie n'existe pas en
natif sur la carte. Vu que le processeur du pcDuino est un ARM, nous sommes obligé de créer cette librairie
de toute pièce, à partir des sources de Qt, sachant que les binaires ne sont pas proposés dans la partie téléchargement du site de
Qt. Cette librairie, une fois générée, servira à la fois pour la carte elle-même installation de l'ensemble des binaires,
mais aussi pour le poste informatique PC classique pour réaliser du cross développement.
Rubriques
Récupération des sources de Qt
Les sources de Qt vont nous permettre de générer de compiler l'ensemble des librairies nécessaires pour réaliser
du développement de haut niveau IHM, gestion événementielle, programmation réseau, etc.. Grâce à ces sources, il
est possible de choisir n'importe quel type de cibles Windows, Linux, Mac, etc.. D'ailleurs l'ensemble des sources
est nommé qt-everywhere, ce qui est évocateur.
Vous avez ci-dessous l'endroit exact pour récupérer ces sources :
L'ensemble des sources est proposée dans une seule archive heureusement, il ya beaucoup de fichiers dont le nom
correspond au numéro de version, ici Qt-5.3.2.
Installer le compilateur pour les processeurs ARM sur votre poste de développement
Afin de fabriquer correctement votre librairie Qt pour les processeurs ARM, il faut que vous disposiez du compilateur
adapté sachant que ce dernier existe déjà sur la carte pcDuino. Nous allons compiler les sources de Qt sur le PC qui
va nous servir à réaliser les différents programmes pour la carte, ce qui nous permettra de faire du cross développement.
Le compilateur c++ pour les processeurs ARM doit donc être intallé sur votre poste de développement sur chacun
des postes qui vont faire du développement.
Gestionnaire de logiciels
Pour cela, ouvrez votre gestionnaire de logiciels et réaliser l'installation du paquet g++-arm-linux-gnueabihf. Vous
remarquez la présence de deux types de compilateur, l'un nommé gnueabi et l'autre gnueabihf. C'est ce dernier qu'il
faut prendre puisque le processeur de la carte pcDuino intègre le calcul à virgule flottante hf veut
dire hardware floating point.
Compiler et installer la librairie Qt sur votre poste de développement
Trois phases sont nécessaires pour l'installation définitive
À chaque fois que vous devez installer un logiciel quelconque sur linux à partir de ses sources, vous devez passer
systématiquement par trois phases :
La phase de configuration au travers d'un fichier configure : $ ./configure.
La phase de compilation à l'aide de l'utilitaire make : $ make.
La phase d'installation, en utilisant toujours l'utilitaire make : $ make install.
Décompacter l'archive
Avant de réaliser ces trois phases, décompacter l'archive des sources de Qt dans un dossier qui vous sera accessible
ultérieurement. Vous pouvez remarquer la présence de nombreux répertoires et du fichier de configuration exécutable
:
Configuration pour le compilateur ARM
Pour que l'exécutable configure sache quoi faire, il est indispensable au préalable de bien spécifier quel type de
compilateur nous allons choisir. Pour cela, aller dans le répertoire qtbase. À l'intérieur de ce répertoire il existe
un autre répertoire très important, nommé mkspecs qui, comme son nom l'indique, permet de choisir le ou les
compilateurs à prendre en compte. À l'intérieur de ce dernier, vous pouvez remarquer la présence de beaucoup de dossiers
correspondant aux différents type de compilateur. Vous avez vraiment le choix. Nous découvrons justement le compilateur qui nous
intéresse, avec un petit bémol tout de même, ce n'est à priori pas le bon compilateur gnueabihf. Ce n'est pas très grave,
il est possible de changer son nom, mais ce n'est pas nécessaire.
Paramétrer le fichier qmake.conf du compilateur gnueabihf
Rentrer dans le dossier correspondant au compilateur choisi et vous allez éditer le fichier de configuration le concernant, savoir
qmake.conf.
Ce fichier de configuration est pratiquement bien écrit, si ce n'est que nous devons à chaque fois bien préciser les bons outils
de compilation de type gnueabihf par défaut c'est gnueabi.
Lancer l'utilitaire de configuration
Une fois que ce paramétrage est effectué, vous pouvez maintenant lancer la phase de configuration en spécifiant bien toutes les
options requises pour que la génération se fasse pour les processeurs de type ARM. Pour cela placez-vous de nouveau
dans le répertoire de base de vos sources, là où se situe l'utilitaire configure et tapez la commande suivante en mode
console :
$ ./configure -arch arm -xplatform linux-arm-gnueabi-g++ -prefix /usr/local/QT-5.3.2-arm -nomake tests
-arch : permet de préciser le type de cible, ici arm théoriquement obsolète .
-xplatform : spécifie le répertoire de configuration correspondant au type de processeur, ici linux-arm-gnueabi-g++
si vous n'avez pas changé de nom.
-prefix : indique l'emplacement définitif de l'ensemble des librairies de Qt, ici /usr/local/QT-5.3.2-arm.
-nomake : empêche d'effectuer la phase finale des tests.
Au démarrage, on vous demande de choisir entre la version commerciale et la version open source, et d'autre part, comme
d'habitude, vous devez accepter les conditions d'utilisation de la licence. Le temps de configuration est relativement long. Si
tout s'est bien passé, vous devez obtenir les messages si dessous :
Remarquez bien qu'on nous indique la procédure à suivre, c'est-à-dire de réaliser la phase de construction à l'aide de la commande
make et l'installation avec la même commande mais avec l'option install.
Compilation et installation de la librairie Qt
Nous allons suivre la procédure en lançant la phase de compilation toujours en gardant le même emplacement :
$ make
Une fois que cette phase est très très longue est terminée, nous pouvons exécuter l'installation qui cette
fois-ci est très rapide puisque les librairies sont déjà construites qui consiste juste à placer l'ensemble des
bibliothèques à l'endroit que nous avons choisi dans la phase de configuration, savoir /usr/local/QT-5.3.2-arm vu
l'endroit, vous devez exécuter la commande en mode administrateur :
$ sudo make install
Une fois que l'installation s'est réalisée correctement, vous pouvez contrôler le résultat dans le système de fichier :
L'idéal maintenant est de fabriquer une archive qui vous servira à la déployer sur l'ensemble des postes de développement,
mais également sur l'ensemble des cartes pcDuino. Attention, vous devez décompacter l'archive exactement au même
endroit que sa fabrication, savoir dans le dossier /usr/local.
Réglage de QtCreator pour réaliser du cross développement
Nous disposons maintenant de tous les éléments nécessaires qui vont nous permettre de réaliser des programmes, avec ou sans la
librairie Qt, depuis notre poste de développement pour être exécuté sur une cible de type informatique embarquée, le pcDuino
par exemple, ce qui s'appelle faire du cross développement. QtCreator permet de le faire simplement, vous éditer votre
source et le déploiement ainsi que l'exécution se fera automatiquement sur la cible choisie. Ce chapitre nous montre comment régler QtCreator
pour atteindre cet objectif.
Régler les options
Pour mettre en place le cross développement, tout se fait au travers de la rubrique Options :
Création de la cible
La première démarche consiste à créer ses différentes cibles si vous avez plusieurs cartes pcDuino.
Pour cela, placez-vous dans la rubrique Appareils mobiles et cliquez sur le bouton Ajouter....
On vous demande alors de choisir votre type de périphérique. Choisissez la première option de démarrer l'assistant.
Renseigner les différents champs en proposant un nom de périphérique pour l'identifier par la suite, l'adresse IP de la carte
pcDuino, le nom de l'utilisateur et son mot de passe ubuntu pour l'utilisateur et le mot de passe dans le cas du
pcDuino :
Il ne vous reste plus qu'à passer à la phase suivante et de terminer l'assistant. Un test automatique est alors effectué afin de
bien contrôler que votre appareil mobile se situe bien à la bonne adresse avec également la bonne authentification :
Si tout s'est déroulé correctement, nous disposons maintenant dans notre environnement de développement QtCreator une
nouvelle cible nommée dans notre exemple pcDuino. N'oubliez pas de validez en cliquant sur le bouton Appliquer.
Compilateur ARM dans QtCreator
Pour réaliser notre cross développement, il est bien entendu nécessaire que QtCreator prenne en compte le compilateur
ARM, sinon cela ne sert à rien. Pour cela, nous devons nous placer dans la rubrique Compiler & Exécuter, cliquer sur
le bouton Ajouter et choisir un compilateur de type GCC ce qui est le cas pour notre compilateur ARM :
Vous pouvez dès lors compléter les deux champs principaux, d'abord donner un nom à votre compilateur et le localiser à l'aide du
bouton Parcourir... . Pour que votre nouveau compilateur soit pris en compte, validez avec le bouton Appliquer.
Version de Qt pour processeur ARM
La version de Qt est importante lorsque vous devez développer des applications avec le coeur de Qt et certains modules
supplémentaires comme par exemple la gestion du réseau. Vous devez donc prendre une version de Qt compatible pour les processeurs
ARM, celle là même que nous avons construite dans le chapitre précédent. Pour cela, toujours dans la rubrique Compiler &
Exécuter, cliquez sur l'onglet Versions de Qt et cliquez sur le bouton Ajouter... . La boîte de
dialogue de sélecteur de fichier apparaît alors, il suffit d'explorer le système de fichier pour atteindre l'utilitaire qmake
présent dans le répertoire bin. Noubliez pas de valider en cliquant sur le bouton Appliquer.
Mise en place d'un nouveau Kit de développement associé à la carte pcDuino
Nous possédons maintenant tous les ingrédients pour la fabrication d'un kit de développement personnalisé, qui va nous permettre dès
le départ de choisir un type de projet dont la cible est directement le pcDuino avec tout ce qu'il faut pour que la génération et le
déploiement se fasse automatiquement. Pour cela, toujours dans la rubrique Compiler & Exécuter, cliquez sur l'onglet
Kits et cliquez sur le bouton Ajouter. Il suffit de sélectionner les différents éléments que nous venons de
configurer : l'appareil mobile, le compilateur et la version de Qt. Donnez un nom à votre nouveau kit de développement. Noubliez pas
de valider en cliquant sur le bouton Appliquer.
Premier projet pour la carte pcDuino
Maintenant tout est prêt. Nous allons réaliser notre premier projet en utilisant le kit de développement que nous venons
d'élaborer. Ce premier projet est extrêmement simple, nous allons juste mettre en oeuvre un programme qui souhaite la bienvenue. Dans
ce cas de figure, nous n'utiliserons pas la biblothèque Qt. Il s'agira simplement d'un programme C++ basique.
Choix du type de projet
Démarrer Qt Creator et demander à faire un nouveau projet. Choisissez donc un projet C++ non Qt. Par défaut, au
départ les projets sont prévus pour réaliser du développement pour des PCs de bureau Modèle Desktop. Ici, vu le kit
que nous venons de mettre en place, nous devons choisir un autre modèle prévu pour les systèmes embarqués linux.
Dès que vous avez validé et donné un nom à votre projet, vous voyez apparaître votre kit de développement pcDuino :
Édition, déploiement et exécution du projet
Une fois que vous avez validé le projet, vous vous retrouvez avec deux fichier, le fichier principal et le fichier de projet. Pour
que le déploiement s'effectue dans de bonne condition, il est nécessaire de préciser le répertoire d'accueil de votre exécutable. Au
préalable, nous avons partagé le dossier nommé Public sur notre pcDuino. Grâce au deux lignes supplémentaires surlignées
ci-dessous, nous indiquons la cible de l'exécutable dans le fichier de projet.
Il ne vous reste plus qu'à compiler votre programme et à déployer votre exécutable :
Si tout s'est bien passé, vous pouvez maintenant travaillé sur le pcDuino à distance à l'aide d'une communication ssh l'exécutable
est un projet en mode console. Une fois que la communication est établie, vous pouvez lancer votre programme :