Installer SystemC et TLM : Différence entre versions

De Ensiwiki
Aller à : navigation, rechercher
(Installer SystemC)
(précisions sur les variables d'environnements.)
Ligne 46 : Ligne 46 :
  
 
... c'est tout, rien à compiler !
 
... c'est tout, rien à compiler !
 +
 +
== Positionner les variables d'environnement ==
 +
 +
Pour utiliser les Makefiles des TPs et exemples, il vous reste à faire :
 +
 +
<pre>
 +
export SYSTEMCROOT=$HOME/tlm/systemc-2.2.0/
 +
export TLMOSCI=$HOME/tlm/TLM-2009-07-15/
 +
export TLM_BASIC=$HOME/la ou se trouvent vos/TPs/basic
 +
export SC_SIGNAL_WRITE_CHECK=DISABLE
 +
</pre>
 +
 +
(à mettre dans un fichier setup.sh pour éviter de le retaper à chaque fois)

Version du 11 octobre 2009 à 14:55

Pour installer SystemC et TLM, vous pouvez les télécharger sur http://systemc.org, mais il est sans doute plus pratique de les télécharger ici : http://www-verimag.imag.fr/~moy/cours/tlm/systemc/

Sur ensisun

SystemC et TLM sont installés dans ~moy/tlm.

Installer SystemC

Récupérer systemc-2.2.0.tgz et le patch (pour éliminer des warnings génants de GCC) systemc-2.2.0.patch, puis :

tar xzvf systemc-2.2.0.tgz 
patch -p0 < systemc-2.2.0.patch
cd systemc-2.2.0
mkdir obj
cd obj
../configure
make
make install

Si vous obtenez une erreur « sc_utils_ids.cpp:109: error: ‘getenv’ is not a member of ‘std’ », modifiez le début de sc_utils_ids.cpp :

#include <cstdlib>
#include <string.h>
#include "sysc/utils/sc_report.h"
using namespace std;

Vérifiez :

$ ls lib-linux64/    # ou juste lib-linux, selon la machine.
libsystemc.a
$ ls include/
sysc  systemc  systemc.h

Installer TLM

tar xzvf TLM-2.0.1.tgz
patch -p0 < tlm-2.0.1.patch

... c'est tout, rien à compiler !

Positionner les variables d'environnement

Pour utiliser les Makefiles des TPs et exemples, il vous reste à faire :

export SYSTEMCROOT=$HOME/tlm/systemc-2.2.0/
export TLMOSCI=$HOME/tlm/TLM-2009-07-15/
export TLM_BASIC=$HOME/la ou se trouvent vos/TPs/basic
export SC_SIGNAL_WRITE_CHECK=DISABLE

(à mettre dans un fichier setup.sh pour éviter de le retaper à chaque fois)