Bienvenido: Ingresar
location: Diferencias para "WebHome/HerramientasProgramacion/HLaunchpad"
Diferencias entre las revisiones 24 y 25
Versión 24 con fecha 2017-09-19 19:54:32
Tamaño: 6601
Comentario:
Versión 25 con fecha 2017-09-19 20:12:00
Tamaño: 6768
Comentario:
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 33: Línea 33:
##'''Usuario de Ubuntu anteriores'''    * Paso 4:
Un comentario antes de seguir con este paso
El programa utilizado para depurar un proyecto es el gdb, herramienta utilizada en cualquier proyecto GNU, pero en este caso compilado para depurar código ARM.
Si bien el depurador està preparado para depurar programas en ARM, el problema es que este programa debe correr primero en una arquitectura ARM, para esto tenemos dos soluciones:
    * Simulación: un núcleo ARM es simulado por el propio GDB y allí corre nuestra aplicación.
    * El programa corre en un hardware (una placa externa) y se depura el programa por una conexión remota (In-Circuit Debugging)
Para los ejemplos y primeras pruebas en ensamblador utilizaremos la primera solución, el problema es que por ser utilizada con fines académico no está disponible en las últimas versiones del GDB para ARM, deberemos entonces usar una versión anterior cuando se quiera usar esta característica

Bajar versión anterior de GDB (64bits)
 
  
Línea 53: Línea 63:
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.
Para realizar un debug se procede de la siguiente manera

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/~team-gcc-arm-embedded/+archive/ubuntu/ppa

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:team-gcc-arm-embedded/ppa
  • Paso 2: Se actualiza el repositorio ingresando

sudo apt-get update
  • Paso 3: Se instala el "toolchain" escribiendo

sudo apt-get install gcc-arm-embedded
  • Paso 4:

Un comentario antes de seguir con este paso El programa utilizado para depurar un proyecto es el gdb, herramienta utilizada en cualquier proyecto GNU, pero en este caso compilado para depurar código ARM. Si bien el depurador està preparado para depurar programas en ARM, el problema es que este programa debe correr primero en una arquitectura ARM, para esto tenemos dos soluciones:

  • Simulación: un núcleo ARM es simulado por el propio GDB y allí corre nuestra aplicación.
  • El programa corre en un hardware (una placa externa) y se depura el programa por una conexión remota (In-Circuit Debugging)

Para los ejemplos y primeras pruebas en ensamblador utilizaremos la primera solución, el problema es que por ser utilizada con fines académico no está disponible en las últimas versiones del GDB para ARM, deberemos entonces usar una versión anterior cuando se quiera usar esta característica

Bajar versión anterior de GDB (64bits)

Una vez instalado el paquete, se tendrá todas las herramientas GNU para ARM identificadas con el prefijo arm-none-eabi-

DEBUG

Para realizar un debug se procede de la siguiente manera

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

Proyecto CIAA

La Cátedra utiliza para el desarrollo de los diferentes prácticos una placa EDU-CIAA

Esta placa pertenece al proyecto CIAA (Computadora Industrial Abierta Argentina), si desean conocer mas sobre este proyecto, pueden entrar a la página del mismo

http://www.proyecto-ciaa.com.ar/

Para la instalación del IDE y de las demás herramientas necesarias para le programación de esta placa, pueden dirigirse a

http://www.proyecto-ciaa.com.ar/devwiki/doku.php?id=docu:fw:bm:ide:install

UntitledWiki: WebHome/HerramientasProgramacion/HLaunchpad (última edición 2020-07-17 23:01:15 efectuada por GuillermoSteiner)