Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

MicroC

No description
by

Hamza Abed

on 23 October 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of MicroC

Fonctionnement - taches
Gestion de la mémoire
Chaque partition de mémoire est constitué de plusieurs blocs de mémoire de taille fixe. Une tâche obtient des blocs de mémoire à partir de la partition de mémoire. Une tâche doit créer une partition de mémoire avant de pouvoir l'utiliser. L'allocation et la désallocation de ces blocs de mémoire de taille fixe se fait en temps constant et déterministe. Partitions de mémoire multiples peuvent exister, si une tâche peut obtenir des blocs de mémoire de taille différente. Un bloc de mémoire spécifique doit être retourné à sa partition de mémoire dont il est issu.
Applications écrites sous uC / OS
Les tâches fonctionnants sous un noyau multitâches doivent être rédigées dans l'une des deux façons suivantes:
C'est quoi ?
uC / OS-II est un noyau pour microprocesseurs, microcontrôleurs et DSP.
Il est ROMable évolutive préventive, déterministe portable, multitâche en temps réel
C'est un noyau multitâche basé sur la prioritée de préemption en temps réel du système d'exploitation pour les microprocesseurs, écrites principalement dans le langage de programmation C. Il est destiné à être utilisé dans les systèmes embarqués.
MicroC/OS
Histoire
MicroC / OS-II est la deuxième génération d'un noyau originalement publié (avec code source) dans deux parties d'un article publié en 1992 dans le magazine de programmation "Embedded Systems" et le livre uC / OS Le noyau temps réel par Jean J. Labrosse (ISBN 0 -87930-444-8). L'auteur vise d'abord à décrire simplement le fonctionnement interne d'un système d'exploitation portable qu'il avait développé pour son propre usage, mais plus tard a développé le système d'exploitation comme un produit commercial.
Maintenant ...
uC / OS-II est actuellement maintenu par Micrium Inc. et ne peut être autorisé que par produit ou par gamme de produits.
L'utilisation du système d'exploitation est gratuit pour une utilisation non commerciale éducatif.

Le 24 Mars 2009, Micrium a publié un produit amélioré, uC / OS-III, avec le code source sous licence disponibles US $ 9,995 par produit final. [1] uC / OS-III dispose d'un nombre illimité de tâches et priorités, et round robin l'ordonnancement.
Caractéristiques
Il s'agit d'un très petit noyau temps réel.
L'empreinte mémoire est d'environ 20ko pour un noyau entièrement fonctionnel.
*Le code source est écrite en ANSI C.
*Facile à transporter, ROMable, très évolutive, préventive en temps réel, déterministe, noyau multitâche.
*Il peut gérer jusqu'à 64 tâches (56 tâches de l'utilisateur).
*Il dispose d'une connectivité avec uC / GUI et uC / FS (GUI et des systèmes de fichiers pour uC / OS II).
*Il est porté à plus de 100 microprocesseurs et microcontrôleurs.
*Il est simple à utiliser et simple à mettre en œuvre mais très efficace par rapport au ratio prix / performance.
*Il supporte tous les types de processeurs de 8 bits à 64 bits.
état de la tâche
uC / OS est un système d'exploitation multitâche. Chaque tâche est une boucle sans fin, et peut être dans l'une quelconque des cinq états suivants:
*Dormant
*Ready
*Running
*Waiting
Gestion des tâches
*Caractéristique des tâches
*Création des tâches
*pile de tâches & Vérification des tâches
*Suppression des tâches
*Modifier la priorité d'une tâche
*Suspension et reprise d'une tâche
*Obtenir des informations sur une tâche
fonctionnement de la tâche
uC / OS-II peut gérer jusqu'à 64 tâches. Les quatre tâches prioritaires et les quatre tâches les moins prioritaires sont réservés pour son propre usage. Cela laisse 56 tâches pour les applications. Plus la valeur de la priorité est petite, plus la tâche est prioritaire. Le numéro de priorité de la tâche sert également de l'identificateur de tâche.
création et gestion
des tâches
Il ya deux fonctions pour créer une tâche:

OSTaskCreate ()
&
OSTaskCreateExt ()
. Après la tâche est créée, la tâche doit obtenir un empilement dans lequel il va stocker ses données. La pile doit être composé d'emplacements de mémoire contigus.
*Initialisation du gestionnaire de mémoire.
*Création d'une partition de la mémoire.
*Obtenir le statut d'une partition de mémoire.
*L'obtention d'un bloc de mémoire.
*Renvoi d'un bloc de mémoire.
*Attente de bloc de mémoire d'une partition de la mémoire.
Les services de gestion de mémoire comprend:

Gestion du temps
Un coup d'horloge est une source de temps périodique de garder une trace des retards et les temps morts. Ici, les intervalles de graduation varie de 10 à 100 ms. Plus le taux de tiques, plus la surcharge imposée au système. Chaque fois qu'une impulsion d'horloge se produit uC / OS-II incréments de 32 - bit de compteur, le compteur commence à zéro, et roule à 4294967295 (2 ^ 32-1) tiques. Une tâche peut être retardée et une tâche différée peut également être repris. Il comporte cinq services qui comprend: OSTimeDLY (), OSTimeDLYHMSM (), OSTimeDlyResume (), OSTimeGet (), OSTimeSet ().
Communication entre les tâches
Communication Inter-tâche ou la communication inter-processus en uC / OS s'effectue à l'aide des sémaphores, messages boîtes aux lettres, files de messages, les tâches et les routines de service d'interruption (ISR). Ils peuvent interagir les uns avec les autres à travers un BCE (bloc de contrôle d'événement).
une boucle infinie.
//exemple:

void

Task
(
void
*
)

{
DoInitStuff
();


while

(
1
)

{

do
this
;

do
that
;

do
the other thing
;
call OS service
();

// e.g. OSTimeDelay,
//OSSemPend, etc.

}
}
Une tâche qui supprime elle même après l'exécution
//exemple:
void
Task
(
void
*
)

{

do
this
;

do
that
;

do
the other thing
;
call OS service
();
// e.g. OSTimeDelay, OSSemPend, etc.
OSTaskDelete
();

// Ask the OS to delete the task

}
Les ports
uC / OS-II est doté de ports pour les processeurs les plus populaires et les conseils sur le marché et est adapté pour une utilisation dans les systèmes embarqués critiques de sécurité tels que l'avionique, les systèmes médicaux et des installations nucléaires.
Architecture
Le problème de la fragmentation
Full transcript