S
Sobakava
Guest
Hi all,
Es īstenojot reālā laika Task plānotājs, izmantojot NXP LPC 2148 ARM7 CPU izmantojot GCC-Winarm.
Plānotāja būs Rate monotonā (uzdevumus ar īsāku periodu ir lielākas prioritātes) un pirmpirkuma.
Es jau īstenoti ātruma monotonism bet I've problēmas ar preemption.Plānotāja sākas ar aparatūras taimeris pārtraukt.Tad plānotāja sākas ar pārtraukt, tā pārbauda uzdevumu sarakstu un uzdevumu statusu saraksts tad pieņems lēmumu, kura uzdevums darboties.
bet,
piemēram, (@ t = laikā)
@ 0: Taimeris pārtraukt notiek, plānotāja sākas TASK1.Let's teic, ka tas ir ilgs 10 miliseconds.
@ 1: Taimeris pārtraukt vēlreiz.Plānotājs nolemj TASK1 var turpināt.Ieņēmumi no pārtraukt.(Tā
būs atgriezties TASK1 (); funkcija)
@ 2: tāpat kā 1
@ 3: tāpat kā 1
.
.
@ 11: Taimeris pārtraukt.Plānotājs nolemj TASK1 vajadzētu nogaidīt un TASK2 vajadzētu darboties tūlīt ...Izmaiņas uzdevumu sarakstā.HERE: Tagad esmu atgriezties no pārtraukt.Bet tā atgriezīsies pie TASK1 ();anulēts TASK1 (spēkā neesošs) (darīt kaut ko
darīt kaut ko
--->>> Pārtraukt (task1 jāturpina)
darīt kaut ko
darīt kaut ko
--->>> Pārtraukt (task1 jāturpina)
darīt kaut ko
darīt kaut ko
--->>> Pārtraukt (task1 jāturpina)
darīt kaut ko
darīt kaut ko
--->>> Pārtraukt (task1 būtu Nopirkts un TASK2 darbosies!)
darīt kaut ko
darīt kaut ko
darīt kaut ko
darīt kaut ko
)
Man ir vajadzīga ierosinājums par to, kā let plānotāja vadīt šo uzdevumu un sevi.Pirmās pārtraukt balstīta pieeja šķita labas man bet es nesaprotu, kā to izdarīt tagad.Any help būs appreciated.
Ar laba vēlējumiem
Es īstenojot reālā laika Task plānotājs, izmantojot NXP LPC 2148 ARM7 CPU izmantojot GCC-Winarm.
Plānotāja būs Rate monotonā (uzdevumus ar īsāku periodu ir lielākas prioritātes) un pirmpirkuma.
Es jau īstenoti ātruma monotonism bet I've problēmas ar preemption.Plānotāja sākas ar aparatūras taimeris pārtraukt.Tad plānotāja sākas ar pārtraukt, tā pārbauda uzdevumu sarakstu un uzdevumu statusu saraksts tad pieņems lēmumu, kura uzdevums darboties.
bet,
piemēram, (@ t = laikā)
@ 0: Taimeris pārtraukt notiek, plānotāja sākas TASK1.Let's teic, ka tas ir ilgs 10 miliseconds.
@ 1: Taimeris pārtraukt vēlreiz.Plānotājs nolemj TASK1 var turpināt.Ieņēmumi no pārtraukt.(Tā
būs atgriezties TASK1 (); funkcija)
@ 2: tāpat kā 1
@ 3: tāpat kā 1
.
.
@ 11: Taimeris pārtraukt.Plānotājs nolemj TASK1 vajadzētu nogaidīt un TASK2 vajadzētu darboties tūlīt ...Izmaiņas uzdevumu sarakstā.HERE: Tagad esmu atgriezties no pārtraukt.Bet tā atgriezīsies pie TASK1 ();anulēts TASK1 (spēkā neesošs) (darīt kaut ko
darīt kaut ko
--->>> Pārtraukt (task1 jāturpina)
darīt kaut ko
darīt kaut ko
--->>> Pārtraukt (task1 jāturpina)
darīt kaut ko
darīt kaut ko
--->>> Pārtraukt (task1 jāturpina)
darīt kaut ko
darīt kaut ko
--->>> Pārtraukt (task1 būtu Nopirkts un TASK2 darbosies!)
darīt kaut ko
darīt kaut ko
darīt kaut ko
darīt kaut ko
)
Man ir vajadzīga ierosinājums par to, kā let plānotāja vadīt šo uzdevumu un sevi.Pirmās pārtraukt balstīta pieeja šķita labas man bet es nesaprotu, kā to izdarīt tagad.Any help būs appreciated.
Ar laba vēlējumiem