Adaptación de GDB para dar soporte a la arquitectura CoolFlux
Loading...
Download
Official URL
Full text at PDC
Publication date
2007
Advisors (or tutors)
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citation
Abstract
El proyecto desarrollado ha consistido en portar el GNU Debugger para poderlo utilizar sobre una nueva arquitectura DSP (Procesador Digital de Señal).
Concretamente, la arquitectura CoolFlux DSP que fue creada por Philips/NXP. Las principales características de esta arquitectura son su reducido consumo y su eficiencia en el procesado de señales de audio.
El GDB (GNU Debugger) es el depurador de uso más extendido y pertenece al proyecto GNU (GNU ‘s not Unix), que es de sobra conocido por sus múltiples herramientas de código abierto (por ejemplo, el intérprete de comandos Bash o el
gestor de arranque Grub). Su éxito radica en su extensa funcionalidad y en el elevado número de sistemas que soporta. No obstante, dar soporte a un nuevo procesador
supone un reto importante, especialmente si no se está familiarizado con su infraestratuctura y si se trabaja con un procesador en desarrollo, como es nuestro
caso.
Como es bien sabido, un depurador es un software que permite al programador controlar la ejecución de un programa y examinar su estado. Gracias a éste puede
descubrir fallos en tiempo de ejecución. En un sistema empotrado este proceso de depuración se divide habitualmente en dos partes. En el equipo de desarrollo (host) se ejecuta la parte de interfaz de usuario, que es la encargada de recibir los comandos de depuración, enviar las órdenes al equipo objetivo y visualizar la información que este último devuelve. En el equipo objetivo (target), se reciben estas órdenes, se controla la ejecución del programa y se suministra la información de estado solicitada. La comunicación entre ambos equipos se lleva cabo mediante uno o varios protocolos de comunicaciones.
Dar soporte a un nuevo sistema empotrado en GDB requiere por lo tanto: describir la arquitectura del sistema objetivo para poder comprender el estado en el que se
encuentra; implementar los comandos de depuración mediante las órdenes básicas que el DSP es capaz de entender. Además, puesto que estas órdenes han de ser enviadas a través de uno o varios protocolos de comunicaciones, es necesario implementar los drivers que actuan de interfaz entre ellos.
Todos estos aspectos han sido tratados en este proyecto y el resultado es una versión completamente operativa del depurador GDB para CoolFlux, que permite incluso la depuración remota a través de Internet. Este entorno de depuración no sólo supera en funcionalidad y eficiencia al depurador oficial de la empresa Target, sino que además como efecto lateral de este proyecto se han corregido diversos errores de su compilador y se han descubierto comportamientos anómalos del propio procesador.
[ASTRACT]
In this project I have ported the GNU Debugger to use it on DSP architecture. In fact, CoolFlux DSP architecture was created by Philips/NXP. CoolFlux DSP is an "Ultra Low Power DSP ", focus mainly on audio process.
GDB (GNU Debugger) is the debugger most known. It belongs to the GNU Project, which is well known for his multiple tools. For example, the command interpreter Bash or Grub, they belong to the GNU Project. The main particularity of this project is that it develops open source software.
A debugger is software that allows programmers to control the execution of a program. In fact, debugger helps programmers to discover failures and also it allows
programmers try compiled code. GDB allows see what is happening 'inside' of another program, while this one is executed.
Programs can be debugged setting breakpoints, executing single step, observing the values of the variables, etc. The main characteristic is that, GDB can works with many
different architectures.
Both main parts of this project, are the description implementation of CoolFlux architecture on GDB's files and the connection between the DSP and the computer.
This document, tries to explain on a detailed way, the necessary steps for the creation of a GDB version that allows remote debugging on any system with a CoolFlux core
Description
Trabajo de la asignatura Sistemas Informáticos (Facultad de Informática, Curso 2006-2007)