Você está na página 1de 15

STR Sistemas de Tiempo Real

Juan Sebastin Cabrera Sistemas de Control Embebido Universidad del Cauca

Contenido
Caractersticas de STR Ejecutivo Cclico STR en CCS

Tipos de STR
Sistemas de Tiempo Real Crticos. Sistemas en los que existe al menos una tarea para la que no se admite nunca una violacin del plazo de ejecucin. Entre las aplicaciones de este tipo de sistemas se encuentran los controles de seguridad de una planta nuclear. Sistemas de Tiempo Real Flexible Sistemas en los que se puede violar algunos plazos de ejecucin a costa de la calidad del funcionamiento. Como ejemplo de aplicacin de sistemas de tiempo real flexibles estn los conmutadores telefnicos.

Sistemas de Tiempo Real Firme Si una tarea emite su respuesta o seal de salida fuera del plazo de ejecucin previsto, esta respuesta es simplemente descartada. Como ejemplo tenemos las aplicaciones multimedia.

STR en CCS
El sistema operativo de tiempo real de CCS permite que un microcontrolador de Microchip defina y ejecute regularmente tareas programadas. Esto se lograda por un despachador construido en el momento de la compilacin, utilizando las directivas de programacin del respectivo procesador. Proporciona un sistema operativo multitarea de tiempo real cooperativo; sin embargo, debido a las limitaciones prcticas del PIC, CCS Real Time Operation System, no ofrece un planificador apropiativo.
Para una mas amplia informacin del software, ver el link www.ccsinfo.com

STR en CCS
#use rtos(opcin) Las opciones deben ir separadas por comas y pueden ser las siguientes:

timer = X, donde X es 0-4 espesificando el timer que se usar para el RTOS


minor_cycle = time, donde time es un nmero seguido por s, ms, us, ns, este es el tiempo mas corto en el cual puede correr cualquier tarea, cada rata de ejecucin de una tarea, debe ser mltiplo de este tiempo. El compilador puede calcular este tiempo, si este no es especificado.

STR en CCS
rtos_await (expresin) Esta funcin puede ser solamente usada dentro de una tarea RTOS, y hace que la tarea se duerma hasta que la expresin sea verdadera, permitiendo ejecutarse a otras tareas mientras esta espera a que la expresin sea verdadera.

STR en CCS
rtos_enable (task) Habilita una tarea para que se ejecutase en su rata especificada. Todas las tareas son habilitadas por defecto. i = rtos_msg_poll() Esta funcin puede ser solamente usada dentro de una tarea RTOS, retorna el nmero de mensajes que se encuentran en la cola asignada a dicha tarea

STR en CCS
b = rtos_msg_read() Esta funcin puede ser solamente usada dentro de una tarea RTOS, retorna el mensaje mas antiguo de la cola de mensajes rtos_msg_send(task, byte) Esta funcin puede ser llamada en cualquier momento despues de haber llamado a la funcin RTOS_RUN(), y lo que hace, es enviar un mensaje (byte) a determinada tarea (task)

STR en CCS
rtos_overrun([task]) Esta funcin retorna verdadero, si la tarea especificada tom mas tiempo para ejecutarse que el que le fue asignado; si no se especfica ninguna tarea, entonces retorna verdadera si alguna de todas las tareas, funcion por encima del tiempo especificado.

STR en CCS
rtos_run() Esta funcin comienza la ejecucin de todas la tareas habilitadas (todas las tareas son habilitadas por dejecto) esta funcin controla la ejecucin de las tareas de RTOS, teniendo en cuenta, las ratas temporales permitidas para cada una de ellas. Se retorna de esta funcin, solamente cuando es llamada la funcin RTOS_TERMINATE(), por supuesto, por alguna de las tareas en ejecucin

STR en CCS
rtos_signal (sem) Tiene como argumento, a la variable global sem que representa la actual disponibilidad de un recurso de sistema compartido (un semaforo), esta funcin incrementa semforo, para dar a conocer a tareas que se encuentren esperando por el recurso compartido que reencuentra disponible para su uso.

STR en CCS
rtos_stats(task,stat) task = identificador de la funcin que esta siendo usada como una tarea de RTOS stat = puede ser lo siguiente: rtos_min_time mnimo tiempo (ciclos de instruccin) necesarios para una ejecucin. rtos_min_time mximo tiempo (ciclos de instruccin) necesarios para una ejcucin rtos_total_time tiempo total (ciclos de instruccin) necesarios para la ejecucin tolas

STR en CCS
rtos_terminate() Esta funcin termina la ejecucin de todas las tareas RTOS, la ejecucin del programa continuar con la primera lnea de cdigo luego de la funcin RTOS_RUN(), esta funcin causa el retorno de la funcin RTOS_RUN().

STR en CCS
rtos_wait (sem) sem, es una variable global que representa la actual disponibilidad de un recurso del sistema compartido (un semaforo). Esta funcin, puede ser solamente usada por una tarea RTOS, esta funcin duerme a la tarea en ejecucin, hasta que la sem, sea mas grande que cero (momento en que el recurso se encuentra disponible), entonces decrementa a sem para bloquear el uso a otra tarea del recurso compartido y continua la ejecucin del resto del cdigo, Esta funcin, permite que se ejecuten otras tareas mientras la tarea espera hasta que el recurso compartido est disponible.

STR en CCS
rtos_yield() Esta funcin solamente puede ser llamada por una tarea RTOS. Al ser llamada esta funcin, para la ejecucin de la actual tarea y retorna el control del procesador a RTOS_RUN, en el siguiente periodo de tiempo de ejecucin, esta comienza su ejecucin una lnea de cdigo despus de RTOS_YIELD

Você também pode gostar