[en] ABSTRACT: This project, as anyone can guess through its name, is about the MaRTE OS port to the ARM architecture. In order to realize this port, a development platform is selected. It is going to check, as well as the emulator, if everything works properly. The platform selected for that porpoise is the great Raspberry Pi. This port must be developed noticing that MaRTE OS is a Hard Real- Time Operating System for embedded applications. Which means that the clock, timer interrupts and context switch are extremely important at this system. It must be considered that MaRTE OS could be ported to others ARM platforms apart from Raspberry Pi. This port is intended to be as easy as possible. Is also relevant to notice that this is not the first time MaRTE OS is ported, so it gives facilities to fulfill that porpoise. During the project it must be considered to write down every possible future improvement founded about MaRTE OS. This will help its future development. This process will be revealed from the bare metal level of ARM, which will be responsible of handling the hardware properly, to the MaRTE OS functions. The main part of this port is the development of the hardware abstract interface. This software layer is a bridge between the operative system kernel and the hardware platform handling the timer, interrupts and context switches. In The following pages the whole process of porting MaRTE OS is explained.

[es] RESUMEN: Este proyecto, como su propio nombre indica, consiste en el portado de MaRTE OS a la arquitectura ARM. Para dicho portado se ha escogido una plataforma de desarrollo sobre la que comprobar, junto a un emulador, la funcionalidad del desarrollo. La plataforma seleccionada para este propósito es la polifacética Raspberry Pi. El portado debe de realizarse teniendo en cuenta que MaRTE OS es un sistema operativo de tiempo real estricto. Esto quiere decir que hay que tener especial atención con el reloj, las interrupciones del temporizador y el cambio de contexto. Se tiene en cuenta que en un futuro es muy posible que se requiera el portado de MaRTE OS a otras plataformas que comparten la arquitectura ARM, pero tienen ciertas diferencias respecto a la plataforma Raspberry Pi. Se pretende, por lo tanto, hacer su adaptación lo más sencilla posible. También hay que considerar que este no es el primer portado que se realiza de este sistema operativo y que est´a preparado para dicho fin. Es muy importante percatarse de las posibles mejoras que se pueden hacer al propio sistema operativo, el portado a esta plataforma puede destapar ciertas mejoras a realizar en un futuro. En este proyecto se desvelaría este proceso, descubriendo el más bajo nivel de la arquitectura ARM, pues sería la responsabilidad del código generado que las interacciones directas sobre el hardware funcionen correctamente, hasta el funcionamiento de MaRTE OS. La parte central del portado es la implementación de la interfaz abstracta con el hardware. Esta capa software sirve como puente entre el núcleo del sistema operativo y la plataforma hardware encargándose principalmente de la gestión de la temporización, las interrupciones y los cambios de contexto. Se explica a continuación todo el proceso llevado a cabo con el fin de realizar un portado satisfactorio.