1 Introduction
Cette page décrit le traitement 'altera1' faisant partie de l'activité
'EXECUTORS'.
Le but de ce traitement est d'exécuter les ordres à destination de la altera1.
2 Modèle conceptuel des traitements
Figure:
Modèle conceptuel des traitements
 |
2.1 In
Ce traitement est appelé par les évènements :
- load driver altera
en provenance du traitement
translator
- load device
en provenance du traitement
translator
- memory set PATH vhdl
en provenance du traitement
translator
2.2 Out
Le traitement engendre les évènement :
2.3 Data
A priori, ce traitement lit la configuration des équipements ?
3 Implementation
La couche ENX prévoit l'insertion de ce traitement sous forme de module compilé.
Le module est implémenté dans le fichier ~ /svn/enx/EnxTools/Driver_Generator/build/altera/altera2ada.c.
Pour mémoire, ce fichier a été généré de la façon suivante :
# su - enx
$ cd ~/svn/enx/EnxTools/Driver_Generator
$ export ENX_SRC=~/svn/enx/Trunk/
$ ./configure --enable-C --with-name=altera
$ make
Afin de gérer les appels spéciaux, il pourrait être judicieux d'incoporer un parser FLEX/BISON.
Aussi, pour simplifier l'interface avec ENX, il serait pratique d'appeler le code 'maison' compilé sous forme de bibliotèque. (à voir).
4 Compilation
Attention : il faut impérativement faire un make clean sans quoi seul le fichier objet est recompilé.
# su - enx
$ cd ~/svn/enx/EnxTools/Driver_Generator/build/altera
$ make clean
$ make
$ make install
5 Test
5.1 Charger le driver
# su - enx
$ ~/ENX-2.4/i686/console
ENX > !driver_add altera libaltera.so
OK
ENX > !list driver
- altera
- DRIVER_DEBUG
ENX > !driver_remove altera
5.2 Créer un device
ENX > !create devAltera1 0 0xFF altera
ENX > !create devAltera2 0 0xFF altera
ENX > !list device
- devAltera1
- devAltera2
ENX > !delete devAltera1
ENX > !delete devAltera2
5.3 memory set PATH vhdl
!driver_add altera libaltera.so
!create devAltera1 0 0xFF altera
help devAltera1
special devAltera1 "coucou"
|