[en] ABSTRACT: The aim of this work has been to work on the generation of a simulation tool for high-level embedded systems to simulate systems combining different operating systems on different HW platforms. More specifically, the goal is to start from a previous tool and extend it to support systems combining two operating systems over three different architectures, generating a test suitable for this purpose. In this project, the SCoPE simulation tool, developed by Microelectronic Engineering Group (GIM) from University of Cantabria (UC), has been extended in order to support simulations of Multiprocessor System-on-Chip (MPSoC) embedded systems running software platforms combining several operating systems. Furthermore, during the proyect it has analyzed the simulation and performance estimation capabilities for systems including different operating systems on different hardware architectures. These combinations implies applying different communication strategies among operating systems and software application components, as Network-on-Chip communication or shared memory areas. In order to test simulation and performance estimation capabilities, a complex application which performs audio and video capture and encoding has being implemented. Data is retrieved through peripheral models implemented and added to hardware platform for that purpose together with their respective device drivers. This data retrieval is performed on a POSIX operating system. Also, video and audio encoding tasks (to H.264 and mp3 formats respectively) are performed among components executed over POSIX operating systems, in charge of audio encoding, and Win32, in charge of video compression. To develop a platform capable of performing the proposed simulations, a plug-in developed for SCoPE, which allows to simulate application code using Win32 API, has being used. This plug-in was initially developed for a previous version of SCoPE. Because of that, an adaptation to latest SCoPE version was needed; as well as a test with a complex application to ensure proper results of the plug-in, complementing other tests used to check individual features of the plug-in. Finally, several tests have been performed in order to compare simulations and performance estimation results obtained with this infrastructure to others results obtained with other tools like OVP.

[es] RESUMEN: El objetivo de este trabajo ha sido trabajar en la generación de una herramienta de simulación de sistemas embebidos de alto nivel que permita simular sistemas que combinen distintos sistemas operativos sobre diversas plataformas HW. Más en concreto, el objetivo es partir de una herramienta previa y extendiderla para soportar sistemas que combinen dos sistemas operativos sobre tres arquitecturas distintas, generando un demostrador apropiado a tal efecto. El trabajo se ha centrado en extender la plataforma de simulación SCoPE desarrollada por el Grupo de Ingeniería Microelectrónica (GIM) de la Universidad de Cantabria (UC) para realizar la simulación de sistemas embebidos multiprocesador System-on-Chip (MPSoC) con plataformas software que combinan distintos sistemas operativos. Además se han analizado las capacidades de simulación y estimación de prestaciones de este tipo de sistemas con múltiples sistemas operativos con diferentes arquitecturas que implican diferentes formas de comunicación entre los sistemas operativos y los componentes del software de aplicación, como pueden ser el uso de una red NoC o zonas de memoria compartida. Para comprobar las capacidades de simulación y estimación se ha implementado una aplicación compleja que realiza la captura y codificación de vídeo y audio. Los datos se obtienen gracias a unos periféricos cuyos modelos se han implementado y añadido a la plataforma hardware, junto con sus respectivos controladores. Esta parte de captura de datos se realiza sobre un sistema operativo POSIX. Además, las tareas de compresión tanto del vídeo como del audio (a los formatos H.264 y mp3 respectivamente) se repartirán entre componentes ejecutados sobre sistemas operativos POSIX, que se encargará de la compresión de audio, y Win32, que se encargará de la compresión de vídeo. Para desarrollar la plataforma que permita realizar las simulaciones se ha hecho uso de un plug-in desarrollado para SCoPE que permite la simulación de código de aplicación que utilice la API Win32. Este plug-in ha sido desarrollado de una forma inicial para una versión anterior del simulador. Por ello en primer lugar se ha realizado la adaptación del plug-in a la última versión disponible; así como realizado una prueba de su correcto funcionamiento con una aplicación de cierta envergadura para complementar los test que se han hecho por separado de las diferentes funcionalidades que este plug-in implementa. Por último, se han comparado las simulaciones y estimaciones obtenidas con la infraestructura desarrollada con otras proporcionadas por otras herramientas como OVP.