Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará...

44
Departamento Electrónica SISTEMAS OPERATIVOS SISTEMAS OPERATIVOS EN EN MICROCONTROLADORES MICROCONTROLADORES D E P E C A - U A H Seminario de Microrrobots 21 – 23 de Marzo 2006 Oscar González Martínez

Transcript of Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará...

Page 1: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

DepartamentoElectrónica

SISTEMAS OPERATIVOSSISTEMAS OPERATIVOSENEN

MICROCONTROLADORESMICROCONTROLADORES

DEPECA - UAH

Seminario de Microrrobots 21 – 23 de Marzo 2006

Oscar González Martínez

Page 2: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

Introducción

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

Memoria

Motores

Acceso a redes

USB

Sensores

Hombrecillo, pensativo: Programador

Cámara FW

DepartamentoElectrónica

Page 3: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

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

DepartamentoElectrónica

Page 4: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

Introducción

– Todo esto viene acompañado de un incremento de la complejidad del dispositivo

– Consecuencia:

Z80,8086 HC11,M68k ...

Antes

Pentium M, HC12, AT91X

AhoraD

IFIC

UL T

AD INCREMENTO de la

dificultad en el diseño de las aplicaciones,

programas

DepartamentoElectrónica

Page 5: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

Introducción

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

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

MICROCONTROLADORMICROCONTROLADOR

DepartamentoElectrónica

Page 6: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

Introducción

– Deben funcionar de forma coordinada unos con otros?.

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

PLANIFICADORPLANIFICADOR

– Deben funcionar de forma coordinada unos con otros?.

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

– Deben funcionar de forma coordinada unos con otros?.

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

DepartamentoElectrónica

Page 7: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

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 EMPOTRADOEMPOTRADO

DepartamentoElectrónica

Page 8: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

Programación en uC

● DISEÑO DEL SISTEMA:– Hasta ahora:

● Para la atención ante eventos

Rutinas de atencióna las Interrupciones

Evento

Microcontrolador

TAREA enEJECUCIÓN

Planificaciónde

Temporicación

DepartamentoElectrónica

Page 9: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

Programación en uC

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

Programación de la aplicación EN SÍ

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

● COMPLICADO SI EL NÚMERO DE TAREAS AUMENTA

Planificación

Programación

DepartamentoElectrónica

Page 10: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

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.

DepartamentoElectrónica

Page 11: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

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.

HARDWARE

SO

PROGRAMAS

DepartamentoElectrónica

Page 12: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

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

sistema.

– Posible error de desbordamiento de la variable “a”.– Espera activa EL SISTEMA SE PUEDE “COLGAR”

int a;while(CONDICION_VERDADERA){

a++;}

/* CONDICION_VERDADERA sucede que nunca es falsa */

DepartamentoElectrónica

Page 13: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

Programación en uC

● Solución:

MICROCONTROLADOR+

SISTEMA OPERATIVO

DepartamentoElectrónica

Page 14: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

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.

DepartamentoElectrónica

Page 15: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

SISTEMAS OPERATIVOS EN 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.

DepartamentoElectrónica

Page 16: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

SISTEMAS OPERATIVOS EN MICROCONTROLADORES

● Partes de un SO:

HARDWARE

MANEJADORES de DISPOSITIVOS

KERNEL del S. O.

HAL(Hardware Abstration Layer)

Aplicaciones de UsuarioPrograma 1

Programa 2

Programa 3

DepartamentoElectrónica

Page 17: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

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

DepartamentoElectrónica

Page 18: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

SISTEMAS OPERATIVOS EN MICROCONTROLADORES

● 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.

DepartamentoElectrónica

Page 19: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

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.

DepartamentoElectrónica

Page 20: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

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.

DepartamentoElectrónica

Page 21: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

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.

DepartamentoElectrónica

Page 22: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

SISTEMAS OPERATIVOS EN MICROCONTROLADORES

8051 uSPARCx86MC68K PPCAVR ARM

Sistema Operativo (KERNEL)

Compilador + Enlazador Librerias

APLICACIONES DE USUARIO

MÓDULOS

DepartamentoElectrónica

Page 23: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

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

DepartamentoElectrónica

Page 24: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

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

DepartamentoElectrónica

Page 25: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

SISTEMAS OPERATIVOS EN 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.

DepartamentoElectrónica

Page 26: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

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.

DepartamentoElectrónica

Page 27: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

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 servicios que sean necesarios.

● El soporte: Lo somos TODOS.● Las fuentes y la documentación se pueden

encontrar en Internet:

www.kernel.org

DepartamentoElectrónica

Page 28: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

GNU/Linux - Kernel

● El Kernel es una imagen que se almacena en memoria no volátil y que se carga cuando se arranca el dispositivo.

● Aporta seguridad en la ejecución de programas de usuario: Plano Usuario-Kernel.– El usuario no “interactúa” directamente con el HW,

todas las peticiones han de pasar por el Kernel

● El número de clases de estas peticiones (Manejadores y Servicios) dependerá con las que se haya creado el Kernel.

DepartamentoElectrónica

Page 29: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

GNU/Linux - Kernel

● Para dar soporte al HW(Drivers) y ofrecer servicios, existen dos métodos:– Incluir todos los drivers y servicios dentro del

Kernel.● Cuidado con el tamaño de la imagen● Carga rápida

DRIVER deMemoria USB

USUARIO KERNEL

Aplicación MemoriaUSB

HARDWARE

DepartamentoElectrónica

Page 30: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

GNU/Linux - Kernel

– Incluir parte dentro del Kernel y parte fuera: MÓDULOS.

● Los módulos son programas que se ejecutan cuando son necesarios desde el plano de usuario, siendo capaces de interectuar directamente con el Kernel.

● Flexibilidad y escalabilidad

USUARIO KERNEL

Modulo del USB

Aplicación

MemoriaUSB

HARDWARE

DepartamentoElectrónica

Page 31: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

L.Embebido - Kernel Reducido

● Kernel especial cada vez más utilizado para sistemas empotrados. – Aspectos más relevantes:

● Hardware soportado(cada vez mayor).● Código fuente abierto.● Calidad y estabilidad del código. Seguridad.● Protocolos de comunicaciones y estándares de software.● Soporte● Disponibilidad de herramientas● Coste y tipo de licencia

DepartamentoElectrónica

Page 32: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

Linux Embebido–Kernel Reducido

● Especificaciones genéricas de un SO para usarlo en un sistema empotrado:– Tamaño de la imagen reducida

– Escalable

– Configurable

– Soporte para la arquitectura del núcleo(CPU)

– Manejadores de los dispositivos

– Robusto ante fallos

DepartamentoElectrónica

Page 33: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

L.Embebido - Kernel Reducido

● Ejemplos de SO Embebidos basados en Linux para sistemas empotrados– uCLinux

– Emdebian

– RTLinux

– BlueCat

– AMIRIX

DepartamentoElectrónica

Page 34: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

L.Embebido - Kernel Reducido

● Ejemplo: – Características:

● S.O. Multitarea con arquitectura modular● Kernel v2.4.x y v2.6x● Protocolos de red (TCP/IP, SLIP, PPP)● Sistemas de ficheros (ext2, NFS, FATx)● Ausencia de gestión de Memoria (MMU)

– NO memoria virtual– NO protección de memoria

● Librerias de Linux (libc)● Programas varios: Shell, mount, ls, cp... ● ...

DepartamentoElectrónica

Page 35: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

Creación de una plataforma

● Tras estos conceptos nos surgen ciertas preguntas para la creación de una plataforma.– ¿Cómo podemos conseguir un entorno basado en

Linux embebido?

– ¿Cuáles son los pasos a seguir?

– ¿Cuáles son los requisitos mínimos del sistema?

– ¿Qué herramientas HW/SW son necesarias?

– ¿Es posible con nuestros medidos conseguir un microcontrolador que funcione con Linux embebido?

DepartamentoElectrónica

Page 36: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

Creación de una plataforma

● “Todo es relativo”, dependiendo de las capacidades que impongamos a nuestro sistema.– Restricciones en cuanto a los medios que se

dispongan.

– Clase y tipo (“tamaño”) de los componentes a usar

– Son necesarios conocimientos de diversas ramas para el desarrollo:

● Diseño del PCB, Diseño del Hardware..● Programación..

DepartamentoElectrónica

Page 37: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

Creación de una plataforma

● Existen dos opciones que debemos tener en cuenta a la hora del desarrollo:– Comprar una tarjeta con el HW ya montado

– “Partir de cero” comprando los componentes y haciendo un sistema a nuestra medida.

● Cada una tendrá sus ventajas e inconvenientes.

DepartamentoElectrónica

Page 38: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

Creación de una plataforma

● El S.O. y las aplicaciones se crean en un “Entorno de de desarrollo”(SDK):– En un PC se instalan las herramientas de

desarrollo (CrossTools).● Suelen estar en la red o son suministradas por el

fabricante.● Constan de:

– Compilador y Enlazador cruzado entre arquitecturas(PC-Host).– Programas ejemplo de “Bootloader” y “Cargadores”.– RootFS básico.– Librerias de desarrollo.– Documentación.

DepartamentoElectrónica

Page 39: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

Creación de una plataforma

● Modos de Operación:– Compilación de la imagen del Kernel y creación de

un entorno “root” con un sistema de ficheros.

.c .h ..

Compilador y enlazador cruzados

.bin Módulos

Kernel(vmlinuz)

.c .h .. .c .h ..

.c .h ..A partir de: “mkcramfs”

“mkfs.ext2”“mkfs.jffs2”...

RootFS

DepartamentoElectrónica

Page 40: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

Creación de una plataforma

● Carga de los ficheros en nuestro sistema empotrado:

Bootloader

Bootstrap Bootstrap

vmlinuz

Módulos

RootFS

IMAGEN (.BIN)

Bootloader

vmlinuz

Módulos

RootFS

DepartamentoElectrónica

Page 41: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

Ejemplo: UNC20

● Ejemplo de sistema hardware para desarrollo:– UNC20

● Basado en ARM7TDMI● Fclk < 55MHz● Interface Ethernet ● Interfaz de serie RS232● Puertos genericos de E/S● Canales DMA● JTAG para test y depuración

– Empleado en un TFC de un estudiante de la UAH

DepartamentoElectrónica

Page 42: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

Referencias

● BIBLIOGRAFÍA– “Linux Device Drivers”. O'Really, Alessandro Rubini & Jonathan

Corbet.

– “Building Linux Embedded Systems”. O'Really, Karim Yaghmour.

– “Programming Embedded Systems in C/C++”. O'Really, Michael Barr.

– “Embedded Linux System Design and Development”, (Hardcover)

– “Understanding the Linux Kernel”, Paperback, Daniel Bovet. Marco Cesati.

– TFC: “Desarrollo de Aplicaciones para un sistema empotrado con SO Linux y el módulo UNC20 basado en núcleo de microprocesador ARM7TDMI”, José Antonio Rangel García. (SEPT- 2005).

– Libros de programación en C para UNIX

DepartamentoElectrónica

Page 43: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

Referencias

● Asignaturas:– Sistemas Ecos Digitales (IT, ITT en SE)

– Arquitectura de Computadores(IT, ITT en Telemática)

– Ampliación de SSOO (IT)

– Sistemas Electrónicos Avanzados de Control (IE)

– Instrumentación Biomédica (IT, IE)

DepartamentoElectrónica

Page 44: Departamento Electrónica H A SISTEMAS OPERATIVOS U …€¦ · – El microcontrolador necesitará mayores recursos que en el caso de no ejecutar un SO.

MUCHAS GRACIAS