Universidad de Cantabria

Slides:



Advertisements
Presentaciones similares
Sistemas operativos Prof. Alberto Rivas.
Advertisements

Arquitectura de Sistema de E/S
MAC OS.... CONCEPTOS GENERALES
Autor: José Luis Mantecón Crespo
ARQUITECTURA DE COMPUTADORAS
Tic´s Tecnología de la Información y de la Telecomunicación 2º Nivel
Módulo I: PRINCIPIOS Y CONCEPTOS BÁSICOS DE LA INFORMÁTICA (20%)
Trabajo de programas de simulación de redes
Introducción al software
Puertos EN EL PC PUERTOS QUE SIRVEN PARA CONECTAR CUALQUIER DISPOSITIVO DE SALIDA O ENTRADA A UNA COMPUTADORA.
Introducción al Software
Sistema Inteligente de Transporte
Introducción a los SSOO Sebastián Sánchez Prieto.
Elemento Lógico (Software)
Operación de Micros e Interfaces
Programación de Sistemas
Programación I MC José Andrés Vázquez Flores
TIPOS DE SOFTWARE Se denomina software a un programa, equipamiento lógico o soporte lógico necesario para hacer posible la realización de una tarea con.
Manuela Chavarriaga Betancur Telecomunicaciones 11º3 Resumen Capitulo 2.
Introducción a los Sistemas Operativos
Introducción al tiempo real en sistemas empotrados
FUNDAMENTOS TECNOLÓGICOS DE INFORMACIÓN
M.C. Luis Ricardo Salgado Garza Depto. Ciencias Computacionales, ITESM-MTY Marzo 2004.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Introducción a la Informática
Integrante: Yohandry Cueto Carnet: # Contenido Kernel Linux Limitaciones del Kernel Linux Kernel Mach Que es Hurd Arquitectura Ventajas Distribuciones.
BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN Programación I MC Hilda Castillo Zacatelco.
Programa Oficial de Postgrado en Ciencias, Tecnología y Computación
Programación de Dispositivos Móviles “Conceptos de J2ME” Rogelio Ferreira Escutia.
Agenda  Introducción  Relevamientos de tecnologías Objetivos de la fase de relevamiento de tecnologías Principales tecnologías disponibles -OpenMosix,
Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
Que es Software Por :Ivelisse M. Burgos Oprime aqui.
Estructura de los Sistemas Operativos
INTRODUCCION A SISTEMAS OPERATIVOS
Sistemas Operativos I Un sistema operativo es un software de sistema, es decir, un conjunto de programas de computación destinados a realizar muchas tareas.
Tendencias Generales Dotación física Software lógica Más pequeño
VIRTUALIZACIÓN.
SOFTWARE Jennifer Giselle De Diego Romero NL:9
SISTEMAS OPERATIVOS.
Nico Puch. Los ordenadores analógicos comenzaron a construirse a principios del siglo XX. Los primeros modelos realizaban los cálculos mediante ejes y.
MÓDULO INTRODUCCIÓN AL CICLO DE VIDA DEL SOFTWARE ARTICULADORA: CLAUDIA MARIA RESTREPO P.
LIA. SUEI CHONG SOL, MCE..  1.- SOFTWARE BÁSICO O DE SISTEMA. Conjunto de programas imprescindibles para el funcionamiento del sistema.  2.- SOTWARE.
DOCENTE: DAISY KATERINE RODRÍGUEZ DURÁN
Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Programación I MC Beatriz Beltrán Martínez.
DESARROLLO DE APLICACIONES PARA AMBIENTES DISTRIBUÍDOS ALUMNOS: MARIANA MIGNÓN RÉDING CARLOS ANTONIO CARRASCO MARTÍNEZ PROFESOR: DR. JOSÉ BERNARDO PARRA.
 El origen de Linux se encuentra en el sistema operativo MINIX. MINIX fue desarrollado por Andrew S. Tanenbaum con el objetivo de que sirviera de apoya.
Software.
INTRODUCCIÒN MICROCONTROLADORES
Hardware El término hardware (pronunciación AFI: [ˈhɑːdˌwɛə] o [ˈhɑɹdˌwɛɚ]) se refiere a todas las partes tangibles de un sistema informático; sus componentes.
Elementos y tipos de sistemas operativos
DOCENTE: DAISY KATERINE RODRÍGUEZ DURÁN. CONTENIDO TEMÁTICO SISTEMAS OPERATIVOS PAQUETES INTEGRADOS DE OFICINA PROCESOS Y PROCEDIMIIENTOS DE UNIDAD ADMINISTRATIVA.
UNIDAD I INTRODUCCION A LOS S.O.
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
M E N U I N I C I A L PARTES PC PERIFERICOS C P U SOFTWARE 1 johnbonilla.es.tl.
INGENIERIA DE SOFTWARE
SOFTWARE APLICACIÓN programa informático diseñado para facilitar al usuario la realización de un determinado tipo de trabajo. APLICACIÓN programa informático.
Software.
SOFTWARE Y HARDWARE.
TECNICO EN SISTEMAS NUMERO DE FICHA:
Proceso de desarrollo de Software
Republica Bolivariana de Venezuela Universidad Alonso de Ojeda Facultad de Ingeniería Escuela de Computación Ing. Prof. Leonel Sequera Entrada y Salidas.
Evelin Ramos Cabrera 1° B
PROCESADOR.- El procesador es el cerebro del sistema, encargado de procesar toda la información. Básicamente, es el "cerebro" de la computadora. Prácticamente,
. Ing. Jorge Ospina. Cortes y parciales I corteMartes 1 de Marzo de 2011 II corteMartes 12 de Abril de 2011 III corteMartes 1 de Junio de 2011.
INVESTIGACION DE TEMARIO JOSE LUIS VEGA MERINO.  1.2. Requerimientos de instalación.  Microsoft Windows 7 Professional y Microsoft Windows 7 Ultimate.
SOFTWARE DE COMPUTADORAS
HISTORIA DE LA COMPUTACION ALGORITMOS Y LENGUAJES DE PROGRAMACION CARRERA: ING. INDUSTRIAL.
Estructura del sistema operativo
Transcripción de la presentación:

Universidad de Cantabria Escuela Técnica Superior de Ingenieros Industriales y de Telecomunicación Migración de un sistema operativo de tiempo real, MaRTE OS, a un microcontrolador Proyecto fin de carrera Alberto Gutiérrez Castro Santander, octubre de 2003

Universidad de Cantabria 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 Octubre 2003 AGC

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. Octubre 2003 AGC

Universidad de Cantabria 1. Introducción 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. 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... Octubre 2003 AGC

… 1. Introducción 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. 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. Octubre 2003 AGC

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 Octubre 2003 AGC

… 2. MaRTE OS Arquitectura 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 Octubre 2003 AGC

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 Octubre 2003 AGC

Universidad de Cantabria ...3. Controlador Eyebot CPU32 Arquitectura 32 bits Familia 68020 Manejador de excepciones Modo de depuración en segundo plano (BDM) SIM (Módulo de integración de sistema) Soporte para bus externo Lógica de protección del sistema 2 puertos de 8 bits de E/S de función dual 1 puerto de 7 bits de salida con función dual TPU (Unidad de Procesado de Tiempo) Capacidad de operación independiente de la CPU32 16 canales independientes y programables, que pueden desempeñar funciones de tiempo 2 registros de cuenta de temporizador con niveles de escala programables. Nivel de prioridad de los canales seleccionables QSM (Módulo de Cola de Periféricos Serie) interfaz de comunicación serie interfaz para la cola de periféricos serie 1 puerto d 8 bit de función dual Octubre 2003 AGC

4. Migración de MaRTE OS a MC68332 Universidad de Cantabria 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. Octubre 2003 AGC

Universidad de Cantabria ...4. Migración de MaRTE OS a MC68332 Arquitectura 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 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 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. Octubre 2003 AGC

Universidad de Cantabria 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 Octubre 2003 AGC

6. Aplicación de demostración El SoccerBot plataforma de desarrollo Octubre 2003 AGC

6. Aplicación de demostración Universidad de Cantabria 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. Octubre 2003 AGC

...6. Aplicación de demostración Diagrama de funcionalidad de la aplicación Pthread INICIA Prioridad : alta T1 Pthread MUEVE Prioridad: media T2 Pthread PON prioridad: baja T3 mutex t1<t2<t3 video Octubre 2003 AGC

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 Octubre 2003 AGC

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 Octubre 2003 AGC