1
TP1 - Systèmes embarqués / FPGA
Un système embarqué est une carte électronique programmable dédiée à une tâche bien précise. C’est un
ensemble matériel et logiciel qui applique souvent les techniques du temps réel.
En fonction de l’application, le système embarqué doit répondre à certaines contraintes dictées par le cahier
des charges :
1. Coût de revient faible
2. Taille réduite
3. Peu gourmand en énergie
4. Puissance de calcul satisfaisante
5. Fiabilité de fonctionnement
6. Sécurité des données
7. Ouvert (interfaces)
Les composants FPGA intègrent toutes les cellules nécessaires pour embarquer des systèmes autonomes :
logique, microprocesseurs, mémoires, entrées/sorties rapides, propriétés intellectuelles couvrant tous les
domaines, …
Ce premier TP, écrit sous forme de tutoriel, montre pas à pas comment embarquer dans une plateforme
FPGA le système représenté par la figure suivante :
MicroBlaze : microprocesseur soft
BRAM : bloc mémoire de type RAM
LMB cntrl : contrôleur de bus mémoire (Local Memory Bus)
PLB Bus : bus synchrone dédié aux périphériques externes (Peripheral Bus)
MDM : module « debugger »
UART : interface de communication série
GPIO : interface d’entrées sorties à usage général (poussoirs, LED, …)
Première
partie
Extension
2
Démarrer >> Programmes >> Xilinx ISE Design >> EDK >> Xilinx Platform Studio
Créer un nouveau projet en utilisant l’outil « wizard »
Définir un répertoire de travail qui accueillera le projet portant obligatoirement le nom « system.xmp ». Choisir le
bus PLB pour la connexion des périphériques et donner le chemin de la bibliothèque du kit « Diligent_Genesys ».
Créer un nouveau « design »
Choisir le kit de développement sur lequel on travaille
3
Choisir de travailler avec un seul cœur du processeur
Sélectionner le type de microprocesseur à implémenter et le paramétrer comme ceci :
Ne garder à droite que l’Uart0, choisir son type (xps_uart1665), ainsi que les 2 contrôleurs (lmb_cntrl)
Un résumé de la configuration choisie est affiché à la fin avec les adresses affectées aux périphériques
4
Plusieurs fenêtres vont s’ouvrir dont 2 essentielles : à gauche la fenêtre projet avec un volet « Platform » et un
volet « IP » et à droite la fenêtre d’édition avec 3 volets. Le volet « Bus Interfaces » est une représentation
graphique du système avec la liste des IP et leur connectique.
Le volet « Ports » liste toutes les entrées-sorties ainsi que les connexions internes
Le volet « Adresses » représente la répartition de l’espace mémoire
5
Project >> Generate Block Diagram : pour générer un schéma bloc de l’application
1. ouvrir le fichier « system.mhs » et relever :
- la liste des entrées sorties
- les modules qui reçoivent l’horloge
- les interfaces reliées au bus PLB
- l’espace mémoire occupé par chaque élément
2. Ouvrir le fichier de contraintes « system.ucf » et relever les numéros des broches des entrées-sorties.
Hardware >> Generate Netlist : pour générer le fichier de description du système appelé « Netlist »
Hardware >> Generate Bitsteam : pour générer le fichier de configuration « system.bit »
Première partie logicielle :
Maintenant que la plateforme matérielle est prête, il est temps de la faire vivre avec un peu de soft. Il faut
exporter l’application vers une plateforme de développement software de type « Eclipse Platform » qui est
un outil libre.
Project >> Export Hardware Design to SDK
Inclure les fichiers (.bit) et (.bmm) puis sélectionner le répertoire de travail suivant
File >> New >> Xilinx C Project : pour créer un nouveau projet Soft
Choisir un nouveau projet vide nommé « tp1_application_0 »
Lui associer une bibliothèque (Board Support Package) nommée « tp1_application_bsp_0 »
C:
\
sat
\
tp1
\
SDK
\
SDK_Export
\
hw
\
Workspace
1 / 8 100%
Study collections
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !