Tamaño: 4419
Comentario:
|
Tamaño: 4505
Comentario:
|
Los textos eliminados se marcan así. | Los textos añadidos se marcan así. |
Línea 52: | Línea 52: |
o para el caso de 64 bits [[attachment:gdb-arm-none-eabi_7.7.1+dfsg-1+6_amd64.deb]] |
Herramientas de Programación y Depurado
El proyecto GNU-ARM toolchain es el compilado de las herramientas tradicionales del GNU toolchain configuradas para generar o reconocer código ARM.
Esto significa que dentro de todos los proyectos que integran el GNU toolchain ya se encuentran lo necesario para generar la herramienta GNU-ARM específica. El mantenimiento y mejoras de la "porción ARM" que tienen estas herramientas, está realizada por comunidades en general auspiciadas por ARM Holdings plc.
Estas mismas comunidades realizan Pre-built que se pueden bajar de paginas específicas y que libera a los usuarios del tedioso proceso de bajar cada herramienta (gcc, ld, gdb, etc) y realizar el compilado de las mismas para ARM. El proyecto de estas GNU-ARM toolchain es el siguiente
https://launchpad.net/gcc-arm-embedded/
Dentro de esta misma página, se puede encontrar un link a un proyecto para Ubuntu, él cual permite una fácil instalación y actualización de mismo, al agregar un repositorio especifico para luego instalar y mantener el proyecto con las herramientas de administración de paquetes de Ubuntu.
https://launchpad.net/~terry.guo/+archive/gcc-arm-embedded
En este último se encuentra un instructivo para instalar las herramientas.
Estos pasos se pueden resumir de la siguiente manera
- Paso 1: Agregar el repositorio al directorio source.list.d, para ello se abre una terminal y se ingresa
sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded
- Paso 2: Se actualiza el repositorio ingresando
sudo apt-get update
- Paso 3: Se instala el "toolchain" escribiendo
sudo apt-get install gcc-arm-none-eabi
- Paso 4: Se instala el debugger (gdb)
Si bien las herramientas instaladas ya poseen la herramienta para realizar debug en GNU denominada gdb, este no tiene activado el simulador (target sim)
Para instalar una versión de gdb que permita simular se debe realizar lo siguiente:
Usuario de Ubuntu 14.04 o superior
sudo apt-get install gdb-arm-none-eabi
En caso que esta ultima instalación termine con un mensaje de error, se puede forzar la misma escribiendo
sudo dpkg -i --force-overwrite /var/cache/apt/archives/gdb-arm-none-eabi
Importante antes de oprimir enter, se presiona la tecla tab para que se complete el archivo gdb-arm-none-eabi_X.X.XX.XXXXXX.deb con la versión descargada, completado el nombre con la extensión .deb, luego se oprime enter para realizar la instalación.
Usuario de Ubuntu anteriores
Bajar el siguiente paquete
o para el caso de 64 bits gdb-arm-none-eabi_7.7.1+dfsg-1+6_amd64.deb
luego en una consola, ejecutar
sudo dpkg -i --force-overwrite Descargas/gdb-arm-none-eabi_7.6.50.20131218-0ubuntu1+1_i386.deb
esta linea supone que el archivo se descargó en el directorio "Descargas", de no ser así modificar la ruta
Una vez instalado el paquete, se tendrá todas las herramientas GNU para ARM identificadas con el prefijo arm-none-eabi-
DEBUG
Se puede realizar con ddd o con arm-none-eabi-gdb --tui
ddd
Esta herramienta se instala de los repositorios
apt-get install ddd
Luego para correr se procede de la siguiente forma
ddd --eval-command="target sim" --debugger arm-none-eabi-gdb ex1.elf
Donde ex1.elf es la aplicación, arm-none-eabi-gdb es la versión del gdb que el ddd usará y target sim es para que utilice el simulador
Al arrancar aparecerá el programa fuente y abajo una ventana con la consola de gdb, en esa ventana se escribe load
Luego para hacer un break point se procede con el botón derecho en la linea requerida
Finalmente haciendo click en el botón run se corre el programa
gdb --tui
Para realizar un debug con esta herramienta no es necesario instalar nada.
Se debe ejecutar
arm-none-eabi-gdb --tui
luego dentro de este programa se escribe
target sim load (nombre del .elf) file (nombre del .elf)
Aparecerá en una ventana el fuente a depurar, escribiendo break nn se hace un break point (nn es el numero de linea que te aparece al costado izquierdo del archivo fuente) un tutorial de la herramienta se puede ver en