Real Time Planer Implementacija (prisvojenje Pitanje)

S

Sobakava

Guest
Bok svima,

I'm implementiranje u realnom vremenu koristeći Task Planer NXP LPC 2148 ARM7 procesora koristi GCC-Winarm.

U program će biti Ocijenite Monotonic (zadaci s kraćim razdobljima imati veći prioritet) i pre-emptive.

Ja već implementirana stopa-monotonism ali sam problema s prisvojenje.The program runs s hardverom vremena prekinuti.Tada se pokreće planer by prekinuli, on provjerava popis zadataka i zadataka status popis zatim odlučuje koji zadatak izvoditi.

ali,

Na primjer, (@ u trenutku t =)

@ 0: Timer prekid dogodi, raspoređivač počinje TASK1.Recimo da će se pokrenuti za 10 miliseconds.
@ 1: Odbrojavanje vremena prekinuli opet.Planer odlučuje TASK1 može nastaviti.Vraća iz prekinuti.(To
će vratiti na TASK1 (); funkcija)
@ 2: isto kao 1
@ 3: isto kao 1
.
.
@ 11: Timer prekinuti.Planer odlučuje TASK1 trebali čekati i TASK2 trebali pokrenuti odmah ...Promjene na popis zadataka.Ovdje: Sada sam se vratiti iz prekinuti.Ali ona će se vratiti na TASK1 ();poniłtava TASK1 (void) (učiniti nešto
učiniti nešto
--->>> Prekinuti (task1 treba nastaviti)
učiniti nešto
učiniti nešto
--->>> Prekinuti (task1 treba nastaviti)
učiniti nešto
učiniti nešto
--->>> Prekinuti (task1 treba nastaviti)
učiniti nešto
učiniti nešto
--->>> Prekinuti (task1 treba Unaprijed ispražnjeno i TASK2 trebali pokrenuti!)
učiniti nešto
učiniti nešto
učiniti nešto
učiniti nešto

)
Trebam prijedlog o tome kako neka raspoređivač upravljati zadatak i sama.Prvi pristup temelji se prekinuti činiti dobra prema meni, ali ja ne mogu shvatiti kako to učiniti sada.Bilo koji pomoć htijenje biti poštovati.

Srdačan pozdrav

 
Svaki zadatak ima vlastiti stog na kojima ste njegova konteksta.Na prekid sprema trčanje zadaća kontekstu na stog i pokazivač sprema stog.
Zatim mijenja stog pokazivač na sljedeći zadaci stog i vraća zadataka kontekstu.Kad je prekid vraća, novi zadatak nastavlja pogubljenje.

 
Imam jedan lagan posted rtos / višezadaćnost sustav za 16-bitna slika micros na EDA odbora ovdje:

ftopic316337.html

Ona uključuje dokumentaciju opisom implementacije.
Pogledajte, možda vam dati neke ideje za vaš sustav.

 
Bok

Možete koristiti softver ili prekinuti poziv funkcije (PTR funkcionirati), kako bi se prebaciti zadatak bez spremanja kontekstu.

Sve najbolje

Bobi

 

Welcome to EDABoard.com

Sponsor

Back
Top