Projet

Général

Profil

Wiki » Historique » Version 24

Patrice Nadeau, 2014-07-24 21:12

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