diff --git a/Ejemplo.c b/Ejemplo.c index 23364f3..9c6ddff 100644 --- a/Ejemplo.c +++ b/Ejemplo.c @@ -1,4 +1,4 @@ -#include +#include void main(void) { diff --git a/Guía de usuario MSP430 GCC Toolchain.md b/Guía de usuario MSP430 GCC Toolchain.md index cc0faf0..574a809 100644 --- a/Guía de usuario MSP430 GCC Toolchain.md +++ b/Guía de usuario MSP430 GCC Toolchain.md @@ -10,8 +10,9 @@ Galván.A , Chávez.G , Julio,2022. 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] @@ -28,6 +29,18 @@ El paquete GCC de código abierto es un depurador completo y una cadena de herra 3. Código fuente. 4. GBD Agent Configuration. +#### Esquemático hardware + +![esquematico-F.png](https://i.postimg.cc/cJCJxRfG/esquematico-F.png) + +MSP-TS430PM64 modulo-PCB + +![tarjeta.png](https://i.postimg.cc/sgvF1wHm/tarjeta.png) + +Al utilizar algun modulo es necesario utilizar un **MSP-FET**, en este ejemplo se utilizo el siguiente: + +![msp-fet-angled.png](https://i.postimg.cc/02LjCWMW/msp-fet-angled.png) + #### 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. @@ -37,7 +50,7 @@ Con el comando **cd** se puede entrar a alguna carpeta en específico como lo pu $ 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 .run** y el comando **./**", 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 .run** y el comando **./**", 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). ```bash $ sudo chmod +x msp430-gcc-full-linux-X64-installer-9.3.1.2.run @@ -69,7 +82,7 @@ $ cd Programa1 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 -#include +#include 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): ```bash -$ ./msp430-elf-gcc -I ~/msp430-gcc/include -L ~/msp430-gcc/include -T ~/msp430-gcc/include/msp430fr6989.ld -mmcu=msp430fr6989 -O2 -g ~/Documentos/Programa1/Ejemplo.c -o ~/Documentos/Programa1/Ejemplo.o +$ ./msp430-elf-gcc -I ~/msp430-gcc/include -L ~/msp430-gcc/include -T ~/msp430-gcc/include/msp430f2619.ld -mmcu=msp430f2619 -O2 -g ~/Documentos/Programa1/Ejemplo.c -o ~/Documentos/Programa1/Ejemplo.o ``` Primero se debe dirigir a la dirección en donde se encuentra instalado el paquete *MSP430- GCC* y redireccionarse a la carpeta *bin*. @@ -146,7 +159,7 @@ OBJECTS=Ejemplo.o GCC_DIR = /home/usuario/msp430-gcc/bin SUPPORT_FILE_DIRECTORY = /home/usuario/msp430-gcc/include -DEVICE = msp430fr6989 +DEVICE = msp430f2619 CC = $(GCC_DIR)/msp430-elf-gcc GDB = $(GCC_DIR)/msp430-elf-gdb @@ -206,8 +219,8 @@ msp430 Waiting for client ```bash $ make debug - /home/usuario/msp430-gcc/bin/msp430-elf-gcc -I /home/usuario/msp430-gcc/include -mmcu=msp430fr6989 -O2 -g -L /home/usuario/msp430-gcc/include -T msp430fr6989.ld Ejemplo.o -o msp430fr6989.out - /home/usuario/msp430-gcc/bin/msp430-elf-gdb msp430fr6989.out + /home/usuario/msp430-gcc/bin/msp430-elf-gcc -I /home/usuario/msp430-gcc/include -mmcu=msp430f2619 -O2 -g -L /home/usuario/msp430-gcc/include -T msp430f2619.ld Ejemplo.o -o msp430f2619.out + /home/usuario/msp430-gcc/bin/msp430-elf-gdb msp430f2619.out 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 @@ -223,7 +236,7 @@ msp430 Waiting for client For help, type "help". Type "apropos word" to search for commands related to "word"... - Reading symbols from msp430fr6989.out... + Reading symbols from msp430f2619.out... (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. ```bash - Reading symbols from msp430fr6989.out... + Reading symbols from msp430f2619.out... (gdb) target remote :55000 Remote debugging using :55000 0x00004402 in __crt0_start () @@ -288,7 +301,7 @@ msp430 Waiting for client Inferior 1 [Remote target] will be detached. 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 Ending remote debugging. [Inferior 1 (Remote target) detached] ``` @@ -332,3 +345,4 @@ sudo apt-get inatall libncursesw5-dev (opcional) [1] Texas Instruments. Msp430-gcc-opensource gcc-open source compiler for msp microcontrollers, 2017. + [2] Texas Instruments. MSP430 Hardware Tools,2009. diff --git a/Makefile b/Makefile index 2e3f7f7..6071a3b 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ OBJECTS=Ejemplo.o GCC_DIR = /home/user/msp430-gcc/bin SUPPORT_FILE_DIRECTORY = /home/user/msp430-gcc/include -DEVICE = msp430f2619 +DEVICE =msp430f2619 CC = $(GCC_DIR)/msp430-elf-gcc GDB = $(GCC_DIR)/msp430-elf-gdb