170 likes | 302 Views
RMA en μ COS para Sistemas Embebidos. INTEGRANTES: CIANCIOSI, AGUSTIN MUSSOLINI, DIEGO. μ C/OS-II. Micro- kernel Operating Systems Version 2 es un sistema operativo en tiempo real multitarea.
E N D
RMA en μCOS para Sistemas Embebidos INTEGRANTES: CIANCIOSI, AGUSTIN MUSSOLINI, DIEGO
μC/OS-II Micro-kernelOperatingSystemsVersion2 es un sistema operativo en tiempo real multitarea
El esfuerzo humano que se necesita para la implementacion en micro kernel es menor en comparacion a otros RTOSs
El µ C/OS-II es freeware para uso de investigación. El código fuente está escrito en C y es compatible con el formato ANSI C
El enfoque micronucleo se basa en la idea de solo colocar las funciones básicas del RTOS en el núcleo y las otras funciones están diseñadas en módulos que se comunican con el núcleo a través de ciertas interfaces. De esta forma se puede reconfigurar el sistema sin la necesidad de modificar el núcleo.
Ventajas μC/OS-II • Menor esfuerzo de implementación • Es compatible con controladores y procesadores de bajo costoy de fácil disponibilidad • Soporta Programación Planificada Desventajas μC/OS-II • No es eficiente con respecto al uso del procesador
SOLUCION Se basa en la utilización de RMA ( Rate Monotonic Analysis)
SOLUCION Se basa en la utilización de RMA ( Rate Monotonic Analysis) RMA: Es un algoritmo de planificación con asignación optima de prioridades. En RMA la tarea que se usa con mas frecuencia recibe mayor prioridad.
Algunas instrucciones…. #define OS_TICK_STEP_EN 1 /* Set to 1/0 to Enable/Disable tick stepping feature respectively for uC/OS-View */ #define OS_MAX_TASKS 3 /* Max. Number of tasks in your application, MUST be >= 2 */ #define OS_LOWEST_PRIO 5 /* Defines the lowest priority that can be assigned */
Pseudocodigo de la funcionmain () voidmain(void) { OSInit();/*Initialize OSStack and memory blocks */ TargetInit(); /* Initialize the target hardware */ OSTaskCreate(Task0,(void *)0,&Task0Stack[MaxStkSize- 1],0);/*Create Task0 with priority 0*/ OSTaskCreate(Task1,(void *)0,&Task1Stack[MaxStkSize- 1],1);/*Create Task1 with priority1*/ OSTaskCreate(Task2,(void *)0,&Task1Stack[MaxStkSize- 1],2);/*Create Task2 with priority2*/ OSStart();// startmuti-tasking }/*end of main*/
El código anterior se encarga de la inicialización del sistema operativo, la creación de tareas y la activación del entorno multitarea poniendo en ejecución las tareas creadas.
Implementation of Rate-Monotonic Scheduler on a Hardware Board Para poder utilizar RMA se diseña e implementa un planificador Rate Monotonic en un sistema de baja gama.
IMPLEMENTACION Una opción de implementación es el micro controlador 8051. El cual consta de un keypad de 4x4, un LCD de 2x16, 8 Leds y puerto serie de comunicación
Comparación uso del CPU • Theoretical value of CPU utilization = 75.68% • Obtained value of CPU utilization = 70.18% (con el uso del microcontrolador 8051)
Conclusión Se obtiene un uso optimo del procesador con el uso de RMA con bajo costo de software y hardware
Autores • R. R. Maggavi • D. A. Torse