Étape 2: Zynq-Boot
Téléchargement Zynq-Boot
Tout d’abord, nous allons télécharger le code de zynq-boot, qui contient ce qu’il faut mettre en place un Zedboard de boot Android
Un chargeur d’amorçage que faut-il faire pour démarrer Linux
Un chargeur d’amorçage doit faire juste quelques petites choses avant il peut démarrer Linux ARM.
- Configurer le contrôleur DRAM
- Charger le zImage et toute image ramdisk initial dans DRAM
- Charge la valeur de type de machine dans r2
- Sauter à la zImage
En emballant le zImage et l’image de disque virtuel initial dans un fichier boot.bin, fsbl de Xilinx prend soin des deux premiers d'entre eux. Donc tout ce que nous devons faire est les 2 dernières.
Sauf le Xilinx noyau semble exiger quelques autres registres de configuration à initialiser. Au fil du temps, peut-être cette configuration wil être déplacé vers le noyau de simplifier ce processus.
Comment Zynq-Boot prépare la voie pour Linux
Si nous prenons un regard sur le contenu de Zynq-botte, un des dossiers d’intérêt est clearreg. S. ce fichier est compilé et lié avec zImage afin que ce code est le point d’entrée.
Il commence avec un code pour sauter devant une table de données :
Ensuite, il contient la table de données elle-même. Chaque entrée est deux mots de 32 bits : une valeur de configuration pour écrire et une adresse à laquelle écrire. Ces registres peuvent être configurés par le FSBL Xilinx ou par le noyau Linux, facilitant de cette étape.
Après les données de table est le type de machine :
Puis il y a le code qui configure le processeur selon le tableau de données :
Enfin, il y a le code qui charge le type de machine XILINX_EP107 et continue jusqu’au point d’entrée zImage :
Après cela, Linux démarre comme d’habitude.