%0 Generic %A Hidalgo Serrano, Sergio %A Huerta Aranda, Alberto %A Sañudo Vacas, Daniel %T ARM9Core: un emulador del procesador ARM9TDMI para PC %J Trabajos de curso (Departamento de Arquitectura de Computadores y Automática, FDI) %D 2007 %U https://hdl.handle.net/20.500.14352/54301 %X El proyecto consiste en desarrollar el núcleo de un emulador para PC delmicroprocesador ARM9TDMI usado en sistemas empotrados, dispositivos portátiles,etc... Este proyecto está diseñado como una librería que se puede incorporar a unaaplicación que necesite reproducir el comportamiento de un sistema basado en dichoprocesador.Su diseño permite la integración de forma sencilla junto con otros módulos que emulenlas distintas partes del sistema, y a su vez facilita la incorporación de nuevasfuncionalidades y características.Dispone también de opciones para su uso en depuración de programas, tales comoejecución paso a paso, visualización y modificación del estado de la máquina, etc...Dentro del proyecto también implementamos un programa de prueba que utiliza estenúcleo para emular un sistema simple de depuración de programas, con el que hemosrealizado diversos tests para comprobar el funcionamiento y rendimiento del emulador.Un segundo objetivo del proyecto era el de estudiar una arquitectura real y las razonesde las distintas decisiones tomadas durante su diseño, así como las mejores técnicas deemulación y sus ventajas e inconvenientes.[ABSTRACT]Our project focuses in developing the core of an ARM9TDMI emulator for the PC. Thismicroprocessor is commonly used in embedded systems, portable devices, etc... Theproject is designed to be added as a library into a bigger application which needs toreproduce an ARM-based system's behaviour.Its design allows easy integration with other modules emulating the different system'sparts, as well as simplifying the addition of new features and improved functions.It also has options for its use while debugging other programs written for the ARM,such as step-by-step execution, full access to the machine's current state, etc...Within the project we also developed a test program which uses the core to emulate asimple debugging system, which we used to test the proper working and performance ofour emulator.A second of goal for the project was to study a real processor architecture and thereasons behind the different design choices, along with the best emulation techniquesand their weak and strong points. %~