This manual aims to describe the setup and basic operations of the MSP430 GCC toolchain to know how to use the open-source GCC compiler for microcontrollers to build an example for an MSP430 target device using the command terminal of Linux. It will also be shown how to debug software with the GDB Agent and the GNU Debugger tools so that the program that was built can be uploaded to the target device successfully.
This manual aims to describe the setup and basic operations of the MSP430 GCC toolchain to know how to use the open-source GCC compiler for microcontrollers to build an example for an MSP430 target device using the command terminal of Linux. It will also be shown how to debug software with the GDB Agent and the GNU Debugger tools so that the program that was built can be uploaded to the target device successfully.
[^]: This user guide was approved in the following distributions of Linux: **Ubuntu 22.04LTS** and **Debian 11** using a **MSP430FR6989** microcontroller.
------
[^]: This user guide was approved in the following distributions of Linux: **Ubuntu 22.04LTS** and **Debian 11** using a **M430F2619T** microcontroller.
[TOC]
[TOC]
@ -28,6 +29,18 @@ El paquete GCC de código abierto es un depurador completo y una cadena de herra
#### Instalación de MSP430 GCC como paquete independiente
#### Instalación de MSP430 GCC como paquete independiente
El primer paso es bastante sencillo, consiste en abrir la terminal de comando y direccionarse a la carpeta en donde se guardará el archivo que contenga el programa a ejecutar.
El primer paso es bastante sencillo, consiste en abrir la terminal de comando y direccionarse a la carpeta en donde se guardará el archivo que contenga el programa a ejecutar.
@ -37,7 +50,7 @@ Con el comando **cd** se puede entrar a alguna carpeta en específico como lo pu
$ cd Descargas
$ cd Descargas
```
```
Antes de continuar con el siguiente paso se debe dirigir a la página oficial de TI (Texas Instruments) yendo directamente a la siguiente página [https://www.ti.com/tool/MSP430\-GCC\-OPENSOURCE](). En la pestaña de *descargas* se debe seleccionar la opción más factible para su computadora en este caso **Mitto Systems GCC 64-bit Linux installer incl. support files**. Una vez descargada, en la carpeta de descargas se debe buscar el nombre del archivo y posteriormente, en la terminal de comando se debe colocar lo siguiente: "**sudo chmod +x <installer>.run** y el comando **./<installer>**", lo cual permitirá instalar el programa. A continuación se muestra un ejemplo, donde **msp430-gcc-full-linux-X64-installer-9.3.1.2.run**, es el nombre del archivo que se descargó (installer).
Antes de continuar con el siguiente paso se debe dirigir a la página oficial de TI (Texas Instruments) yendo directamente a la siguiente página [https://www.ti.com/tool/MSP430\-GCC\-OPENSOURCE](). En la pestaña de *descargas* se debe seleccionarel la opción más factible para su computadora en este caso **Mitto Systems GCC 64-bit Linux installer incl. support files**. Una vez descargada, en la carpeta de descargas se debe buscar el nombre del archivo y posteriormente, en la terminal de comando se debe colocar lo siguiente: "**sudo chmod +x <installer>.run** y el comando **./<installer>**", lo cual permitirá instalar el programa. A continuación se muestra un ejemplo, donde **msp430-gcc-full-linux-X64-installer-9.3.1.2.run**, es el nombre del archivo que se descargó (installer).
El código que se muestra a continuación, hace parpadear el LED P1.1 del microcontrolador MSP430FR6989, este se utilizará como ejemplo a lo largo del documento. Para poder compilar y depurar el código, es necesario copiar dicho código en un archivo **.c**.
El código que se muestra a continuación, hace parpadear el LED P1.1 del microcontrolador MSP430FR6989, este se utilizará como ejemplo a lo largo del documento. Para poder compilar y depurar el código, es necesario copiar dicho código en un archivo **.c**.
```c
```c
#include<msp430fr6989.h>
#include<msp430f2619.h>
void main(void)
void main(void)
{
{
@ -111,7 +124,7 @@ El programa se puede compilar manualmente desde la terminal indicando las rutas
Ejemplo de compilación de un programa desde la terminal (primer método):
Ejemplo de compilación de un programa desde la terminal (primer método):
GNU gdb (Mitto Systems Limited - msp430-gcc 9.3.1.11) 9.1
GNU gdb (Mitto Systems Limited - msp430-gcc 9.3.1.11) 9.1
Copyright (C) 2020 Free Software Foundation, Inc.
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
@ -223,7 +236,7 @@ msp430 Waiting for client
For help, type "help".
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Type "apropos word" to search for commands related to "word"...
Reading symbols from msp430fr6989.out...
Reading symbols from msp430f2619.out...
(gdb)
(gdb)
```
```
@ -232,7 +245,7 @@ msp430 Waiting for client
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.
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.
```bash
```bash
Reading symbols from msp430fr6989.out...
Reading symbols from msp430f2619.out...
(gdb) target remote :55000
(gdb) target remote :55000
Remote debugging using :55000
Remote debugging using :55000
0x00004402 in __crt0_start ()
0x00004402 in __crt0_start ()
@ -288,7 +301,7 @@ msp430 Waiting for client
Inferior 1 [Remote target] will be detached.
Inferior 1 [Remote target] will be detached.
Quit anyway? (y or n) y
Quit anyway? (y or n) y
Detaching from program: /home/usuario/Escritorio/msp430_programs/Programa1/msp430fr6989.out, Remote target
Detaching from program: /home/usuario/Escritorio/msp430_programs/Programa1/msp430f2619.out, Remote target