Basic example of the GCC usage on linux
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Gerardo Marx Chávez-Campos eee92c6cf1 Basic test Ok 2 years ago
Readme.md Basic test Ok 2 years ago
main.c Basic test Ok 2 years ago
msp430.dat Basic test Ok 2 years ago

Readme.md

Introduction

Basic code to Blink the LED on the MSP430 F5529 Launchpad Evaluation Kit MSP-EXP430F5529LP from Texas Instruments, using the GCC tool-chain from terminal.

The repository

This repository includes the main.c and msp430.dat files required to accomplish the compilation and debuging process.

The Code main.c

The example code blinks the on board LED attached to P1.0, you can copy the contents from here or clone use the file included in the repository:

#include <msp430f5529.h> 
void main(void)
{
	WDTCTL = WDTPW | WDTHOLD;	// stop watchdog timer
//	PM5CTL0 = 0x0000;		// disable high impedance mode
	P1DIR = 0x01;   		//set up bit 0 of P1 as output
	P1OUT = 0x00;  			//initialize bit 0 of P1 to 0
	
	for(;;){    			//loop
	    volatile unsigned int i;
	    P1OUT ^= 0x01;  		//toggle bit 0 of P1
	    				//Delay
	    for(i=40000; i>0;){
	        i--;
	        __no_operation();
	    }
	}
}

The msp430.dat

The content of msp430.dat configures the communication between computer and the launchpad.

Add more description later

Compiling

export PATH="/home/gmarx/msp430-gcc/bin:$PATH"
msp430-elf-gcc -I /home/gmarx/msp430-gcc/include -L /home/gmarx/msp430-gcc/include  -mmcu=msp430f5529 -O2 -g main.c -o main.o

Debuging

gdb_agent_console msp430.dat
CPU Name             Port
--------             ----
msp430              :55000

Starting all cores
CPU Name             Status
--------             ------
msp430               Waiting for client

In a new terminal tab or window:

msp430-elf-gdb --tui main.o
(gdb) target remote :55000
Remote debugging using :55000
0x00004400 in __crt0_start ()

The agent will response in the other terminal:

msp430               Client connected...Connecting to Target
Found USB FET at ttyACM0
Target connected...Starting server

Then, continue in the gdb terminal prompt:

(gdb) load
Loading section .lowtext, size 0xa lma 0x4400
Loading section .text, size 0x2e lma 0x440a
Loading section __reset_vector, size 0x2 lma 0xfffe
Start address 0x00004400, load size 58
Transfer rate: 38 bytes/sec, 19 bytes/write.
(gdb) b 1
Breakpoint 1 at 0x440c: file main.c, line 4.
(gdb) continue
Continuing.

Breakpoint 1, main () at main.c:4
(gdb) s 1 

and you will see the code in the terminal running step by step, or write continue to observe the LED blinking on the Launch pad board.

Problems:

msp430-elf-gdb main.o
msp430-elf-gdb: error while loading shared libraries: libncursesw.so.5: cannot open shared object file: No such file or directory

yay -S ncurses5-compat-libs