Beaglebone Black

Utiliser la carte Beaglebone Black comme plateforme de développement

Objectif

Cette formation est destinée à des développeurs désirant utiliser la carte BBB comme plate-forme de développement. Nous aborderons tout d'abord l'utilisation de la carte comme un système GNU/Linux « classique » équipée d'une IHM et d'un compilateur natif. Pour cette partie nous choisirons la distribution Debian adaptée à la BBB. La formation abordera l'utilisation des bus disponibles dans la BBB tels que I2C, SPI, le pilotage des GPIO et le bus d'extension CAPE de la BBB. Nous présenterons également - rapidement - l'utilisation de Qt. Dans un deuxième temps nous verrons comment exploiter la BBB comme une cible « embarquée » via des techniques de développement croisé. Enfin nous verrons une – brève - introduction à l'utilisation d'Android sur la BBB. 

La formation est agrémentée de TP à chaque étape.

Public visé

Ingénieurs de développement embarqué et chefs de projets techniques 

Pré-requis

  • Notions en développement UNIX/Linux
  • Utilisation de la ligne de commande (shell)
  • Quelques notions de langage C et Python

Programme

Partie 1 : la BBB comme système GNU/Linux

  • Présentation de la carte, historique, matériel, comparaison avec d'autres matériels (Raspberry Pi, ...)
  • Interfaces disponibles (USB, Ethernet, GPIO, I2C, etc.)
  • Installation de la distribution DEBIAN GNU/Linux
  • Structure de la de démarrage (eMMC ou MicroSD), utilisation de U-Boot
  • Introduction à l'administration système sous DEBBIAN (réseau, IHM, utilisateurs, …)
  • Programmation :
    • Utilisation de Python et C/C++
    • Avantages/inconvénients des deux langages
  • Présentation des GPIO, I2C, SPI :
    • Utilisation en Python, C et - éventuellement - Shell
    • Exemples avec des périphériques réels pour chaque bus

Partie 2 : la BBB comme système embarqué

  • Notions de système embarqué, logiciel embarqué, Linux embarqué
  • Compilation croisée, construction de distribution, outils associés (build systems)
  • Avantages/inconvénients par rapport à une distribution classique
  • Présentation et utilisation des deux principaux outils
    • Buildroot, Yocto/OpenEmbedded
  • Utilisation d'un écran tactile sous Qt, intégration à Buildroot
  • Création d'un application de pilotage SPI avec intégration à Buildroot
  • Test de la distribution AOSP Jelly Bean 4.3
  • Développement d'une application de test
    • Mesure de température par un capteur USB
    • Affichage du résultat dans une application Android (Java)

Partie 3 : Introduction à Android sur BBB

  • Test de la distribution AOSP Jelly Bean 4.3
  • Développement d'une application de test
    • Mesure de température par un capteur USB
    • Affichage du résultat dans une application Android (Java)