Documente Academic
Documente Profesional
Documente Cultură
INDICE CONTENIDO
1. 2. PLANTEAMIENTO DEL PROBLEMA ................................................................................ 4 OBJETIVOS .............................................................................................................................. 4 2.1. 2.2. 3. Objetivo General ............................................................................................................... 4 Objetivos Especficos......................................................................................................... 4 Sistemas Embebidos .......................................................................................................... 5 Un sistema integrado independiente ........................................................................ 6 CLASIFICACIN DE PROCESADORES INTEGRADOS ........................................ 7 CONCEPTOS BSICOS ................................................................................................. 8 SISTEMAS EN TIEMPO REAL ..................................................................................... 9
3.4.1 Estructura general de sistemas de tiempo real .............................................................. 9 3.4.2 Caractersticas de los sistemas en tiempo real ............................................................... 9 3.4.3 Clasificacin de los sistemas en tiempo real ................................................................. 10 3.5 FUNDAMENTOS DE DESARROLLO PARA SISTEMAS EMBEBIDOS ......................... 10 3.5.1 Componentes del entorno de los sistemas embebidos ................................................. 10 3.5.2 PROCESOS DEL ENTORNO DE LOS SISTEMAS EMBEBIDOS ........................ 11 3.6 IMGEN EJECUTABLE ....................................................................................................... 11 3.6.1 Caractersticas de la imagen ejecutable ....................................................................... 11 3.6.2 Formatos de la imagen ejecutable ................................................................................. 12 3.7 MAPEAR IMGENES EJECUTABLES EN TARJETA DE SISTEMAS EMBEBIDOS. .. 12 3.7.1. Archivos de comando del enlazador ............................................................................ 13 3.8 MAPEO DE IMGENES EJECUTABLES. .......................................................................... 14 3.9 INICIALIZACION DE SISTEMA INTEGRADO ................................................................. 15 3.9 HERRAMIENTA DEL SISTEMA TARGET Y TRANSFERENCIA DE IMGENES. ...... 15 3.9.1 Cargador Embebido....................................................................................................... 17 3.9.2 Monitor de Embebido .................................................................................................... 17 3.10 ESCENARIOS TARGET BOOT.......................................................................................... 18 3.10.1 Ejecucin de ROM y uso de RAM para datos. .......................................................... 19 3.10.2 Ejecucin de la RAM despus de transferencia de imgenes desde a ROM........... 20 3.10.3 Ejecucin de la RAM despus de la transferencia de imgenes desde el Host. ...... 21 3.11 SECUENCIA DE INICIALIZACIN DEL SOFTWARE DEL SISTEMA TARGET. ...... 22
2 3.11.1 Inicializacin del hardware. ........................................................................................ 22 3.11.2 Inicializacin RTOS ..................................................................................................... 23 3.11.3 Aplicacin de software de inicializacin. .................................................................... 23 3.12 DEPURAR ON CHIP (OCD) ............................................................................................... 24 3.12.1 Una Breve Historia de los Sistemas Operativos ........................................................ 24 3.12.2 Similitudes entre RTOS y GPOS ................................................................................ 24 3.12.3 Caractersticas de porque RTOS es mejor que GPOS.............................................. 24 3.12.4 Componentes de un RTOS .......................................................................................... 25 3.13 PROGRAMADOR .......................................................................................................... 25 3.13.1 Entidades programables .............................................................................................. 25 3.13.2 La multitarea ................................................................................................................ 25 3.13.3 El cambio de contexto .................................................................................................. 25 3.13.4 El Despachador............................................................................................................. 25 3.13.5 Programacin de Algoritmos ...................................................................................... 26 3.14 OBJETOS .............................................................................................................................. 26 3.15 SERVICIOS .......................................................................................................................... 26 3.16 CARACTERSTICAS PRINCIPALES DE UN RTOS ........................................................ 26 3.16.1 Fiabilidad ...................................................................................................................... 26 3.16.2 Predictibilidad .............................................................................................................. 27 3.16.3 Rendimiento .................................................................................................................. 27 3.16.4 Compacidad .................................................................................................................. 27 3.16.5 Escalabilidad ................................................................................................................. 27 3.17 TAREAS ............................................................................................................................... 27 3.17.1 Introduccin.................................................................................................................. 27 3.17.2 Definicin de una tarea ................................................................................................ 28 3.17.3Tareas del sistema: ........................................................................................................ 28 3.17.4 Estados de tareas y programacin .............................................................................. 28 3.17.5 Operaciones de tareas tpicas ...................................................................................... 29 3.17.6 Programacin de Tareas: ............................................................................................ 30 3.17.7 Revisin de tareas: ....................................................................................................... 30 3.17.8 Obteniendo Informacin de Tareas:........................................................................... 30 3.17.9 Ejemplos:....................................................................................................................... 31 3.17.10 Sincronizacin, Comunicacin y Concurrencia de una Tarea ............................... 32 3.18 SEMFOROS: ...................................................................................................................... 32
3 3.18.1 semforos binarios: ...................................................................................................... 33 3.18.2 Contador de semforos: ............................................................................................... 33 3.18.3 Operacin tpica de los semforos: ............................................................................. 34 3.19 ACCESO MULTIPLE DE COMPARTICIN - SINCRONIZACIN ............................... 35 4. DIAGRAMAS .......................................................................................................................... 35 4.1. 4.2. 5. 6. 7. DIAGRAMA DE BLOQUES ......................................................................................... 35 EJEMPPLO DE DIAGRAMA ELCTRICO DE UN SISTEMA EMBEBIDO. ...... 36
CONCLUSIONES ................................................................................................................... 36 RECOMENDACIONES ......................................................................................................... 36 APORTACIONES................................................................................................................... 37 7.1 Varios sistemas operativos de tiempo real .............................................................................. 37 APLICACIONES .................................................................................................................... 39 CRONOGRAMA .................................................................................................................... 40 BIBLIOGRAFA ................................................................................................................. 41 ANEXOS .............................................................................................................................. 41
8. 9. 10. 11.
Reconocer los diferentes tipos de sistemas embebidos que trabajan en tiempo real, as como su desarrollo, funcionamiento y posibles aplicaciones, basndose en la investigacin en libros, internet, revistas tcnicas entre otras, con la finalidad de aprovechar las ventajas de estos dispositivos, para usarlos en estudios futuros.
2.2.
-
Objetivos Especficos
Definir las caractersticas de un sistema embebido en tiempo real Describir la estructura e implementacin de un sistema embebido. Nombrar las formas de inicializacin de un sistema embebido. Enumerar los diferentes tipos de sistemas embebidos que existen y su correspondiente aplicacin.
Una clase especial de sistemas embebidos se distingue del resto por su obligacin de responder a los eventos externos en tiempo real
S. E. en el entorno domstico
S. E. en el entorno de trabajo
Figura N 1. Clasificacin de un sistema embebido Los sistemas embebidos se pueden caracterizar por:
Error:
Pueden funcionar como sistemas independie ntes
Sistema integrado
6 3.1.1.
Procesador embebido
Diseo complejo
Gran consumo de energa, la produccin de calor , y el tamao. Figura N 3. Caractersticas de un procesador embebido Funcionamiento de los procesadores modernos:
tienen
proporciona
-Proteccin memoria
de
PDA no tienen un coprocesador de coma flotante debido a operaciones de punto flotante son o no necesarios o emulacin de software es suficiente
3.2.
Lleno de avanzadas tecnologas de chip de diseo, como tuberas avanzado y procesamiento de arquitectura paralelo Procesadores de red desarrollados por el equipo de red e industrias en telecomunicaciones
El procesador integrado de seal digital ( DSP ) que se utiliza en los telfonos celulares . De voz en tiempo real comunicacin implica el procesamiento de seal digital y no puede tolerar demoras. Un DSP se ha especializado unidades aritmticas , diseo optimizado en la memoria , y el direccionamiento y arquitecturas de bus con capacidad de multiprocesamiento.
Figura N 5. Clasificacin de los sistemas integrados. Los sistemas integrados presentan una caracterstica principal que es:
CARACTERISTICAS PRINCIPAL
Multiplataforma
Software para un sistema embebido se desarrolla en un plataforma, pero se ejecuta en otro sistema
Figura N 6. Caracterstica principal de los sistemas integrados. Para que sea multiplataforma debe existir un compilador cruzado es un compilador que se ejecuta en un tipo de arquitectura del procesador, pero produce cdigo objeto para un tipo diferente de arquitectura de procesador
3.3.
CONCEPTOS BSICOS
Se debe conocer varios conceptos bsicos que describen a un sistema embebido, tales como:
Contenido no voltil y sin la necesidad de una fuente de alimentacin externa Su contenido se programa durante el proceso de fabricacin Solo puede ser personalizado una vez Programado, borrado, y reprogramado cuantas veces sea necesario Borrable elctricamente
MEMORIA ROM
ROM Programable
EEPROM
MEMORIA RAM
lectura/escritura alimentacin
DRAM(Dinamica)
SRAM
NVRAM
Tiene energa de la batera de copia de seguridad por lo que puede retener su contenido despus de la alimentacin
3.4.
Son aquellos sistemas que responden a los acontecimientos externos en forma oportuna y se garantiza un tiempo de respuesta mnimo.
Sncrona Eventos externos Asncrona
Sitemas de control
Producir resultados computacionales exactos , que estos clculos debern concluir en un plazo predefinido , llamado sincronizacin correcta .
Tener exactitud general del sistema depende tanto de la correccin funcional y la correccin de temporizacin .
10
El nivel de tolerancia para un plazo incumplido es muy pequeo o cero tolerancia . Los resultados calculados despus del vencimiento del plazo probablemente intil para muchos de estos sistemas .
El nivel de tolerancia es distinto de cero . Los resultados calculados despus del vencimiento del plazo tienen una tasa de depreciacin. La utilidad de los resultados no alcanza inmediatamente cero que pasa la fecha lmite , como en el caso de muchos sistemas de tiempo real
La falta de recursos necesarios para el trabajo, como la CPU o la memoria, puede prevenir un trabajo se inicie y puede llevar a no cumplir el plazo de finalizacin del trabajo. En ltima instancia esto se convierte en un problema de recursos de programacin. Los algoritmos de planificacin de un sistema en tiempo real deben programar los recursos del sistema para que los trabajos creados en respuesta a ambos eventos peridicos y aperidicos pueden obtener los recursos en el momento apropiado. Este proceso produce cada trabajo la capacidad de cumplir con sus restricciones de tiempo especficos.
3.5 FUNDAMENTOS DE DESARROLLO PARA SISTEMAS EMBEBIDOS 3.5.1 Componentes del entorno de los sistemas embebidos
La metodologa de desarrollo de plataforma cruzada para sistemas embebidos
11
Imagen ejcutable
12 Archivo de objeto se puede utilizar para enlazar con otros ficheros objeto compartidos o mdulos objeto reubicables o se puede utilizar como una imagen ejecutable con la vinculacin dinmica.
Luego de archivos de cdigo fuente de C/C++, se compilan y ensamblan en archivos objeto EFL.
El enlazador combina estos archivos objeto y fusiona las secciones de los archivos de objetos en segmentos del programa.
- Se crea un archivo de comandos del vinculador es para el desarrolador integrado para la imagen ejecutable en el sistema de destino con precision y eficiencia
13
Algunas directivas se encuentran entre los conectores disponibles, y se usan para aplicaciones embebidas.
MEMORY SECTION
Define los tipos de memoria fsica presentes en el sistema de destino, ademas del rango de direcciones que ocupa cada bloque de memoria fisica
Se usa para indicar al desarrollador incrustado a donde asignar las secciones, es decir a donde se dirige.
Mapa de Memoria.- Enumera los diferentes tipos de memoria.(Ram, Rom, y flash), que estn presentes en el sistema de destino, junto con los rangos de direcciones a las que se acceden para almacenar o ejecutar una imagen ejecutable.
Actualizacin del software mientras el sistema sigue funcionando. Toda la seccin se programa en la memoria flash para una fcil capadidad de actualizacin en el futuro. La memoria fsica es limitada, y es imposible adaptarse a todo el cdigo en un tipo de memoria, por tanto se divide el programa en secciones mpultiples tanto en la SDARM Y DRAM.
Proteccin de datos.
Los programas tienen varios tipos de constantes, que estn en la ROM para evitar la modificacin accidental, estas constantes son parte de una seccion de datos especial en la ROM
15
Se ha analizado la construccin de una imagen ejecutable con varias secciones del programa de acuerdo a la distribucin de memoria del sistema de destino. Luego de que se construye la imagen final y que reside en el sistema host con xito, luego se ejecuta.
16
El software integrado para el producto final se almacena en la ROM o en la memoria flash. Para las placas de sistemas integrados que tienen tanto la ROM y la memoria flash, lo que contina es establecer los puentes necesarios.
Puentes: son los cableados del tablero que controla que chip de memoria del procesador utiliza para iniciar la ejecucin de su primera serie de instrucciones en el arranque.
Este mtodo es poco prctico, por lo que se usa para la descarga de la imagen una conexin serie o de red o a travs de una interfaz JTAG o BDM.
17
3.9.1 Cargador Embebido Un enfoque adoptado en la fase de desarrollo es escribir un programa de carga por el lado de destino, se llama cargador, y se usa para descargar la imagen desde el sistema host. Suele ser programado en un chip ROM.
Se escribe el cargador
Para que este mtodo funcione se debe tener en cuenta: Un protocolo de transferencia de datos (Reglas de transferencia). Los parmetros de comunicacin.
3.9.2 Monitor de Embebido Es una alternativa para ms para cargar la imagen, se usa un monitor incorporado.
Monitor incorporado
Software embebido que permite a los desarrolladores examinar y depurar el sistema de destino en tiempo de ejecucin. Se ejecuta al encender el aparato y realiza la inicializacion del sistema.
18
Dentro de la inicializacin del sistema se realiza: Inicializacin de los dispositivos perifricos necesarios (interfaz serie del chip temporizador del sistema para la actualizacin de la memoria) Inicializar el sistema de memoria para la descarga de la imagen. Inicializar el controlador de interrupciones y la instalacin de controladores de interrupcin por defecto.
El monitor se define como un conjunto de comandos que permite al desarrollador: Descargar la imagen Leer y escribir en las posiciones del sistema Leer y escribir registros del sistema. Establecer los diferentes tipos de interrupcin. Reestablecer el sistema.
En esencia el monitor tiene tanto la imagen de arranque y las funcionalidades del cargador incorporado, pero con capacidad de depuracin interactiva aadido. El monitor sigue presente mientras que la imagen que se acaba de descargar ejecuta.
3.10 ESCENARIOS TARGET BOOT Los detalles de la operacin de carga a s mismo y como se transfiere el control a la imagen recin adquirida son:
Primera parte de arranque se pone al sistema en un estado conocido.
Se configuran los registros del prosesador con valores por defecto adecuados.
El cargador desactiva el sistema y se interrumpe debido a que el sistema an no esta preparado para manejar las interrupciones.
EL cargador tambin realiza diagnsticos de hardware limitados sobre los dispositivos necesarios para su funcionamiento.
19
Una imagen ejecutable contiene secciones de datos inicializados y sin inicializar. Estas secciones son de lectura y escritura y estn en la memoria RAM y es parte de la inicializacin del sistema. Luego de la inicializacin de todos los dispositivos, el programa cargador est listo para transferir la imagen de la aplicacin al sistema de destino. La imagen de la aplicacin contiene RTOS, el kernel, y el cdigo de aplicacin escrito por el desarrollador incrustado. La imagen de la aplicacin puede provenir de:
Los dispositivos de slo lectura de memoria en el objetivo
4
Figura N25. Origen de la imagen.
20
El registro SP est configurado para sealar el comienzo de la pila recien creado. Es decir se realiza el inicio.
Salta a la primera instruccuon . La secccin de texto permanecera en la ROM, la CPU usa el IP para ejecutar texto. EL cdigo inicializa el sistema de memoria, incuido la RAM
Figura N28. Secuencia de arranque para una imagen que va desde la ROM
La imagen de arranque tiene que mantener la informacin interna en su programa, que es fundamental para la inicializacin de las secciones de datos, ya que la tabla de encabezado de seccin no est presente.
El cargador debe descomprimir la imagen, para esto necesita un rea de trabajo en la RAM.
La secuencia de arranque para este caso es: Inicialmente los 6 pasos anteriores son los mismos. 7. La imagen de la aplicacin comprimida se copia de la ROM a la RAM. 8. Pasos de inicializacin que forman parte del procedimiento de descompresin se completan. 9. El cargador transfiere el control a la imagen.
21
10. El rea de memoria del cargador se recicla, es decir el puntero de pila se reinicializa para que apunte a esta zona, por lo que se puede utilizar como pila para el nuevo programa.
El sistema puede manejar interrupciones y escepciones correctamente El sistema de destino facilita un entorno estable para el desarrollo de aplicaciones.
El agente de depuracin se puede comunicar con un depurador host y de transferencia de imgenes de destino a travs del depurador de acogida.
El agente de depuracin descarga la imagen en una area temporal de la RAM, luego la descarga se completa verificando la integridad de la imagen, luego inicializa la imagen deacuerdo con la informacin presentada en la cabecera de la seccin de programa.
La secuencia de arranque para este caso es: Los primeros pasos de igual forma se mantienen, y luego sigue con: 7. La imagen de la aplicacin se descarga desde el sistema de desarrollo del host. 8. La integridad de la imagen se verifica. 9. La imagen se descomprime si es necesario. 10. El agente de depuracin carga las secciones de imagen en sus respectivas direcciones que se ejecutan en la RAM. 11. El agente de depuracin transfiere el control a la imagen de descarga.
22
Inicializacin RTOS
Inicializacin de la aplicacin
Nota: Estos pasos no son todos los necesarios para inicializar el sistema de destino.
Luego de la secuencia de inicio se inicializa la CPU y la secuencia de arranque de copias se descomprime de la memoria. Tambin copia y descomprime los datos en la memoria RAM. A medida que el cdigo de inicio se ejecuta, el cdigo llama a las funciones apropiadas para analizar otros componentes de hardware, si estn presente en el sistema de destino. Eventualmente todos los dispositivos del tablero se inicializan, y esto incluye:
23
Inicializacin de perifricos de mesa como el de serie, LAN y SCSI Figura N33. Inicializaciones posteriores.
1. Inicializar el RTOS
2. Inicializar los dispositivos objetos y servicios RTOS, si esta presente (generalmente controlado por un archivo de cabecera configurable por el usuario)
24
Microsoft Windows
RTOS , GPOS
Unix
25
Menos uso de memoria. Polticas de programacin adaptados para sistemas embebidos en tiempo real Apoyo a los sistemas embebidos sin disco al permitir ejecutables para arrancar y ejecutar desde la ROM o RAM Mejor portabilidad a diferentes plataformas de hardware.
PROGRAMADOR
OBJETOS
3.13.2 La multitarea
Es la capacidad del SO de manejar varias actividades en plazos de tiempo, el ncleo se encarga de ir ejecutndolas secuencialmente en base a algoritmos ya establecidos.
3.13.4 El Despachador
Es una parte del programador que realiza el cambio de contexto y cambia el flujo de ejecucin o de control que estar pasando a travs de una tarea de aplicacin, a travs de un ISR, o a travs del ncleo.
26
Despus de la ISR completa la ejecucin, el ncleo sale a travs del despachador de modo que puede entonces enviar la tarea correcta.
Todas las tareas cuentan intervalos definidos, lo cual permite que cada una se ejecute en tiempos especficos y continuos (ronda robin), y al terminar de ejecutarse simplemente se coloca al final del ciclo.
3.14 OBJETOS
Los objetos ms comunes del ncleo RTOS son: Tareas: son subprocesos simultneos e independientes que compiten por el tiempo de ejecucin. Semforos: son objetos simblicos que puedan ser aumentados o disminuidos por las tareas para la sincronizacin o exclusin mutua. Colas de mensajes: son estructuras de datos de amortiguamiento que se pueden utilizar para la sincronizacin, la exclusin mutua, y el intercambio de datos mediante el paso de mensajes entre tareas.
3.15 SERVICIOS
La mayora de ncleos ofrecen servicios que ayudan a los programadores a desarrollar aplicaciones para RTOS (API). Se los puede utilizar para realizar operaciones con los objetos del ncleo y configurar varias herramientas como: temporizadores, interrupciones, etc. Y otros servicios podran ser proporcionados.
27
Tiempo de inactividad por aplicacin tpica ao ~9 hours Escritorio ~1 hour ~5 minutes ~31 seconds Enterprise Server Carrier-Class Server Carrier Switch Equipment
Fuente: "Proporcionar Arquitectura Abierta soluciones de alta disponibilidad, 'Revisin 1.0, Publicado por HA Forum, Febrero de 2001.
3.16.2 Predictibilidad
Un RTOS debe ser predecible hasta cierto punto. Se hacen llamadas al sistema operativo en plazos de tiempo y mientras el tiempo sea ms pequeo el sistema tiene una mejor predictibilidad.
3.16.3 Rendimiento
El rendimiento de un sistema se refiere a la velocidad para procesar datos (entrada salida) en bits por segundo (bps), generalmente la velocidad suele venir especificada en el hardware pero el rendimiento tambin depende del software, es decir es una medida en conjunto de hardware y software.
3.16.4 Compacidad
Son las normas que limitan el diseo y el costo de los sistemas embebidos, por tanto afectan a la memoria del sistema. Un RTOS debe ser pequeo y eficiente.
3.16.5 Escalabilidad
Un RTOS debe ser capaz de aadir o eliminar componentes modulares, incluyendo sistemas de archivos y las pilas de protocolos, de acuerdo a las necesidades de la aplicacin.
28
Nota: El ncleo puede cambiar el control a la rutina proporcionada por el usuario en lugar de a la tarea inactiva.
29
Estado de tarea lista: est listo para funcionar pero no puede porque una tarea de mayor prioridad se est ejecutando, estas tareas solo pueden pasar al estado de ejecucin. Estado de tarea en funcionamiento (ejecucin): es la tarea de prioridad ms alta y se est ejecutando, puede regresar al estado de tarea lista si una tarea con mayor prioridad se crea. La tarea se mueve desde el estado de funcionamiento al estado bloqueado solo: Haciendo una llamada que solicita un recurso no disponible. Haciendo una llamada que solicita que espere a que suceda un evento. Haciendo una llamada a retrasar la tarea por un cierto tiempo.
Estado de la tarea bloqueada: bloque la tarea si ha solicitado un recurso que no est disponible (semforo), se ha solicitado que esperar hasta que algn evento ocurra (mensaje), o ha retrasado en s de una cierta duracin (retardo). Cuando una tarea se desbloquee puede ir al estado de tarea lista o al estado de funcionamiento, dependiendo de la prioridad de la tarea.
Tareas
Creacin
Borrado
Problemas
30
Tarea Creada
Tarea Borrado
31
La obtencin de un TCB, sin embargo, slo se toma una instantnea del contexto de la tarea.
3.17.9 Ejemplos:
Ejecutarse hasta su finalizacin: Tarea de inicializacin inicializa la aplicacin y crea servicios adicionales, las tareas y los objetos del kernel necesarios.
Bucle sin fin: Al igual que con la estructura de la tarea de inicializacin de la aplicacin, la estructura de una tarea de bucle sin fin tambin puede contener cdigo de inicializacin. Cdigo de inicializacin del bucle sin fin, sin embargo, slo tiene que ejecutar cuando la tarea se ejecuta en primer lugar, despus de lo cual la tarea se ejecuta en un bucle sin fin. `
32
7
Figura N40. Sincronizacin, comunicacin y concurrencia de una tarea.
3.18 SEMFOROS:
Se basa en la aplicacin de hilos debido a que una aplicacin debe ser capaz de sincronizar su ejecucin y coordinar mutuamente accesos exclusivos para compartir recursos.
33
Adquirir o liberar a los efectos de la sincronizacin Objeto de ncleo que une uno o ms hilos de ejecucin Definicin Exclusin mutua
34
Diferentes llamadas pueden ser utilizados para la creacin de binario, conteo, y los semforos de exclusin mutua. Esperar siempre la tarea permanece bloqueada hasta que sea capaz de adquirir un semforo. La operacin de vaciado es til para la difusin de sealizacin a un grupo de tareas. Estas operaciones son relativamente sencillas, pero deben utilizarse juiciosamente, como la informacin del semforo podra ser dinmica en el momento que se solicite.
35
36
4.2.
5. CONCLUSIONES
- Se revisaron las diferentes clases de sistemas embebidos que existen, su estructura, desarrollo e implementacin, con lo que se puede concluir que se elige el dispositivo dependiendo de la aplicacin que se desee realizar ya que a veces se puede necesitar o no que los procesos tengan una respuesta rpida. - Los sistemas embebidos con respuesta en tiempo real tienen una variedad de aplicaciones como sistemas elctricos, domtica, medicina entre otros, que permiten analizar sistemas complejos y a su vez optimizar recursos. - Un sistema embebido tiene un tiempo de respuesta mnimo a una accin y realiza una funcin general dependiendo de la necesidad del usuario
6. RECOMENDACIONES - Es recomendable verificar la necesidad de utilizar un tipo de sistema embebido, ya que esto depender nicamente de la aplicacin que se
37
quiera dar al dispositivo, y al no hacerlo puede generar prdidas de recursos - Para la realizacin de aplicaciones es recomendable el conocimiento de las funciones internas que realizan los sistemas, de tal modo que evitemos ocasionar posibles daos. 7. APORTACIONES 7.1 Varios sistemas operativos de tiempo real
7.1.1 uClinux
Clinux es un derivado del kernel 2.0 de Linux destinado para microcontroladores y microprocesadores sin unidades de administracin de memoria (MMUs). Clinux hoy en da incluye las versiones 2.4 y 2.6 del kernel de Linux con las debidas modificaciones o extensiones. Incluso, gracias a la popularidad que estn tomando los sistemas embebidos, Clinux ha sido incluido en la versin principal del kernel de Linux, la 2.6. Es un sistema operativo apto para Internet y sistemas embebidos, donde no se necesita de una arquitectura de alto desempeo. Se tiene soporte para varios sistemas de archivos tales como: NFS, ext2, fat32, romfs, jffs y muchos ms gracias al sistema de archivos virtual que desciende de Linux Razones para usar Clinux Las siguientes caractersticas muestran porque Clinux puede ser usado en aplicaciones embebidas de alta complejidad con limitantes en la arquitectura.
38
Linux: Conectividad IP incluida, fiabilidad, portabilidad, manejo de numerosos sistemas de archivos, software libre o gratuito. Peso liviano: se puede obtener un kernel de Linux 2.6 en menos de 300kb, adems, los binarios son mucho ms pequeos con la librera Clibc. Ejecucin en el lugar (XIP): No se necesita cargar los ejecutables en la memoria RAM ya que se pueden correr directamente desde la memoria ROM. Sin embargo la ejecucin ser ms lenta que si lo ejecuta normalmente. Ms barato: Los ncleos ARM sin MMU son aproximadamente un 30% ms pequeos. Un gran nmero de aplicaciones en sistemas embebidos no necesitan MMU. Rpido: con Clinux, los cambios de contexto son bastante rpidos. Acceso del usuario al hardware: Las aplicaciones de usuario pueden acceder al sistema entero, incluyendo registros de dispositivo. APIs de Linux completas: Se pueden usar la mayora de llamadas de sistema con algunas excepciones. Las aplicaciones que vienen con la distribucin Clinux ya han sido portadas. Caractersticas completas del kernel 2.6: Estabilidad, ncleo apropiativo, drivers, entre otros. Multitarea: Soporte completo para ejecucin de tareas mltiples. Claro est, con algunas limitaciones. Procesadores soportados: M68K, ARM7, MIPS, entre otros.
39
8. APLICACIONES
Domtica - Electrodomsticos - Consolas - Iluminacin - Climatizacin - Seguridad
40
9. CRONOGRAMA
41
10. BIBLIOGRAFA - Real Time Concepts for Embedded Systems, Qing Li y Canolyn, CMP ,2003, 294 pags0 Sistemas Embebidos basados en FPGAs para instrumentacin, Guillermo Carpintero del Barrio, Universidad Carlos III de Madrid. Prototipado de sistemas empotrados, Marco A. Pea. Disponible en: http://docencia.ac.upc.edu/EPSC/PSE/documentos/Trabajos/Archivo/Trabaj o_Linux_empotrado.pdf Revisado: [23 04 2014]
11. ANEXOS
42
11.1 PAPER