Wiki » Historique » Révision 29
Révision 28 (Patrice Nadeau, 2014-07-24 21:24) → Révision 29/52 (Patrice Nadeau, 2014-07-30 20:33)
%{font-size:18pt}Utilisation d'un BeagleBone Black% Guide de démarrage pour la programmation sur la plateforme BeagleBone Black. --- {{toc}} Dans ce document, l'appellation BeagleBone Black sera remplacé par BBB. h1. Introduction Le BBB est un ordinateur complet avec licence libre utilisant GN/Linux comme système d'exploitation. Toutes les spécifications sont disponibles sur le site http://beagleboard.org/. Ceci en fait un outil de développement idéal. Ce document explique comment utiliser un poste sous openSUSE pour faire du développement avec la langage C. J'ai choisi cette méthode pour les raisons suivantes : * La programmation des µc AVR d'Atmel se fait de cette manière * Je connais déjà le C * Linux est écrit en C h1. Matériel requis * BeagleBone Black (Digikey #"BB-BBLK-000-REVC-ND":http://www.digikey.ca/product-detail/en/BB-BBLK-000/BB-BBLK-000-REVC-ND/4842211) h2. Mode « slave » * Câble USB A - Mini-B (fournis avec le BBB) h2. Mode « stand-alone » Dans ce mode le BBB se comporte comme un ordinateur complet. * Bloc d’alimentation 5V, 1A, 2.1mm, centre positif (DigiKey #"T139-P5P-ND":http://www.digikey.ca/product-search/en?vendor=0&keywords=T1139-P5P-ND) * Câble Ethernet > Facultatif > * Concentrateur USB > * Clavier/souris > * Adaptateur vidéo h1. Branchement Peux importe la méthode, le BBB seras disponible à l'adresse *192.168.7.2* avec l'utilisateur *root*. h2. Mode « slave » Brancher le BBB à l'ordinateur en utilisant le port Micro-B. Un nouveau média apparaitra ainsi qu'une nouvelle carte réseau. > Optionnellement > A partir du nouveau media, copier localement le fichier *boot/Drivers/Linux/FTDI/mkudevrule.sh*. > A partir d'une session terminal, exécuter le script ><pre><code class="bash"> chmod +x mkudevrule.sh sudo ./mkudevrule.sh </code></pre> h2. Mode « master » Au minimum, brancher les câbles d'alimentation Ethernet. Un clavier, souris et écran peuvent aussi être branchés. h1. Logiciel requis h2. Développement local Comme la compilation seras longue sur un processeur de cette vitesse et le outils dépendant de la version installé sur le BBB, je ne documenterai pas cette section. h2. Développement à partir d'un autre poste Comme pour les AVR d'ATMEL, l’écriture du code source et sa compilation peut être faite à partir d'un autre poste. Télécharger les fichier suivants * Compilateur (gcc) ** http://software.opensuse.org/package/cross-arm-linux-gnueabi-binutils ** http://software.opensuse.org/package/cross-arm-linux-gnueabi-gcc * Librairies ** http://software.opensuse.org/package/cross-arm-linux-gnueabi-kernel-headers ** http://software.opensuse.org/package/cross-arm-linux-gnueabi-glibc ** http://software.opensuse.org/package/cross-arm-linux-gnueabi-libffi https://github.com/VegetableAvenger/BBBIOlib En tant que *root* : <pre><code class="bash"> # Installer les packages rpm -Uhv cross-arm-linux-gnueabi*.rpm # Créer le lien vers les exécutable ln -s /opt/cross/bin /usr/local/arm </code></pre> Créer le fichier */etc/profile.d/arm.sh* <pre><code class="bash"> #!/bin/bash # Export path for ARM tollchain export PATH=/usr/local/arm:${PATH} export MANPATH=/opt/cross/share/man:${MANPATH} </code></pre> h1. Utilisation En tant qu'utilisateur, se relogguer OU dans la session _courante_ <pre><code class="bash"> source /etc/profile.d/arm.sh </code></pre> h2. Création du code Créer un fichier *test.c* <pre><code class="c"> #include <stdio.h> void (main)(void) { printf("Allo la terre !\n"); int x; } </code></pre> h2. Compilation Compiler avec <pre><code class="bash"> arm-linux-gnueabi-gcc test.c -o test </code></pre> h2. Téléchargement Copier l’exécutable dans le BBB <pre><code class="bash"> scp test root@192.168.7.2: </code></pre> Ouvrir une session dans et exécuter le programme directement dans le BBB <pre><code class="bash"> ssh root@192.168.7.2 ./test </code></pre>