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.

Rubriques
Choix du système à installer
  1. 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.
  2. 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é.
  3. 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
  1. 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.
  2. 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.
  3. 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
  1. Pour cette étape vous avez besoin uniquement d'un PC sous Gnu/Linux connecté à internet et disposant d'un connecteur pour carte SD.
  2. 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
  1. Choisir l'image Ubuntu pour mémoire NAND la plus récente. Attention à ne pas vous tromper de lien : à chaque fois, il est proposé :
    1. 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.
    2. Une image Ubuntu SD ne pas utiliser celle-là.
  2. 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
  1. 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.
  2. 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.
  3. 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.
  4. 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
  1. 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.
  2. 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
  3. Ensuite, nous allons lancer la commande dd avec comme paramètres :
    1. le fichier *.img comme source avec if
    2. la carte SD comme destination avec of
    3. 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 :
    $ sudo dd bs=4M if=pcduino_a10_kernel_disk32imager_xxxx.img of=/dev/sdb

    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
  1. Sur la même carte, vous placez maintenant l'image du système d'exploitation Lubuntu prévu pour la carte pcDuino.
  2. 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.
  3. Vous devez obtenir un répertoire ubuntu avec 2 fichiers : un fichier image appelé pcduino_ubuntu_20140430.img et un fichier appelé update.sh.
  4. 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
  1. 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.
  2. 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 :
  3. 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.
  4. N'éteignez pas le pcDuino et passer à la suite.
Chargement du système de fichier en mémoire NAND
  1. 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 :
  2. à 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 :

  1. paramétrer l'option set_timezone = Europe > Paris.
  2. 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 :

$ sudo apt-get update
$ sudo apt-get install gnome-system-tools
$ shares-admin
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 :

  1. La phase de configuration au travers d'un fichier configure : $ ./configure.
  2. La phase de compilation à l'aide de l'utilitaire make : $ make.
  3. 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 :