Installer SystemC et TLM
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/
Sommaire
Sur ensisun
SystemC et TLM sont installés dans ~moy/tlm
.
Installer SystemC
depuis la page http://www-verimag.imag.fr/~moy/cours/tlm/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;
(cette modification est incluse dans le patch, donc en principe, tout est déjà fait pour vous)
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 ! (TLM-2.0 est constitué uniquement de templates, et C++ impose que tout soit défini dans les fichiers d'en-tête dans ces cas là)
Positionner les variables d'environnement
Pour utiliser les Makefiles des TPs et exemples, il vous reste à faire positionner les variables $SYSTEMCROOT, $TLMOSCI, $TLM_ENSITLM et $SC_SIGNAL_WRITE_CHECK.
Le plus simple est de se baser sur le fichier setup-ensisun.sh fourni dans l'archive Git en adaptant les chemins à votre configuration.
<include select="" linesXXX="{{{lines}}}" fromXXX="{{{from}}}" toXXX="{{{to}}}" beforeXXX="{{{before}}}" afterXXX="{{{after}}}" linestartXXX="{{{linestart}}}" linenumsXXX="{{{linenums}}}" src="http://github.com/moy/cours-tlm/raw/master/TPs/setup-ensisun.sh" highlight="c" style="border: 0px none white"> </include>