PDF de programación - Sistemas Operativos en Microcontroladores

Imágen de pdf Sistemas Operativos en Microcontroladores

Sistemas Operativos en Microcontroladoresgráfica de visualizaciones

Publicado el 9 de Junio del 2020
889 visualizaciones desde el 9 de Junio del 2020
943,3 KB
44 paginas
Creado hace 18a (23/03/2006)
Departamento
Electrónica

H
A
U

-

A
C
E
P
E
D



SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS

ENEN

MICROCONTROLADORES
MICROCONTROLADORES
Seminario de Microrrobots
21 – 23 de Marzo 2006

Oscar González Martínez



Departamento
Electrónica

Introducción

● Queremos construir un robot complejo.
¿Cómo lo podemos hacer?

Memoria

Motores

USB

Sensores

Cámara FW

Acceso a redes

Hombrecillo,
pensativo:
Programador



Departamento
Electrónica

Introducción

● Introducción

– Gracias al aumento de las prestaciones de los

Microcontroladores y Microprocesadores cada vez:
● su uso se ha extendido a muchos campos.
– Ordenadores, Teléfonos, Alarmas ... Robots

● Su tamaño y consumo se reducen más
● Permite creación de aplicaciones más potentes y

variadas.

● Ofrecen mayor velocidad y capacidad de cómputo



Departamento
Electrónica

Introducción

– Todo esto viene acompañado de un incremento de

la complejidad del dispositivo

Z80,8086 HC11,M68k ...

Pentium M, HC12, AT91X

Antes

Ahora

– Consecuencia:

D
A
T
L
U
C
F
D

I

I

INCREMENTO de la
dificultad en el diseño
de las aplicaciones,

programas



Departamento
Electrónica

Introducción

● ¿Cómo podemos implementar un sistema
complejo (robot) donde...:
– Existen diversos subsistemas que han de ser

controlados?
● Motores
● Sensores
● Control de Baterias...

MICROCONTROLADOR
MICROCONTROLADOR



Departamento
Electrónica

Introducción

– Deben funcionar de forma coordinada unos con
– Deben funcionar de forma coordinada unos con
– Deben funcionar de forma coordinada unos con

otros?.
otros?.
otros?.

– Dos opciones:
– Dos opciones:
– Dos opciones:

● 1ª: Nos lo “curramos” nosotros.
● 1ª: Nos lo “curramos” nosotros.
● 1ª: Nos lo “curramos” nosotros.
● 2ª: Usamos un “programa” que nos ayude.
● 2ª: Usamos un “programa” que nos ayude.
● 2ª: Usamos un “programa” que nos ayude.

PLANIFICADOR
PLANIFICADOR



Departamento
Electrónica

Introducción

– Necesitamos tener seguridad de que:

● Reaccione ante eventos en un tiempo máximo?

– Restricciones temporales: Sistema de Tiempo Real

● Se pueda recuperar ante errores leves y/o graves?

– Métodos para llevar al sistema a estados “estables” y conocidos

cuando se produzca algún tipo de error.

– Mecanismos de “Traza inversa”.

● Sea móvil y autónomo (consumo y tamaño reducidos)?

Sistema
Sistema

EMPOTRADO
EMPOTRADO



Departamento
Electrónica

Programación en uC

● DISEÑO DEL SISTEMA:

– Hasta ahora:

● Para la atención ante eventos

Rutinas de atención
a las Interrupciones

TAREA en
EJECUCIÓN

Microcontrolador



Evento



Planificación

de

Temporicación

Departamento
Electrónica

Programación en uC

– El desarrollo del software del sistema consistía en:

Programación de la aplicación EN SÍ

Planificación

Planificación de la temporización a nivel
de interrupción, estudiando su viabilidad
junto a la tarea principal en ejecución.

TIEMPO DE DESARROLLO ALTO
● Además de la dependencia directa con el microcontrolador



Programación

● COMPLICADO SI EL NÚMERO DE TAREAS AUMENTA



Departamento
Electrónica

Programación en uC

● Pero... ¿Y si utilizamos un “programa
específico”, sobre el que ejecutamos
nuestros programas, que conoce las
capacidades de nuestro hardware y nos
ayuda a manejarlo?
● Nos aporta funciones para “quitarnos”
trabajo, entre otras cosas, en:
– La ejecución “a la vez” de multiples tareas.
– La planificación y temporización de las tareas.



Departamento
Electrónica

Programación en uC
● Este modelo de desarrollo aporta:

– Disminuye la complejidad en la programación del

sistema.
● Se dedica más tiempo a la programación de la

aplicación en sí.

● Se incrementa la portabilidad de los programas al no

“hablar” estos directamente con el hardware.

PROGRAMAS

SO

HARDWARE



Departamento
Electrónica

Programación en uC

● Se hace uso de funciones genéricas que ahorran trabajo.
● Aumenta la seguridad ante errores simples/graves del

sistema.

a++;

int a;
while(CONDICION_VERDADERA)
{
}
/* CONDICION_VERDADERA sucede que nunca es
falsa */

– Posible error de desbordamiento de la variable “a”.
– Espera activa

EL SISTEMA SE PUEDE “COLGAR”



Departamento
Electrónica

Programación en uC

● Solución:

MICROCONTROLADOR

SISTEMA OPERATIVO

+



Departamento
Electrónica

SISTEMAS OPERATIVOS EN

MICROCONTROLADORES

● ¿Qué es un Sistema Operativo?

– Conjunto de programas destinados a abstraer el
HW de un dispositivo al Usuario, gestionando sus
recursos de forma eficiente.

– Todos las aplicaciones del usuario se ejecutarán
haciendo uso de las PRIMITIVAS(funciones) que
aporta el S.O., evitando la comunicación directa de
éstos con el hardware.



SISTEMAS OPERATIVOS EN

Departamento
Electrónica

MICROCONTROLADORES
● ¿Por qué y para qué el uso de un SO?
– Ofrecen una visión menos compleja del HW
– Facilitan el manejo del HW aportando funciones al

usuario.

– Portabilidad de las librerias y programasº
– Hace parecer al usuario que se ejecutan todas las

aplicaciones al mismo tiempo.

– Aportan seguridad en el funcionamiento del sistema

y/o uso malintencionado de él mismo.

– Soporte ante posibles fallos de las aplicaciones que



se ejecutan.



SISTEMAS OPERATIVOS EN

MICROCONTROLADORES

Departamento
Electrónica

● Partes de un SO:

Programa 2

Programa 1

Programa 3

Aplicaciones
de Usuario

HAL(Hardware Abstration Layer)

MANEJADORES de DISPOSITIVOS

KERNEL del

S. O.



HARDWARE

Departamento
Electrónica

SISTEMAS OPERATIVOS EN

MICROCONTROLADORES

● ¿Dónde se utilizan los SSOO?

– Dependiendo:

● de las funciones que nos ofrezcan:

– Sistemas Operativos Genéricos
– Sistemas Operativos Específicos
● del dispositivo que se emplee:

– uProcesador
– uControlador



SISTEMAS OPERATIVOS EN

MICROCONTROLADORES

Departamento
Electrónica

● Requisitos:

– El microcontrolador necesitará mayores recursos

que en el caso de no ejecutar un SO.

– Existen procesos que siempre se estarán

“ejecutando” consumiendo recursos.
● Hecho cada vez “menos relevante”, pues lo dispositivos

cada vez son más potentes.

– Aunque abstraiga el HW, es necesario por parte del

programador conocerlo y saber sus posibilidades.



Departamento
Electrónica

SISTEMAS OPERATIVOS EN

MICROCONTROLADORES

– Los requisitos variaran en función de la aplicación,

pero como elementos básicos, son necesarios:
● Un dispositivo de almacenamiento no volátil:

– Lugar donde se almacenan el SO y los programas cuando

sistema está apagado.

– Memoria NVRAM, Flash...

● Memoria de ejecución: RAM

– Al arrancar se cargan el Kernel(SO), los programas y los datos

de usuario.

– Opcionales:

● Gestor de Memoria: MMU, DMA ...

– Cuando se use “Memoria Virtual” y/o “acceso directo a



memoria”

● Periféricos: Sensores, Teclado, Pantalla, etc.



Departamento
Electrónica

SISTEMAS OPERATIVOS EN

MICROCONTROLADORES

● La Portabilidad

– Los microcontroladores se pueden programar

usando:
● Lenguaje Máquina:

– 000010011110111001...

● Lenguajes de Bajo Nivel: ENSAMBLADOR

– MOV AX, BX

● Lenguajes de Alto Nivel: BASIC, C, C++...

– A = B

– Al emplear lenguajes de alto nivel, “sólo” es

necesario compilar el programa para la arquitectura
del microcontrolador que se va a usar.



Departamento
Electrónica

SISTEMAS OPERATIVOS EN

MICROCONTROLADORES

● El Planificador

– Programa que junto al “conmutador” decide que

tareas se ejecutan en cada momento.
– Distribuye el tiempo de ejecución en el

microcontrolador de las diferentes tareas de
usuario.



Departamento
Electrónica

SISTEMAS OPERATIVOS EN

MICROCONTROLADORES

APLICACIONES DE

USUARIO

Compilador + Enlazador

Librerias

MÓDULOS

Sistema Operativo (KERNEL)

8051

AVR

ARM

MC68K

x86

uSPARC

PPC



Departamento
Electrónica

SISTEMAS OPERATIVOS EN

MICROCONTROLADORES

● Tipos de SSOO

– Según la clase de sistema en el que se ejecutan:

● Ordenador Personal
● Dispositivo móvil: “Sistema Empotrado”

– PDA's, Móviles, Routers, Fotocopiadoras ... Robots



Departamento
Electrónica

SISTEMAS OPERATIVOS EN

MICROCONTROLADORES

– Según el tipo de licencia:

● Propietaria

– Código de los programas = CERRADO. No se pueden modificar
– Su obtención es a partir de un PAGO por licencia de uso

● Libre distribución

– Código de los programas puede ser leido por cualquier persona
– Su obtención a partir de diversas fuentes GRATUITAS



SISTEMAS OPERATIVOS EN

Departamento
Electrónica

MICROCONTROLADORES
– Según su tipo de respuesta ante eventos:

● Interactivos:

– Existe “interfaz” de usuario ya sea físico o visual.
– Su tiempo de respuesta ante eventos producidos por el usuario

tiende a ser corto.

● Tiempo Real

– Usados para aplicaciones donde el tiempo de ejecución es muy

importante.

– El tiempo de respuesta ante eventos está acotado a un valor

máximo.



Departamento
Electrónica

GNU/Linux - Kernel

● Breve Historia y Evolución

– 1991: Linus Torvalds escribe el Kernel de Linux en la Universidad de

Helsinki en 6 meses empleando su PC 80386.

– 1991: Linus comparte su kernel en la red, haciendo que los

programadores se queden asombrados, y deciden contribuir en el
proyecto de desarrollo del nuevo núcleo.

– 1992: Linux se libera bajo la licencia GNU General Public License
– 1994: La version 1.0 de Linux 1.0
– 1994: Se funda la empresa Red Hat por Bob Young y Marc Ewing,

creando un nuevo modelo de negocio entorno a Linux..

– 1995: GNU/Linux y el desarrollo de software libre se ponen a

disposición en los servidores de Internet.



– 2001: IBM invierte un 1 billion de dólares en Linux
– 2002: GNU/Linux comienza a adoptarse en diversos sectores de la



industria.

Departamento
Electrónica

GNU/Linux - Kernel

● Es el núcleo del Sistema Operativo
● Su código fuente es abierto. Se puede modificar.
● Es portable entre arquitecturas, además de
“configurable” a medida, sólo es necesario
compilarlo con las opciones y servici
  • Links de descarga
http://lwp-l.com/pdf17736

Comentarios de: Sistemas Operativos en Microcontroladores (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad