Monografias.com > Computación > Sistemas Operativos
Descargar Imprimir Comentar Ver trabajos relacionados

Migración de un sistema operativo de tiempo real, MaRTE OS, a un microcontrolador




Enviado por Pablo Turmero



    Monografias.com

    0. Objetivos
    1. Introducción
    2. Sistema operativo MaRTE OS
    3. Controlador EyeBot
    4. Portado de MaRTE OS al microcontrolador MC68332
    5. Entorno de desarrollo cruzado
    6. Aplicación de demostración
    7. Conclusiones
    8. Trabajo futuro

    Monografias.com

    0. Objetivos
    Elaboración de un entorno de desarrollo cruzado para el MC68332.
    Adaptación de un compilador cruzado para que soporte aplicaciones escritas en Ada y C.
    Adaptación de un depurador cruzado.

    Migración de MaRTE OS al MC68332.
    Implementación de la “Interfaz Abstracta con el Hardware”.
    Generación de utilidades que automaticen la compilación, enlazado, carga y depuración de aplicaciones.

    Desarrollo de una aplicación que haga uso de la funcionalidad POSIX proporcionada por MaRTE OS.

    Monografias.com

    1. Introducción
    Sistemas empotrados de tiempo real
    Sistemas de tiempo real en los que el computador constituye una parte más de un sistema mayor en el que se encuentra altamente integrado y en el que se dedica a realizar una función o conjunto de funciones.

    Utilización de los sistemas empotrados
    Procesadores baratos, memorias menor coste y mayor escala de integración
    Equipos Hi-Fi, reproductores DVD, juguetes, pequeños electrodomésticos…

    Sistemas de tiempo real
    Son sistemas computacionales fuertemente relacionados con el entorno, los resultados obtenidos sólo se podrán considerar válidos cuando, sean correctos, desde el punto de vista lógico, y hayan sido generados a tiempo.

    Monografias.com

    … 1. Introducción
    POSIX (Portable Operating System Interface)
    Define la interfaz que los sistemas operativos deben ofrecer a las aplicaciones, así como la semántica de los servicios ofrecidos por esta interfaz.
    En estándar POSIX.13 se han definido 4 subconjuntos, para distintos tipos de aplicaciones de tiempo real. El menor se denomina ”Sistema de Tiempo Real Mínimo”. Incluye un pequeño subconjunto de toda la funcionalidad definida en el estándar POSIX, permite su implementación como un núcleo de sistema operativo pequeño y eficiente. Pensado para pequeños sistemas empotrados.
    Evolución de los sistemas informáticos
    De pequeños microcontroladores de 4 bits a procesadores de 64 bits
    Limitaciones: tamaño, peso, consumo, procesador reducido y memoria reducida
    Desarrollo tecnológico: mejora de tiempos de desarrollo y fiabilidad de aplicaciones.
    Inclusión de sistemas operativos y estrategias de diseño software para sistemas de tiempo real: programación concurrente, estrategias de planificación de tareas, programación orientada a objetos..
    Normas de estandarización, permitirán independizar: arquitectura hardware, software de base, sistema operativo, y aplicación.

    Monografias.com

    2. MaRTE OS
    MaRTE OS (Minimal Real-Time Operating System for Embedded Applications)
    Pionero, S.O. escrito en Ada que permite la ejecución de aplicaciones concurrentes escritas en C, Ada o ambos.
    El núcleo implementa la funcionalidad incluida en subconjunto mínimo del POSIX.
    Entorno de desarrollo cruzado basado en los compiladores GNU GCC y GNAT, y el depurador GDB (posibilitan la creación, carga y depuración de las aplicaciones).
    Principales características
    Pensado para aplicaciones principalmente estáticas
    Permite ejecutar aplicaciones Ada y C
    Portable a distintas arquitecturas
    Toma forma de librería para ser enlazada con la aplicación

    Monografias.com

    … 2. MaRTE OS
    Requisitos (Interfaz Abstracta con el Hardware)
    Temporizador
    Reloj monótono
    Operaciones de conversión de tiempos
    Dispositivo controlador de las interrupciones
    Interrupciones hardware
    Operaciones de gestión de los manejadores de interrupción
    Operación de cambio de contexto entre tareas
    Operaciones sobre registros del procesador

    Arquitectura

    Monografias.com

    3. Controlador EyeBot
    El MC68332 el microcontrolador
    El EyeBot la tarjeta controladora
    Características
    2 MB de RAM, 512 KB de flash-ROM, LCD gráfico, puerto IrDA, puertos paralelo y serie, BDM

    Monografias.com

    4. Migración de MaRTE OS a MC68332
    Interfaz Abstracta con el Hardware
    Conjunto de operaciones requeridas por MaRTE OS para funcionar sobre la plataforma elegida. Proporciona al resto del núcleo de MaRTE OS una visión abstracta de la plataforma. Toma la forma de un paquete Ada.

    Características
    Interfaz está formada por funciones y procedimientos Ada.
    Tipos, constantes, variables nombres de procedimientos y funciones independientes de la plataforma en la que se implemente.

    Monografias.com

    proccessor_registers.ads & proccessor_registers.adb
    Habilitación/deshabilitación de todas las interrupciones, comprobación de interrupciones, operaciones de tamaño bit y operaciones de cambio de contexto
    tpu.ads & tpu.adb
    Generación del reloj del sistema y programación del temporizador

    interrupt_tables.ads & interrupt_tables.adb
    Interrupciones, fuentes de interrupción, instalación de manejadores de interrupción, tratamiento de interrupciones y habilitación y deshabilitación de interrupciones hardware

    hardware_interface.ads & hardware_interface.adb
    Comunicación entre la interfaz del hardware y el resto del sistema operativo, sólo desde aquí se llamará al resto de los paquetes.
    …4. Migración de MaRTE OS a MC68332
    Arquitectura

    Monografias.com

    5. Entorno de desarrollo
    Creación del entorno de desarrollo cruzado
    Compilador y depurador cruzados
    Entorno de desarrollo
    PC de desarrollo (Host) AMD K6 a 450 Mhz, Linux, GNAT 3.12, GCC 2.8.1 y GDB
    Plataforma (Target) SoccerBot a 33 Mhz, RoBios
    Carga de la aplicación: cable serie o BDM

    Monografias.com

    6. Aplicación de demostración
    El SoccerBot plataforma de desarrollo

    Monografias.com

    6. Aplicación de demostración
    Descripción de la aplicación, escrita en C.
    La aplicación hará que el robot utilice sus sensores de posición para evitar que colisione con los obstáculos que salgan a su paso, utilizaremos 3 threads y 1 mútex, de tal manera que cada threads corresponda a una tarea con prioridad, el mútex va a permitir asegurar la correcta ejecución de tareas. La tarea de mayor prioridad corresponderá a la que hace continuas lecturas de posición, la tarea de prioridad media, moverá los motores según corresponda, la tarea de prioridad baja, mostrará datos en LCD.

    Monografias.com

    …6. Aplicación de demostración
    Diagrama de funcionalidad de la aplicación

    (Gp:) Pthread INICIA
    Prioridad : alta
    T1
    (Gp:) Pthread MUEVE
    Prioridad: media
    T2
    (Gp:) Pthread PON
    prioridad: baja
    T3
    (Gp:) mutex

    t1 < t2< t3

    Monografias.com

    7. Conclusiones
    Se ha elaborado un entorno de desarrollo cruzado para el MC68332
    Compilador y depurador cruzados
    Se ha portado MaRTE OS al MC68332
    Implementando la interfaz abstracta con el Hardware en el MC68332
    Se ha generado un conjunto de utilidades que automatizan la compilación, enlazado y carga de aplicaciones.
    Se ha desarrollado una aplicación que implementa características de POSIX en MaRTE OS, como son los pthreads y mutexes

    Monografias.com

    8. Trabajo futuro
    Adaptación de la librería runtime de GNAT
    Generar controladores para los periféricos del SoccerBot
    Integración en la distribución pública de MaRTE OS
    Portado a otros microcontroladores

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter