Projet

Général

Profil

Wiki » Historique » Version 33

Patrice Nadeau, 2014-08-16 09:05

1 2 Patrice Nadeau
%{font-size:18pt}Utilisation d'un BeagleBone Black%
2
3 1 Patrice Nadeau
---
4
5
{{toc}}
6
7 18 Patrice Nadeau
Dans ce document, l'appellation BeagleBone Black sera remplacé par BBB.
8
9 25 Patrice Nadeau
h1. Introduction
10
11
Le BBB est un ordinateur complet avec licence libre utilisant GN/Linux comme système d'exploitation. 
12
Toutes les spécifications sont disponibles sur le site http://beagleboard.org/.
13 1 Patrice Nadeau
14
Ceci en fait un outil de développement idéal.
15 26 Patrice Nadeau
16 33 Patrice Nadeau
Ce document explique comment utiliser un poste sous openSUSE pour faire du développement avec le langage C.
17 26 Patrice Nadeau
18 27 Patrice Nadeau
J'ai choisi cette méthode pour les raisons suivantes : 
19 26 Patrice Nadeau
* La programmation des µc AVR d'Atmel se fait de cette manière
20
* Je connais déjà le C
21
* Linux est écrit en C
22 25 Patrice Nadeau
23 1 Patrice Nadeau
h1. Matériel requis
24
25
* BeagleBone Black (Digikey #"BB-BBLK-000-REVC-ND":http://www.digikey.ca/product-detail/en/BB-BBLK-000/BB-BBLK-000-REVC-ND/4842211)
26
27 18 Patrice Nadeau
h2. Mode « slave »
28 1 Patrice Nadeau
29 18 Patrice Nadeau
* Câble USB A - Mini-B (fournis avec le BBB)
30
31
h2. Mode « stand-alone »
32
33
Dans ce mode le BBB se comporte comme un ordinateur complet.
34
35 17 Patrice Nadeau
* 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)
36
* Câble Ethernet
37
> Facultatif
38
> * Concentrateur USB
39 1 Patrice Nadeau
> * Clavier/souris
40
> * Adaptateur vidéo
41
42 18 Patrice Nadeau
h1. Branchement 
43 1 Patrice Nadeau
44 28 Patrice Nadeau
Peux importe la méthode, le BBB seras disponible à l'adresse *192.168.7.2* avec l'utilisateur *root*.
45 3 Patrice Nadeau
46 18 Patrice Nadeau
h2. Mode « slave »
47
48 24 Patrice Nadeau
Brancher le BBB à l'ordinateur en utilisant le port Micro-B.
49 12 Patrice Nadeau
Un nouveau média apparaitra ainsi qu'une nouvelle carte réseau.
50 15 Patrice Nadeau
51
> Optionnellement
52 19 Patrice Nadeau
> A partir du nouveau media, copier localement le fichier *boot/Drivers/Linux/FTDI/mkudevrule.sh*.
53
> A partir d'une session terminal, exécuter le script
54 12 Patrice Nadeau
><pre><code class="bash">
55 13 Patrice Nadeau
chmod +x mkudevrule.sh
56 1 Patrice Nadeau
sudo ./mkudevrule.sh
57
</code></pre>
58
59 18 Patrice Nadeau
h2. Mode « master »
60
61
Au minimum, brancher les câbles d'alimentation Ethernet.
62
Un clavier, souris et écran peuvent aussi être branchés.
63
64
h1. Logiciel requis
65
66
h2. Développement local
67
68 31 Patrice Nadeau
Comme la compilation seras longue sur un processeur de cette vitesse et les outils dépendant de la version installé sur le BBB, je ne documenterai pas cette section.
69 18 Patrice Nadeau
70 3 Patrice Nadeau
h2. Développement à partir d'un autre poste
71
72 18 Patrice Nadeau
Comme pour les AVR d'ATMEL, l’écriture du code source et sa compilation peut être faite à partir d'un autre poste.
73 3 Patrice Nadeau
74 20 Patrice Nadeau
Télécharger les fichier suivants
75
* Compilateur (gcc) 
76
** http://software.opensuse.org/package/cross-arm-linux-gnueabi-binutils
77
** http://software.opensuse.org/package/cross-arm-linux-gnueabi-gcc
78
* Librairies
79
** http://software.opensuse.org/package/cross-arm-linux-gnueabi-kernel-headers
80
** http://software.opensuse.org/package/cross-arm-linux-gnueabi-glibc
81
** http://software.opensuse.org/package/cross-arm-linux-gnueabi-libffi
82 4 Patrice Nadeau
83 29 Patrice Nadeau
https://github.com/VegetableAvenger/BBBIOlib
84
85 20 Patrice Nadeau
En tant que *root* :
86 6 Patrice Nadeau
<pre><code class="bash">
87 20 Patrice Nadeau
# Installer les packages
88
rpm -Uhv cross-arm-linux-gnueabi*.rpm
89
# Créer le lien vers les exécutable
90 5 Patrice Nadeau
ln -s /opt/cross/bin /usr/local/arm
91 10 Patrice Nadeau
</code></pre>
92 1 Patrice Nadeau
93 20 Patrice Nadeau
Créer le fichier */etc/profile.d/arm.sh*
94 7 Patrice Nadeau
<pre><code class="bash">
95 5 Patrice Nadeau
#!/bin/bash
96 1 Patrice Nadeau
# Export path for ARM tollchain
97 7 Patrice Nadeau
export PATH=/usr/local/arm:${PATH}
98
export MANPATH=/opt/cross/share/man:${MANPATH}
99 11 Patrice Nadeau
</code></pre>
100
101 32 Patrice Nadeau
h2. Utilisation
102 1 Patrice Nadeau
103 7 Patrice Nadeau
En tant qu'utilisateur, se relogguer OU dans la session _courante_
104 1 Patrice Nadeau
<pre><code class="bash">
105
source /etc/profile.d/arm.sh
106
</code></pre>
107 18 Patrice Nadeau
108 32 Patrice Nadeau
h1. Création du code
109 10 Patrice Nadeau
110
Créer un fichier *test.c*
111
<pre><code class="c">
112
#include <stdio.h>
113
void (main)(void)
114
{
115
    printf("Allo la terre !\n");
116
    int x;
117 1 Patrice Nadeau
}
118
</code></pre>
119 11 Patrice Nadeau
120
h2. Compilation 
121 10 Patrice Nadeau
122
Compiler avec 
123 1 Patrice Nadeau
<pre><code class="bash">
124
arm-linux-gnueabi-gcc test.c -o test
125 11 Patrice Nadeau
</code></pre>
126
127 22 Patrice Nadeau
h2. Téléchargement
128 16 Patrice Nadeau
129 21 Patrice Nadeau
Copier l’exécutable dans le BBB
130 16 Patrice Nadeau
131
<pre><code class="bash">
132
scp test root@192.168.7.2:
133
</code></pre>
134
135 21 Patrice Nadeau
Ouvrir une session dans et exécuter le programme directement dans le BBB
136 16 Patrice Nadeau
137
<pre><code class="bash">
138
ssh root@192.168.7.2
139
./test
140 1 Patrice Nadeau
</code></pre>