@ -10,9 +10,9 @@ This manual aims to describe the setup and basic operations of the MSP430 GCC to
------
------
## Introducciòn
## Introducción
El paquete GCC de código abierto es un depurador completo y una cadena de herramientas de compilación C/C++ de código abierto para la creación y depuración de aplicaciones integradas basadas en microcontroladores MSP430. Este compilador soporta todos los dispositivos MSP430 sin limitaciones de tamaño de código. Este compilador se puede utilizar de forma independiente desde la línea de comandos o dentro de Code Composer Studio v6.0 o posterior[1].
El paquete GCC de código abierto es un depurador completo y una cadena de herramientas de compilación C/C++ de código abierto para la creación y depuración de aplicaciones integradas basadas en microcontroladores MSP430. Este compilador soporta todos los dispositivos MSP430 sin limitaciones de tamaño de código y se puede utilizar de forma independiente desde la línea de comandos o dentro de Code Composer Studio v6.0 o posterior[1].
El paquete de instalación incluye lo siguiente:
El paquete de instalación incluye lo siguiente:
@ -69,7 +69,7 @@ $ main.c
```
```
En el cual se copiara y pegara cualquier código a utilizar.
En el cual se copiara y pegara cualquier código a utilizar.
Ejemplo de código blink led.
Ejemplo de código para hacer parpadear un led:
```c
```c
int main(void) {
int main(void) {
@ -92,16 +92,18 @@ int main(void) {
}
}
```
```
#### Compilar un programa desde la termial
#### Compilar un programa desde la termial de Linux
Una vez completados los pasos anteriores, puedes compilar tu programa desde la terminal.
El programa se puede compilar manualmente desde la terminal indicando las rutas de instalación de las librerías, binarios y demás, o usando un método más sencillo implementando un archivo *Makefile* incluido en los ejemplos por defecto que el paquete contiene. En este documento se muestran los pasos a seguir empleando el segundo método comenzando con la creación de un nuevo proyecto; sin embargo, a continuación, se muestra un ejemplo de compilación manual desde la terminal.
Ejemplo de compilación de un programa desde la terminal (primer método):
Primero debes ingresar a la dirección en donde se encuentra instalado el MSP430- GCC y redireccionarte a la carpeta bin.
Para compilar se coloca ./ seguida de la dirección msp430-elf-gcc
Primero se debe dirigir a la dirección en donde se encuentra instalado el paquete *MSP430- GCC* y redireccionarse a la carpeta *bin*.
Para compilar se coloca ./ seguido de la dirección *msp430-elf-gcc*.
Y después coloca los parámetros correspondientes a -I, -L, -T, -g, -o, mmcu
Y después coloca los parámetros correspondientes a -I, -L, -T, -g, -o, mmcu
Donde:
Donde:
-I : Dirección donde se encuentran las librerías
-I : Dirección donde se encuentran las librerías
@ -111,7 +113,7 @@ Donde:
-o: dirección donde se encuentra tu archivo .c con la diferencia que se cambia el .c por .o
-o: dirección donde se encuentra tu archivo .c con la diferencia que se cambia el .c por .o
Mmcu: especifica el microcontrolador que utilizaras
Mmcu: especifica el microcontrolador que utilizaras
### Creación de un nuevo proyecto
## **Creación de un nuevo proyecto**
------
------
@ -154,18 +156,17 @@ $ pico ejemplo.c
Para crear un archivo .c dirijase en el directorio en el que lo desea crear y digite el siguiente comando **pico filename.c**. Por fines explicativos, como ejemplo, se creará un archivo .c llamado **Ejemplo** en la carpeta **Programa1**, en la Figura se muestra el comando antes mencionado adaptado al ejemplo.
Para crear un archivo .c dirijase en el directorio en el que lo desea crear y digite el siguiente comando **pico filename.c**. Por fines explicativos, como ejemplo, se creará un archivo .c llamado **Ejemplo** en la carpeta **Programa1**, en la Figura se muestra el comando antes mencionado adaptado al ejemplo.
# falta imagen aquiii
#### falta imagen aquiii
### Debugging
## **Debugging**
> Uso del agente GDB
#### **Uso del agente GDB **
###### Introducciòn
###### Introducción
El agente GDB es una herramienta para conectar el GDB con el hardware de destino para depurar su software. El GDB
El agente GDB es una herramienta para conectar el GDB con el hardware de destino para depurar su software. El GDB
El agente utiliza la pila de depuración MSP430 para conectarse al hardware y proporciona una interfaz al GDB.
El agente utiliza la pila de depuración MSP430 para conectarse al hardware y proporciona una interfaz al GDB.
En Windows, se proporciona una consola y una versión de aplicación GUI del agente GDB. Solo el
aplicación de consola es compatible con Linux.
En Windows, se proporciona una consola y una versión de aplicación GUI del agente GDB. Solo la aplicación de consola es compatible con Linux.
#### Iniciando GDB Agent
#### Iniciando GDB Agent
@ -177,12 +178,12 @@ Abra una terminal de comando y dirijase al directorio de instalación, una vez q
./bin/gdb\_agent\_console msp430.dat
./bin/gdb\_agent\_console msp430.dat
```
```
La aplicación de consola abre un puerto TCP/IP en el equipo local (Figura \ref{Iniciando GDB Agent}). Muestra el número de puerto en la consola. Por defecto, este número de puerto es 55000.
La aplicación de consola abre un puerto TCP/IP en el equipo local (Figura ). Muestra el número de puerto en la consola. Por defecto, este número de puerto es 55000.
[^]: Es importante que deje abierta esta consola hasta terminar de depurar el programa (debugging) para poder conectar el GDB con el GDB Agent.
[^]: Es importante que deje abierta esta consola hasta terminar de depurar el programa (debugging) para poder conectar el GDB con el GDB Agent.
1. Abra otra terminal de comando y dirijase a la ruta donde se encuentra el directorio con el archivo **.c** y el Makefile del programa que quiere cargar a la tarjeta.
2. Escriba el comando **make debug**. Este comando inicia el GDB y espera que se introduzcan comandos, esto es indicado por el puntero **(gdb)**.
```c
alberto@alberto-Inspiron-7:~/Escritorio/msp430_programs/Programa1$ make debug
GNU gdb (Mitto Systems Limited - msp430-gcc 9.3.1.11) 9.1
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "--host=x86_64-pc-linux-gnu --target=msp430-elf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from msp430fr6989.out...
(gdb)
```
3. Conecte el dispositivo.
4. Escriba el comando **target remote :55000** y presione enter para conectar el GDB con el GDB Agent que se encuentra en la otra terminal de comando que se dejó abierta. En la otra terminal se podrá observar en la consola del GDB Agent que se conectó un dispositivo/cliente.
6. Escriba el comando **continue** para correr el programa o en su defecto escriba **step** para compilar elprograma por partes.
```c
(gdb) continue
Continuing.
```
7. Para parar la ejecución teclee **Ctrl + C** (^C), y para salir del GDB escriba **q**, presione enter y posteriormente escriba **y** y presione enter.
```c
^C
Program stopped.
main () at Ejemplo.c:15
15 i--;
(gdb) q
A debugging session is active.
Inferior 1 [Remote target] will be detached.
Quit anyway? (y or n) y
Detaching from program: /home/alberto/Escritorio/msp430_programs/Programa1/msp430fr6989.out, Remote target