Documente Academic
Documente Profesional
Documente Cultură
Obiective
n cadrul acestei lucrari ne vom ocupa de instalarea sistemului de operare de timp real uCOS-II si crearea unei aplicatii simple care sa testeze functionarea sistemului.
Laborator: Sistemul de operare n timp real uCOS-II procesorul suporta o stiva hardware de dimensiuni relativ mari (mai multi kiloocteti). procesorul are instructiuni care sa realizeze ncarcarea si stocarea pointerului de stiva si a celorlalte registre ale procesorului fie ntr-o stiva, fie n memorie.
Programul de aplicatie uCOS-II partea independenta de procesor uCOS-II partea specifica aplicatiei
Hardware
n figura 1 sunt prezentate componentele sistemului de operare si modul n care interactioneaza acestea cu partea hardware si cu programele de aplicatie. n tabelul 1 sunt date fisierele aferente sistemului uCOS-II:
Tabelul 1. Lista fisierelor sursa a sistemului de operare.
Nume os_cfg_r.h os_core.c os_dbg_r.c os_flag.c os_mbox.c os_mem.c os_mutex.c os_q.c os_sem.c os_task.c os_time.c os_tmr.c ucos_ii.c ucos_ii.h
Continut Fisierul de referinta pentru configurarea sistemului de operare Functii ale nucleului SO Constante si functii necesare depanarii programelor Functii ce implementeaza indicatorii de eveniment Functii ce implementeaza structurile de tip cutie de scrisori Functii pentru gestionarea memoriei Functii ce implementeaza mutex-urile Functii ce implementeaza structurile de tip coada Functii ce implementeaza structurile de tip semafor Functii asociate task-urilor Functii asociate timpului Functii ce implementeaza temporizatoarele Foloseste directive #include pentru a include fisierele anterioare Fisierul ce contine constantele si prototipurile de functii ale SO
Pentru realizarea adaptarii la un anumit procesor sau microcontroler trebuiesc create si/sau modificate fisierele date n tabelul 2:
Nume includes.h
os_cfg.h
ucos_ii.h
Continut/Modificare Fisier header care este inclus n toate fisierele .c. Va include celelalte fisiere header ale sistemului si fisiere header ale utilizatorului Fisierul de configurare a sistemului de operare. Se obtine prin copierea os_cfg_r.h sub noul nume si modificarea valorilor elementelor configurabile Functii ale nucleului SO. Modificari specifice microcontrolerului legate de memoria acestuia Fisier header specific microcontrolerului Fisier care contine codul sursa pentru functiile specifice microcontrolerului Fisierul ucos_ii.c modificat ca sa includa versiunile modificate ale lui os_core.c si fisierul includes.h Fisierul header al sistemului de operare. Modificari ce tin de limitarile existente la nivel de capacitate de memorie
Tip Nou
Modificat
Modificat
Modificarile care trebuiesc facute sunt urmatoarele stabilirea valorii constantei ce indica modul de crestere a stivei (OS_CPU.H): OS_STK_GROWTH. declararea a 10 tipuri de date (OS_CPU.H) introducerea a 3 definitii macro (OS_CPU.H): OS_ENTER_CRITICAL(), OS_EXIT_CRITICAL(), OS_TASK_SW(). scrierea a sase functii simple n limbaj C (OS_CPU.C): OSTaskStInit(), OSTaskCreateHook(), OSTaskDelHook(), OSTaskSwHook(), OSTaskStatHook(), OSTimeTickHook().
scrierea a 4 functii n limbaj de asamblare (OS_CPU_A.ASM) sau n limbaj C n cazul n care compilatorul C permite introducerea de cod n limbaj de asamblare: OSStartHighRdy(), OSCtxSw(), OSIntCtxSw(), OSTickISR().
Procedeu experimental
1. Se instaleaza sistemul de operare uCOS-II. 2. Se creaza un proiect nou care va utiliza sistemul de operare uCOS-II. Fereastra proiectului trebuie sa arate ca n figura de mai jos.
Observatii: a) Fisierul test.c este fisierul care contine programul principal. 3. Se studiaza fisierele sistemului de operare uCOS-II. a) Se studiaza fisierele sursa si de declaratii (.h) specifice adaptarii pentru microcontrolerul Freescale (vezi tabelul 2) b) Se studiaza fisierul de configurare a sistemului de operare uCOS-II, OS_CFG.H. 4. Se compileaza proiectul si se simuleaza folosind simulatorul din mediul CodeWarrior.