Reconfiguration d'un FPGA : Différence entre versions

De Wiki de Projets IMA
(Cahier des charges)
(Mise à jour de la distribution)
Ligne 47 : Ligne 47 :
 
* [http://beagleboard.org/latest-images Dernières versions de Angstrom pour BBB]
 
* [http://beagleboard.org/latest-images Dernières versions de Angstrom pour BBB]
  
== Mise à jour de la distribution ==
+
=== Mise à jour de la distribution ===
  
 
La BBB possède une mémoire interne : une eMMC de 2Go, ce qui est amplement suffisant pour le projet. D'office, une distribution linux spécialement créée pour la programmation embarquée est installée sur la eMMC : Angstrom distribution.  
 
La BBB possède une mémoire interne : une eMMC de 2Go, ce qui est amplement suffisant pour le projet. D'office, une distribution linux spécialement créée pour la programmation embarquée est installée sur la eMMC : Angstrom distribution.  
 
Afin d'avoir le dernier noyau et les dernières optimisations, une mise à jour est nécessaire. Pour
 
Afin d'avoir le dernier noyau et les dernières optimisations, une mise à jour est nécessaire. Pour

Version du 15 février 2014 à 17:59

Cahier des charges

Projet réalisé par Simon Malthieu.

Tuteurs : Alexandre Boé, Thomas Vantroy, Mickaël Coronado.

Suite à la réunion avec Mickaël Coronado, gérant de Inodesign, le cahier des charges suivant a été établi : Alexandre : Ce cahier des charges est beaucoup trop bref.


Description du projet

Le but du projet est de permettre une mise à jour aisé d'un FPGA. Il y a deux manières de programmer un FPGA. Soit directement via une liaison J-TAG. Dans ce cas-ci, le FPGA devra être reprogrammé à chaque mise sous tension. Il existe cependant une autre solution, qui consiste à associer une mémoire de type EEPROM au FPGA. Ainsi, il suffit d'écrire le bitstream dans la mémoire, et la mémoire va le charger dans le FPGA à chaque mise sous tension. Alexandre : Attention aux coquilles et aux phrases.

Les deux manières devront être développées.

L'interface devra aussi pouvoir vérifier l'intégrité des données, afin d'éviter un chargement de bitstream corrompu.

L'autre partie du projet consiste à gérer la partie récupération du bitstream par FTP, ou mieux par SFTP. L'ensemble devra donc être autonome, de la récupération du bitstream à programmation du FPGA.

Spécifications techniques

La plateforme choisie pour ce projet est la beaglebone black. C'est un micro-ordinateur miniature embarquant un processeur Texas Instrument, modèle Sitara XAM3359AZCZ100 Cortex A8 ARM cadencé à 1 GHz. Une exemplaire de cette plateforme est prêté par Mickaël Coronado pour les besoins du projet.

Beaglebone.jpg

Un système d'exploitation est inclus de base dans la eMMC de la beaglebone. Il faudra savoir si cela suffit pour développer le programme, ou s'il faut installer un autre OS.

Le langage choisi est le C.

L'écriture dans l'EEPROM se fait via interface SPI, qu'il faudra configurer.

Étapes de la première partie : Ecriture dans l'EEPROM

  • Prise en main de la Beaglebone black (OS, interface de développement, ...)
  • Conception d'une carte de test avec une EEPROM et une interface SPI pour tester le programme. La création de la carte est effectué par Inodesign grâce à un schéma qu'il faudra dessiner, à la main ou grâce à un logiciel comme Altium.
  • Lire les registres de l'EEPROM : Le début de l'EEPROM est constitué de registres contenant des informations diverses comme sa taille, sa date de fabrication ou son constructeur. Le but est de pouvoir lire ces registres depuis la beaglebone.
  • Écrire dans l'EEPROM via SPI

Prise en main de la BBB

Liens hypertextes destinés à la prise en main

Mise à jour de la distribution

La BBB possède une mémoire interne : une eMMC de 2Go, ce qui est amplement suffisant pour le projet. D'office, une distribution linux spécialement créée pour la programmation embarquée est installée sur la eMMC : Angstrom distribution. Afin d'avoir le dernier noyau et les dernières optimisations, une mise à jour est nécessaire. Pour