oppretter i multitasking OS, hva betyr det?

S

shax

Guest
Jeg prøver å opprette en multitasking modul.noen kan forklare meg hva som faktisk
skje når en oppgave er skapt i perioden for interne prosessor register som stakk pekeren eller annet register.Jeg bruker 8051 mikrokontroller.

 
Min kjære venn:

På 1ste vil jeg be om unnskyldning for min stakkars Enghish.
Jeg håper du forstår hva jeg mener.

Nå vil jeg bruke AT89C51 (en chip kompatibel med MCS-51 produkter) å forklare:

Anta at det er to oppgaver: Task1 og Task2

Når operere Task1, verdien av OS stabelen pekeren ---- SP er 00t (SP == 00t), og bunken spenner fra 00t til 1Fh.Dette stabelen pekeren er også Task1 data stack pekeren.
Før OS bytte fra Task1 til Task2, vil programmet utføre et avbrudd (avbrytelsen kan T1 overløp, eller T0 overflow eller andre else.But dette avbruddet må planlegges når du skriver programmet, betyr det at du vil at avbrudd vises den tiden), vil dette føre til avbrudd 4 ting skje:

1st.
Push noen registrerer 'verdi i bunken, som ACC, B, R0, R1 .... PSW ....noen registrerer du bruker i Task1, men vil endre verdien i Task2.

2nd.
Gi den nye verdien til SP, bør verdien være Task2 stack pekeren ---- SP er 20h og bunken spenner fra 20h til 3FH.This stabelen pekeren er også Task2 data stack pekeren.

3
Pop the Task2 data ut fra bunken.

4.
Operate Task2.Jeg håper ovenstående er svaret du trenger.
Ved spørsmål, sand meg en e-post, og jeg skal prøve mitt beste
aaaaaaaaaalyl (at) 163.com

 
For grunnleggende forståelse av multitasking, kan du lese boken om UC / OS II fra Jean Labrosse kapittel 2, fant jeg koblingen for nedlasting i dette forumet et sted.
Det er veldig bra for å få grunnleggende forståelse av RTOS.

med vennlig hilsen,

 

Welcome to EDABoard.com

Sponsor

Back
Top