000004930 001__ 4930
000004930 005__ 20150325135742.0
000004930 037__ $$aTAZ-PFC-2010-128
000004930 041__ $$aspa
000004930 1001_ $$aCanales Mayo, Luis
000004930 24500 $$aMigración del sistema operativo de tiempo real MaRTE OS al microprocesador ARM
000004930 260__ $$aZaragoza$$bUniversidad de Zaragoza$$c2010
000004930 506__ $$aby-nc-sa$$bCreative Commons$$c3.0$$uhttp://creativecommons.org/licenses/by-nc-sa/3.0/
000004930 520__ $$aMaRTE OS (Minimal Real-Time Operating System for Embedded Applications) es un sistema operativo de tiempo real que implementa los servicios definidos en el estándar POSIX.13. En general, el objetivo del estándar POSIX es proporcionar un API a las aplicaciones para abstraerlas del sistema operativo que hay debajo, con el fin de facilitar la migración entre los diferentes sistemas operativos que se ajusten a dicho estándar. En concreto, POSIX.13 está orientado a perfiles de entornos de aplicación de tiempo real, como es nuestro caso, y constituye una versión reducida de POSIX.    Actualmente, MaRTE OS ofrece soporte para aplicaciones escritas en C o Ada. El núcleo puede ser compilado junto con dichas aplicaciones para funcionar como proceso de Linux, o para ser ejecutado directamente sobre algunos procesadores de la familia Intel X86 (486, Pentium I y Pentium II). El objetivo final al que apunta este proyecto es a la migración total de MaRTE OS al microprocesador ARM7tdmi (dispuesto en el microcontrolador S3C44B0X), con el fin de ejecutar en él aplicaciones bajo este sistema operativo.    MaRTE OS está hecho para ser compilado desde Linux. Es por ello por lo que se ha elegido este último sistema operativo como base para la generación de todo el entorno de desarrollo. Dado que MaRTE OS está hecho en C y Ada ha sido necesario elaborar herramientas de compilación cruzada (GCC y Gnat), de forma que ha sido posible compilar desde Linux, alojado en un PC con procesador de la familia x86, aplicaciones que posteriormente iban a ser ejecutadas en un procesador distinto (el ARM7tdmi).    Una vez obtenido el entorno de desarrollo cruzado, se pudo proceder a la programación de la parte de más bajo nivel de MaRTE OS. Esta parte se denomina "interfaz abstracta con el hardware", y proporciona al resto del sistema operativo una visión abstracta de la plataforma sobre la que se está ejecutando. La tarea principal ha sido, pues, reprogramar las rutinas de esta interfaz (definida en un único fichero) satisfaciendo sus dependencias con el hardware. Usando los periféricos dispuestos en la placa utilizada (S3CEV40) se ha conseguido el comportamiento especificado para cada una de estas rutinas, las cuales tienen que ver con la carga/guardado de algunos registros del procesador, dehabilitación/habilitación de interrupciones, temporizaciones, etc...    Adicionalmente se han implementado las rutinas de inicialización de los periféricos asociados a la interfaz abstracta con el hardware de MaRTE OS. Además, se proporcionan algunas rutinas adicionales como el manejo de la interrupción de reseteo. Finalmente, se ha incluido una batería de pruebas consistente sobre la interfaz abstracta con el hardware, así como algunos scripts que permiten compilar todos los tests.    Tras compilar en Linux nuestras aplicaciones y generar los ejecutables correspondientes es necesario transferirlos a la placa utilizada. Para ello se proporciona un entorno, llamado Embest, que ofrece facilidades para cargar y depurar nuestras aplicaciones en el microcontrolador que se ha usado. El entorno Embest funciona bajo Windows, por lo que es necesario transferir los ejecutables desde Linux (donde hemos compilado nuestra aplicación) a este otro sistema operativo.
000004930 521__ $$aIngeniero en Informática
000004930 540__ $$aDerechos regulados por licencia Creative Commons
000004930 6531_ $$aMaRTE OS
000004930 6531_ $$asistema operativo de tiempo real
000004930 6531_ $$aARM
000004930 6531_ $$acompilación cruzada
000004930 6531_ $$aGNAT
000004930 6531_ $$aGCC
000004930 6531_ $$aada
000004930 6531_ $$adriver
000004930 6531_ $$aembest
000004930 6531_ $$aperiféricos
000004930 700__ $$aVillarroel Salcedo, José Luis$$edir.
000004930 7102_ $$aUniversidad de Zaragoza$$bInformática e Ingeniería de Sistemas$$cIngeniería de Sistemas y Automática
000004930 830__ $$aCPS
000004930 8560_ $$f551072@celes.unizar.es
000004930 8564_ $$s689308$$uhttps://zaguan.unizar.es/record/4930/files/TAZ-PFC-2010-128.pdf$$yMemoria (spa)
000004930 8564_ $$s989819$$uhttps://zaguan.unizar.es/record/4930/files/TAZ-PFC-2010-128_ANE.pdf$$yAnexos (spa)
000004930 909CO $$ooai:zaguan.unizar.es:4930$$pdriver$$pproyectos-fin-carrera
000004930 950__ $$a
000004930 980__ $$aTAZ$$bPFC$$cCPS