On Wed, Oct 31, 2007 at 11:15:30AM +0100, Eric Noulard wrote:
> La démarche que je ferais serait la suivante:
> 
> 1) Essayer bêtement de compiler le contenu tsp/src/util/libbb
>     (sauf probablement les tsp/src/util/libbb/bbtools qui
>      des outils en ligne de commandes inutiles pour RTEMS)
> 
> 2a) ca marche ben voila tu as un bb pour RTEMS
> 
> 2b) ca ne marche pas
>       A priori le fichier qui pourrait poser problème est
>         libbb/bb_core_sysv.c (et le header correspondant ibbb/bb_core_sysv.h)
>      Il nécessite d'avoir les API SysV pour
>         shmget, shmat, shmdet, ...
>         semget, semop, ..
>         msgget
> 
>      Alors je te conseille d'implementer
>        libbb/bb_core_posix.c (et le header correspondant ibbb/bb_core_posix.h)
>      qui implémentera les mêmes fonctions que sysv mais avec
>      les API posix:
>         shm_open, shm_unlink ...
>         sem_open, sem_close, sem_wait ...
>         mq_open, mq_receive, ....
> 
>         Ces primitives sont dispos sur RTEMS
>         
> http://www.rtems.com/onlinedocs/releases/rtemsdocs-4.7.0/share/rtems/html/posix_users/index.html
> voir
>      Memory, Semaphore et Message Passing Manager.
Yup, pour ajouter un type de BB supplémentaire il faut:
1) Ajouter un champ à enum bb_type dans bb_core.h
2) Ajouter un champ à static struct bb_operations ops dans bb_core.c
3) choisir une convention de nommage pour les BB posix (e.g. p://<nom bb>),
et apprendre à bb_type() dans bb_core.c à les reconnaître.

A+
Fred


_______________________________________________
Tsp-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/tsp-devel

Répondre à