Changes between Version 6 and Version 7 of QuickStartSoclib


Ignore:
Timestamp:
Apr 28, 2008, 3:38:26 PM (16 years ago)
Author:
becoulet
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • QuickStartSoclib

    v6 v7  
    4444
    4545{{{
    46 svn co -r 471 https://www-asim.lip6.fr/svn/mutekh/trunk/mutekh
     46svn co -r 542 https://www-asim.lip6.fr/svn/mutekh/trunk/mutekh
    4747}}}
    4848crée un répertoire mutekh contenant les sources et les documentations de MutekH.
     
    7373 1. Création du répertoire de test, dans le répertoire mutekh
    7474{{{
    75 mkdir benchs benchs/hello
    76 cd benchs/hello
    77 }}}
    78  2. Ecriture du programme suivant dans le fichier hello.c
     75mkdir hello
     76cd hello
     77}}}
     78 2. Ecriture du programme suivant dans le fichier `hello.c`
    7979{{{
    8080#include <pthread.h>
     
    9797  pthread_mutex_init(&m, NULL);
    9898  pthread_create(&a, NULL, f, "Hello ");
    99   pthread_create(&b, NULL, f, "Wolrd\n");
     99  pthread_create(&b, NULL, f, "World\n");
    100100}
    101101}}}
     102 3. Ecriture d'un `Makefile`
     103{{{
     104objs = hello.o
     105}}}
    102106
    103107== Configuration de MutekH ==
    104108
    105 Tapez le fichier de configuration suivant dans le fichier ``benchs/config_emu``
     109Tapez le fichier de configuration suivant dans le fichier `hello/config_emu`
    106110Nous verrons plus loin la signification des configurations.
    107111Disons rapidement que cette configuration indique:
     
    110114 - que l'application utilise les Pthreads.
    111115 - que les affichages se font sur le terminal.
     116 - que l'on déclare un nouveau module nommé "hello".
     117
     118Le code source de MutekH est découpé en modules. Nous devons declarer un noveau module que nous appelerons "hello" pour que notre application soit compilée en même temps que le reste du système. Le chemin de ce module doit être spécifié, dans notre cas ce chemin est identique à celui du fichier de configuration que nous écrivons.
     119
    112120{{{
    113121# Application license
     
    129137# Code compilation options
    130138  CONFIG_COMPILE_DEBUG
     139
     140# New source code module to be compiled
     141  CONFIG_MODULES hello:%CONFIGPATH
    131142}}}
    132143
    133144== 4. Compilation de l'application et de MutekH ==
    134145
    135 La compilation se fait en tapant:
    136 {{{
    137 make CONF=benchs/config_emu LIBAPP=benchs/hello/hello.o
     146La compilation se fait depuis le répertoire de MutekH en tapant:
     147{{{
     148make CONF=hello/config_emu
    138149}}}
    139150Le Makefile compile les sources du système et de l'application en tenant compte du fichier de configuration.
     
    168179== Configuration de MutekH ==
    169180
    170 La configuration de MutekH pour une plateforme simulé de 4 processeurs va etre placé dans le fichier ``benchs/config_mips``:
     181La configuration de MutekH pour une plateforme simulé de 4 processeurs va etre placé dans le fichier `hello/config_mips`:
    171182{{{
    172183# Application license
     
    189200  CONFIG_DRIVER_CHAR_SOCLIBTTY
    190201  CONFIG_DRIVER_ICU_SOCLIB
     202
     203# New source code module to be compiled
     204  CONFIG_MODULES hello:%CONFIGPATH
    191205}}}
    192206On note que la définition des processeurs changent. On indique qu'il s'agit de 4 mips de type bigendian.
    193207Le systeme peut donner des informations sur les options en tapant la commande:
    194208{{{
    195 make CONF=benchs/config_mips showconfig TOKEN=CONFIG_SMP
     209make CONF=hello/config_mips showconfig TOKEN=CONFIG_SMP
    196210}}}
    197211L'ensemble des configurations possibles (une centaine) peut être obtenu par la commande ci-après:
    198212{{{
    199 make CONF=benchs/config_mips listconfig
     213make CONF=hello/config_mips listconfig
    200214}}}
    201215Le résultat:
     
    241255
    242256{{{
    243 make CONF=benchs/config_mips LIBAPP=benchs/hello/hello.o
     257make CONF=hello/config_mips
    244258}}}
    245259Lancer la compilation de la plateforme: