O
opentdoors
Guest
Bonjour Everyones!
Je
suis un nouveau membre sur ce forum.Je viens du Vietnam comme un ingénieur en électronique.
J'ai essayé de concevoir un OS temps réel sur les noyaux 89c52 avec 8KB poste RAM.C'est juste la manière d'apprendre en temps réel sous Linux.
Mon évaluation 89c52 un conseil composé de 8K RAM (6264) à 0x8000.Il y en a 16 dans ma tâche de conception, chaque tâche est de 256 octets de mémoire externe.Exemple:
Task-0 avec les membres de poste 0x8000 à 0x80FF
-Équipe 1 ---------------------- 0x8100 à 0x81FF
...
Task-15 ---------------------- 0x8F00 à 0x8FFF
Alors que DPH task_id OR = 80, DPL = 0x00 à 0xFF.
Chaque tâche a un octets.Quand un Timer interrompre eu lieu, contre de la tâche est décrémenté, et si contre des équipes à zéro puis atteindre cette tâche est prêt.
Compteur tableau est placé à l'intérieur de RAM, ponted par R0.Quand une tâche est en cours d'exécution, elle fera appel à un Ondelay son compteur à zéro.
Il existe deux autres tableaux à l'intérieur de RAM, sémaphore (juste sémaphore binaire) et l'événement array array.Quand une tâche est en attente à un sémaphore, 8051 CPU également en mode veille
jusqu'à la survenue d'un timer interrupt.Et quand une équipe est dans une attente un événement, il
est toujours passé à sheduler routine.
Sheduler est basée sur une routine contre éventail de changer l'ID
de la tâche en deux variables: running_id et blocke_id, il appelle à mettre context_switching pile interne du blocage de la tâche à la mémoire externe de cette tâche, et de rétablir contenu de la pile pour la prochaine mission.Nouvelle tâche sera dans la gestion de l'Etat après "la retraite".
Désolé, dans la prochaine fois je vais poster des codes source écrit en assembleur 8051.
Merci
Dernière édition par opentdoors le 16 février 2005 8:24, édité 1 fois au total
Je
suis un nouveau membre sur ce forum.Je viens du Vietnam comme un ingénieur en électronique.
J'ai essayé de concevoir un OS temps réel sur les noyaux 89c52 avec 8KB poste RAM.C'est juste la manière d'apprendre en temps réel sous Linux.
Mon évaluation 89c52 un conseil composé de 8K RAM (6264) à 0x8000.Il y en a 16 dans ma tâche de conception, chaque tâche est de 256 octets de mémoire externe.Exemple:
Task-0 avec les membres de poste 0x8000 à 0x80FF
-Équipe 1 ---------------------- 0x8100 à 0x81FF
...
Task-15 ---------------------- 0x8F00 à 0x8FFF
Alors que DPH task_id OR = 80, DPL = 0x00 à 0xFF.
Chaque tâche a un octets.Quand un Timer interrompre eu lieu, contre de la tâche est décrémenté, et si contre des équipes à zéro puis atteindre cette tâche est prêt.
Compteur tableau est placé à l'intérieur de RAM, ponted par R0.Quand une tâche est en cours d'exécution, elle fera appel à un Ondelay son compteur à zéro.
Il existe deux autres tableaux à l'intérieur de RAM, sémaphore (juste sémaphore binaire) et l'événement array array.Quand une tâche est en attente à un sémaphore, 8051 CPU également en mode veille
jusqu'à la survenue d'un timer interrupt.Et quand une équipe est dans une attente un événement, il
est toujours passé à sheduler routine.
Sheduler est basée sur une routine contre éventail de changer l'ID
de la tâche en deux variables: running_id et blocke_id, il appelle à mettre context_switching pile interne du blocage de la tâche à la mémoire externe de cette tâche, et de rétablir contenu de la pile pour la prochaine mission.Nouvelle tâche sera dans la gestion de l'Etat après "la retraite".
Désolé, dans la prochaine fois je vais poster des codes source écrit en assembleur 8051.
Merci
Dernière édition par opentdoors le 16 février 2005 8:24, édité 1 fois au total