Outils pour utilisateurs

Outils du site


wiki:linux_pour_zynq_de_xilinx:projet_spidev_buildroot

Ceci est une ancienne révision du document !


SPIDev avec Buildroot

Ici nous allons montrer un exemple d'utilisation de l'interface standard de Linux SPIDev. Nous allons configurer Buildroot pour qu'il prenne en charge l'interface SPI0 du processeur Zynq, une fois configurée avec Vivado et Xilinx SDK.
Pour l'installtion de Buildroot, on pourra se reporter par exemple au chapitre création de Buildroot sous environnement Vagrant.
Nous travaillons ici avec la version buildroot-2016.08.

Préparations

Nous allons créer un répertoire microzed_spidev où nous conserverons les sorties de Buildroot

$ cd ~
$ mkdir microzed_spidev

Nous allons utiliser la configuration par défaut de Buildroot adaptée à la carte microzed. D'abord, où se trouve-t-elle ?

$ ls ~/buildroot-2016.08/configs
...
zynq_zed_defconfig

Maintenant, créons la configuration adaptée :

$ cd ~/buildroot-2016.08
$ make O=../microzed_spidev/ zynq_microzed_defconfig
...
#
# configuration written to ../microzed_spidev//.config
#

Quels sont les résultats ?

  • <color blue> ~/microzed_spidev </color>
    <color blue>build</color> .config Makefile
    • <color blue> build </color>
      <color blue>buildroot-config</color>
      • <color blue>buildroot-config</color>
        conf conf.o .depend <color blue>lxdialog</color> zconf.hash.c zconf.lex.c zconf.tab.o
$ make O=../microzed_spidev/ menuconfig
$ make O=../microzed_spidev/

Quels sont les résultats ?

  • <color blue> ~/microzed_spidev </color>
    <color blue>build</color> .config .config.cmd <color blue>host images</color> Makefile <color cyan>staging</color> <color blue>target</color>

Modifications pour prendre en compte la configuration du processeur

copier les fichiers ps7_init_gpl.[c/h]

Afin de prendre en compte l'ensemble des périphériques configurés du processeur PS7, dans notre cas l'activation de l'interface SPI0, il est nécessaire de charger les fichiers ps7_init_gpl.[c/h] dans l'arborescence de u-boot. Ainsi , le FSBL (First Stage Boot Loader) pourra configurer correctement le processeur. Pour cela il faut dans un premier temps copier les fichiers dans le répertoire commune avec la machine virtuelle et l'hôte (si on utilise Vagrant) dans une console à part

$ cp  ~/chemin_du_projet_vivado.sdk/design_1_wrapper_hw_platform_0/ps7_init_gpl.c ~/chemin_de_la_machine_virtuelle_vagrant/
$ cp  ~/chemin_du_projet_vivado.sdk/design_1_wrapper_hw_platform_0/ps7_init_gpl.h ~/chemin_de_la_machine_virtuelle_vagrant/

Ensuite, dans la console de la machine virtuelle, copier ces fichiers dans le répertoire associé à une carte zynq personnalisée :

 $ cp /vagrant/ps7_init_gpl.c ~/microzed_spidev/build/uboot-xilinx-v2016.2/board/xilinx/zynq/custom_hw_platform/
 $ cp /vagrant/ps7_init_gpl.h ~/microzed_spidev/build/uboot-xilinx-v2016.2/board/xilinx/zynq/custom_hw_platform/

configurer u-boot

Cocher la case Use custom ps7_init provided by Xilinx tool du menu de configuration.

$ make O=../microzed_spidev/ uboot-menuconfig

dans le menu : → ARM archtecture –>[*] Use custom ps7_init provided by Xilinx tool

wiki/linux_pour_zynq_de_xilinx/projet_spidev_buildroot.1479920577.txt.gz · Dernière modification : 2016/11/23 18:02 de emeyer