Presentation Picos18
Presentation Picos18
Presentation Picos18
Gnralit
Les noyau temps rels sont : noyaux excutifs de petites tailles assez performants et particulirement appropris des systmes embarqus simples temps de raction aux vnements rapide (alarmes, interruptions...). ordonnancement par priorits
Mr Bouajila Wajdi
Services des OS TR
les OS Temps Rel : offrent une gestion fine des priorits offrent des primitives systme rapides, en temps born (gestion des interruptions, des smaphores) pas de mmoire virtuelle, mais verrouillage de pages en mmoire centrale minimisation de l' "overhead" (le temps pris par le systme pour s'excuter et se grer lui-mme)
Mr Bouajila Wajdi
Mr Bouajila Wajdi
Mr Bouajila Wajdi
tches sont excutes dans le temps : le temps d'excution des tches tant dterminant pour la commutation des tches, le noyau temps rel excute en premier les tches dont le temps d'excution est critique.
Mr Bouajila Wajdi
Noyau premptif
Le fonctionnement du noyau premptif est illustr la
figure suivante :
Mr Bouajila Wajdi
Le Picos18
Mr Bouajila Wajdi
Introduction
Le noyau temps rel multi tches pour PIC18 PICos18 est un produit de la socit PRAGMATEC. PICos18 est bas sur la norme industrielle
OSEK/VDX PICos18 sutilise aisment au sein de MPLAB. PICos18 ncessite C18 PICos18 est distribu sous licence GPL (General Public License)
Mr Wajdi Bouajila
Caractristiques techniques
Type de noyau :
Multi-tche premptif OSEK/VDX Processeurs cibles : Famille des PIC18xxx de MICROCHIP Nombre de tches : 16 Nombre de priorits : 8 Nombre d'vnements par tche : 8 Nombre de timers logiciels : Pas de limites Temps de latence: 25 s (Freq = 40 MHz)
Mr Bouajila Wajdi 10
suite
Taille (ctx + pile) dune tche :
20 octets Taille du noyau (ROM) : < 1 Ko Taille du noyau (RAM) : 7 octets Taille des services (ROM) : 4 Ko Taille des services (RAM) : 121 octets Taille de la pile hardware : 32 appels de fonctions pour toutes les tches
Mr Bouajila Wajdi 11
Organisation
PICos18 est organis autour de 6 entits logicielles :
Mr Bouajila Wajdi
12
Cur du noyau
Init + Scheduler + Task Manager Grer les tches de l'application dterminer la prochaine tche active en fonction de
Mr Bouajila Wajdi
13
Alarm Manager
Cest le gestionnaire d'alarmes et de compteurs Proche du coeur du noyau, il rpond l'interruption du
TIMER0 afin de mettre jour priodiquement les alarmes et compteurs associes aux tches.
Hook routines
Sont proches du cur du noyau et permettent l'utilisateur de drouter le droulement normal du noyau de faon prendre temporairement le contrle du systme.
Process Manager
Cest le gestionnaire de tches Sont rle est d'offrir l'application les fonctions ncessaires
la gestion des tats (changer l'tat d'une tche, chaner des tches, activer une tche...).
Event Manager
Cest le gestionnaire d'vnement Cest un service du noyau dont le rle est d'offrir
l'application les fonctions ncessaires la gestion des vnements d'une tche (mise en attente sur un vnement, effacer un vnement...).
INT Manager
Cest le gestionnaire d'interruption Il offre l'application les fonctions ncessaires 'activation
SuspendAllInterrupts
ResumeAllInterrupts SuspendOSInterrupts
ResumeOSInterrupts
Mr Bouajila Wajdi 18
tre dans un des quatre tats suivants : - RUNNING (en excution) : Tache en possession d'un processeur et en cours d'excution. - READY (prte l'excution) : Donc en possession de toutes les ressources ncessaire a son fonctionnement sauf d'un processeur. - WAITING (en dormie) : Soit en attente d'une ressource quelconque indispensable son excution future. - SUSPENDED (suspendue) : La tche est prsente dans le projet, mais n'est pas prise en compte par le noyau.
Mr Bouajila Wajdi 19
Mr Bouajila Wajdi
20
processeur. RUNNING -* READY (PREEMPT) : Correspond a une premption du processeur au profit d'une autre tache cette premption est dcide selon l'algorithme d'ordonnancement utilis. RUNNING -* WAIT (WAIT) : Due un appel system impliquant l'attente d'une ressource du system (waitEvent), WAIT -* READY(RELEASE) : Appel rveil de la tache SUSPENDED -* READY (ACTIVATE): Activation de la tche dsigne. Si la tche ainsi active est la tche prte la plus prioritaire elle prend immdiatement la main sur la tche en cours. RUNNING -* SYSPENDED (TERMINATE): Termine la tche appelante. La tche n'est plus alors considre par le noyau. Pour l'excuter de nouveau il est ncessaire de l'activer l'aide de la fonction ActivateTask.
Mr Bouajila Wajdi 21
Mise en uvre
Tlcharger le noyau partir du site
Mr Bouajila Wajdi
22