[go: up one dir, main page]

0% encontró este documento útil (0 votos)
93 vistas18 páginas

SASE 2019 Tutorial RTOS

Este documento compara un sistema embebido tradicional basado en un super loop con un sistema basado en un sistema operativo en tiempo real (RTOS). Explica que un RTOS requiere más RAM y ROM, pero permite definir procesos, prioridades e interacciones mediante sincronización con eventos. Luego describe conceptos clave de un RTOS como el kernel, scheduler, tareas, prioridades y tipos de eventos como semáforos y colas de mensajes. Finalmente, muestra un ejemplo de cómo implementar el mismo sistema usando cada enfoque.

Cargado por

VCF ANALOG
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
93 vistas18 páginas

SASE 2019 Tutorial RTOS

Este documento compara un sistema embebido tradicional basado en un super loop con un sistema basado en un sistema operativo en tiempo real (RTOS). Explica que un RTOS requiere más RAM y ROM, pero permite definir procesos, prioridades e interacciones mediante sincronización con eventos. Luego describe conceptos clave de un RTOS como el kernel, scheduler, tareas, prioridades y tipos de eventos como semáforos y colas de mensajes. Finalmente, muestra un ejemplo de cómo implementar el mismo sistema usando cada enfoque.

Cargado por

VCF ANALOG
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 18

SISTEMAS OPERATIVOS

EN TIEMPO REAL
M SC. I NG. CARLOS CENTENO
G.I N.T.E.A.UTN FRC
TEMARIO

• Sistema Embebido Super Loop


• Generalidades
• Ejemplo
• Conversión a RTOS
• Conceptos Generales de RTOS
• KERNEL
• SCHEDULER
• TAREAS
• PRIORIDADES
• SINCRONIZACION
GENERALIDADES

• Cada “tarea” es una función en C.


• Se llaman por turno desde el bloque
principal.
• NO existen prioridades.
• Se ejecutan rápidamente y regresan al
bloque principal.
• Pueden usar una variable de estado.
• Se usan esperas pasivas – delay.
• NO hay timers.
SISTEMA EMBEBIDO

I/O
LCD
TECLADO

MICRO USART
RS232
MUX
Input
SPI
USB

FILTROS OFFSET PGA ADC

Sistema de Adquisición de Señales


SOLUCION SUPER LOOP
Implementación del Software de control basado en topología súper loop

LEER Teclado
Timer ISR
LEER ADC
Borrar Pantalla
RS232

Filtrado Digital c=c+1


Si c>=5
T=0
Escribir Pixel
Frec Muestreo: 500Hz
Resolución LCD: 240 pixel
T == 1
Resolución Impresión: 5 muestras por pixel
Tiempo de ciclo: 10mS
CONVERSION A RTOS

• Se requiere RAM y ROM adicional


para la uso de un RTOS.
• Requiere definir cada PROCESO.
• Se deben definir las prioridades.
• Se deben definir las interacciones
entre procesos.
• Sincronización con EVENTOS.
SUPER LOOP  RTOS

Ejecutivo
MultitareaCICLICO
RTOS
LEER Teclado Timer
Interrupt Service
Tarea Tarea LCD Tarea Teclado Tarea ADC Tarea
Borrar Pantalla LEER ADC
Comunicación IDLE

Prioridad = 2 Prioridad = 3 Prioridad = 4 Prioridad = 1


RS232 Prioridad = 63
Filtrado Digital

Escribir Pixel Timer


Interrupt Service

LEER ADC
T==1
EVENTOS
RS232
RTOS
• Conceptos Generales
• KERNEL
• SCHEDULER
• TIPO
• PREEMPTIVE
• NON PREEMTIVE
• TAREAS
• ESTADOS DE OPERACIÓN
• TCB  RAM
• STACK  RAM
RTOS
• Conceptos Generales
• TAREAS
• PRIORIDADES
• REENTRANCIA
• SINCRONIZACION
• ECB
• TIPOS DE EVENTOS
• SEMAFOROS
• MUTEX
• MAILBOX
• QUEUES
TIPOS RTOS
REENTRANCIA
ESTADOS DEL SISTEMA
EVENTOS

 Semáforos
 Mailbox
 Queues
ESQUEMA USANDO RTOS

Tarea Tarea LCD Tarea Teclado Tarea ADC Tarea


Comunicación IDLE

Prioridad = 2 Prioridad = 3 Prioridad = 4 Prioridad = 1 Prioridad = 63

EVENTOS
ESQUEMA USANDO RTOS

Tarea Tarea LCD Tarea Teclado Tarea ADC Tarea


Comunicación IDLE

Prioridad = 2 Prioridad = 3 Prioridad = 4 Prioridad = 1 Prioridad = 63

Semaforo
Semaforo

MailBox
MailBox
CODIGO USANDO RTOS

void comm() void LCD() void KEY() void ADC() void IDLE()
{ { { { {
while(1){ while(1){ while(1){ while(1){ while(1){
… … … … …
… … … … …
} } } } }
} } } } }

Semaforo
Semaforo

MailBox
MailBox
RTOS DISPONIBLES
• uCOS III
• https://www.micrium.com/rtos/kernels/
• freeRTOS
• https://www.freertos.org/
• AVIX RT
• http://www.avix-rt.com/
• THREADX RTOS
• https://rtos.com/

EJEMPLO LOOP EJEMPLO RTOS


PREGUNTAS ???

GRACIAS POR SU ATENCION!!!!!

MSc. Ing. Carlos Centeno


ccenteno@gmail.com

G.In.T.E.A. – FRC UTN


http://www.investigacion.frc.utn.edu.ar/gintea/

También podría gustarte