Le projet Yocto fournit un ensemble d’outils pour créer des distributions Linux pour les systèmes embarqués. Lors de la création d’un nouveau projet, le système de construction télécharge et compile tous les composants logiciels nécessaires, y compris les outils de compilation, les bibliothèques, le noyau Linux. Comme cette étape est très longue, nous en avons exécuté une partie pour vous à l’avance.
Ouvrez un nouveau terminal et exécutez les commandes suivantes pour initialiser les variables d’environnement nécessaires :
cd /Data/etudiant/soc2020/poky
source oe-init-build-env ../build
Cette commande change automatiquement le dossier courant et vous place dans build
.
Cette commande exécute la construction du système d’exploitation, des bibliothèques et des applications qui seront déployées sur la cible :
bitbake core-image-minimal
Cette commande produit une image du logiciel embarqué dans le dossier build/tmp/deploy/images/zybo-zynq7/
.
Nous utiliserons les fichiers suivants :
Fichier | Rôle |
---|---|
uImage |
Le noyau Linux |
zynq-zybo.dtb |
Un fichier device tree qui décrit la plate-forme matérielle pour le noyau Linux |
core-image-minimal-zybo-zynq7.cpio.gz.u-boot |
Le système de fichiers, qui sera monté en RAM |
u-boot.elf |
Le programme d’amorçage (bootloader) U-Boot |
Dans la configuration que nous avons choisie ici, U-Boot va charger en RAM le noyau Linux, le fichier device tree et le système de fichiers, puis démarrer Linux.
Pour démarrer le composant Zynq, U-Boot n’est pas suffisant.
Nous devons construire un fichier boot.bin
de la manière suivante :
Pour le composant Zynq, le programme d’amorçage se présente sour la
forme d’un fichier boot.bin
qui se compose de trois parties :
.bit
produit par Vivado),u-boot.elf
, compilé précédemment.Le FSBL réalise les opérations suivantes :
Pour créer le fichier boot.bin
, revenez dans le terminal où vous avez
lancé Vivado, et exécutez les commandes suivantes :
xsdk -batch -source scripts/fsbl.tcl zybo-minimal zybo_minimal_design
bootgen -w -image scripts/zybo-minimal.bif -o fpga/zybo-minimal/boot.bin
La première commande compile le FSBL.
La seconde construit le fichier boot.bin
.
Vous devrez refaire ces deux opérations à chaque changement de configuration du composant ZYNQ processing system dans Vivado.
Vous devrez exécuter la commande bootgen
seule lorsque l’une de ces situations
se présente :
bitbake
en cas de modification de la configuration de U-Boot.Utilisez une carte microSD dont la première partition est au format FAT32. Copiez les fichier suivants sur la carte :
scripts/uEnv.txt
fpga/zybo-minimal/boot.bin
build/tmp/deploy/images/zybo-zynq7/uImage
build/tmp/deploy/images/zybo-zynq7/zynq-zybo.dtb
build/tmp/deploy/images/zybo-zynq7/core-image-minimal-zybo-zynq7.cpio.gz.u-boot
JP5
est sur la position SD.Dans un premier temps, nous accéderons à l’invite de commande du shell à travers un terminal sur port série.
ttyUSB1
.Sur la carte Zybo, les programmes peek
et poke
permettent de lire et écrire
des données à des adresses de votre choix.
Cette commande allume les voyants 0 et 2 :
poke 0x41200000 0x5
Cette commande affiche l’état des boutons :
peek 0x41210000
Vous pouvez même utiliser la commande watch
pour exécuter la commande peek
de façon répétitive toutes les secondes (pressez Ctrl-C pour terminer) :
watch -n 1 peek 0x41210000