Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
89% found this document useful (9 votes)
14K views

msp430 MSPGCC Eclipse Ubuntu Tutorial

This tutorial describes how to install the mspgcc compiler and mspgdb debugger using Debian packages and configure Eclipse for MSP430 debugging on Ubuntu. It provides steps for installing Eclipse CDT plugins, converting MSPGCC RPM packages to DEB packages, configuring the Eclipse project properties to use mspgcc, and debugging a sample program using the gdb proxy.

Uploaded by

Peter Šamperl
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
89% found this document useful (9 votes)
14K views

msp430 MSPGCC Eclipse Ubuntu Tutorial

This tutorial describes how to install the mspgcc compiler and mspgdb debugger using Debian packages and configure Eclipse for MSP430 debugging on Ubuntu. It provides steps for installing Eclipse CDT plugins, converting MSPGCC RPM packages to DEB packages, configuring the Eclipse project properties to use mspgcc, and debugging a sample program using the gdb proxy.

Uploaded by

Peter Šamperl
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

MSP430

ECLIPSE 
MSPGCC 
UBUNTU
TUTORIAL

Peter from Slovenia, Ptuj
August 2007
This tutorial describes how to install msp­gcc and msp­gdb using deb packages and set eclipse for msp430 
debugging under Ubuntu.

I use Ubuntu 7.04 Feisty Fawn.

Things I had to do to make it work:

ECLIPSE:

I installed Eclipse using Automatix2:

Figure 1: Automatix2
CDT:
Then I downloaded following plugins for Eclipse from  http://www.zylin.com
   :
 

● embeddedcdt­linux­gtk­20070424.zip
● zylincdt­20070424.zip

Extracted and copied its contents to "features" and "plugins" directory here:

● /usr/lib/eclipse/plugins
● /usr/lib/eclipse/features

MSPGCC:

I used this rpms for mspgcc from this tutorial (http://www.linuxjournal.com/article/8682):
Downloaded from the cdk4msp SourceForge download page:
cdk­msp­base­0.2­20031111.i386.rpm
cdk­msp­binutils­2.14­20031106.i386.rpm
cdk­msp­examples­libc­20031101cvs­20031102.noarch.rpm
cdk­msp­examples­mspgcc­20031101cvs­20031102.noarch.rpm
cdk­msp­gcc­3.3.2­20031106.i386.rpm
cdk­msp­gdb­5.1.1­20031106.i386.rpm
cdk­msp­gdb­proxy­5.1.1­20031106.i386.rpm
cdk­msp­jtag­lib­20031101cvs­20031102.i386.rpm
cdk­msp­libc­20031101cvs­20031102.noarch.rpm

and converted them to .deb using alien which I installed using synaptic:
sudo alien ­k cdk­msp­base­0.2­20031111.i386.rpm
sudo alien ­k cdk­msp­binutils­2.14­20031106.i386.rpm
sudo alien ­k cdk­msp­examples­libc­20031101cvs­20031102.noarch.rpm
sudo alien ­k cdk­msp­examples­mspgcc­20031101cvs­20031102.noarch.rpm
sudo alien ­k cdk­msp­gcc­3.3.2­20031106.i386.rpm
sudo alien ­k cdk­msp­gdb­5.1.1­20031106.i386.rpm
sudo alien ­k cdk­msp­gdb­proxy­5.1.1­20031106.i386.rpm
sudo alien ­k cdk­msp­jtag­lib­20031101cvs­20031102.i386.rpm
sudo alien ­k cdk­msp­libc­20031101cvs­20031102.noarch.rpm

Then I installed converted .deb files with synaptic:

MSPGCC was installed here:

/opt/cdk4msp

Then I started to configure Eclipse from this tutorial which was written for Windowz users:
It was very helpful.
http://msp430.techcontent.net/wiki/index.php/IDEs/Eclipse
ECLIPSE PROJECT:
First I created a new Managed Make C Project:

Figure 2: New Project window

Figure 3: Select name window

Figure 4: Type of project window
Just drop in source files onto project to add them. 
When you add source file it probably won't compile cause you have to set project first.

Figure 5: Main C perspective window
CONFIGURING PROJECT:
Right click on new project and select Properties:

My setting for eclipse are following:

Command entry for GCC C Compiler (change to appropriate msp430  microcontroller):
/opt/cdk4msp/bin/msp430­gcc ­mmcu=msp430x149

Figure 6: GCC C Compiler Project main properties 
elf extension must be set.

Figure 7: GCC C Compiler Build Settings

Figure 8: GCC C Compiler Parser
Under GCC Compiler Directories I have following entries:

● /opt/cdk4msp/msp430/include
● /usr/local/lib
● /opt/cdk4msp/lib
● /opt/cdk4msp/include
● /opt/cdk4msp/msp430/bin
● /opt/cdk4msp/bin
● /usr/bin

Figure 9: GCC C Compiler Directories

I don' know maybe few of these entries are not necessary.
Linker command entry (change to appropriate msp430  microcontroller):
/opt/cdk4msp/bin/msp430­gcc ­mmcu=msp430x149micro controller

Figure 10: GCC C Linker Settings

Figure 11: GCC C Linker library paths
Assembler command entry:
/opt/cdk4msp/bin/msp430­as

Figure 12: GCC Assembler command settings

Figure 13: GCC Assembler paths
Eclipse can start GDB Proxy for you.
Just create new external tool entry under:
Debug\External Tools\External Tools...

GDBProxy location entry:
/opt/cdk4msp/bin/msp430­gdbproxy

Arguments entry:
­­port=3333 msp430

Figure 14: My GDB Proxy External tool settings

I also had to:

● add these paths in console:
export PATH=$PATH:/opt/cdk4msp/bin:/opt/cdk4msp/lib 

● Change parallel port permissions in console every time computer is restarted:
chmod 777 /dev/parport0
So now it should work.

Switch to Debug mode in upper right corner:

Figure 15: Debug mode

Just run GDBProxy external tool under “Run”.

Figure 16: Running GDBProxy
Then click on “Bug” icon in upper left corner to erase flash and upload:

Figure 17: Uploading program
This is the output I get from gdb:

Figure 18: GDB Output

Now I can start debugging with Resume button, target stops on Breakpoint:

Figure 19: Debug
My used test program (fet140_1.c):

//*******************************************************************************
// MSP-FET430P140 Demo - Software Toggle P1.0
//
// Description; Toggle P1.0 by xor'ing P1.0 inside of a software loop.
// ACLK = n/a, MCLK = SMCLK = default DCO ~ 800k
//
// MSP430F149
// -----------------
// /|\| XIN|-
// | | |
// --|RST XOUT|-
// | |
// | P1.0|-->LED
//
// M. Buccini
// Texas Instruments, Inc
// february 2002
// Built with IAR Embedded Workbench Version: 1.25A
//******************************************************************************

#include <msp430x14x.h>

void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
P1DIR |= 0x01; // Set P1.0 to output direction

for (;;)
{
unsigned long i;

P1OUT ^= 0x01; // Toggle P1.0 using exclusive-OR

i = 6000; // Delay
do (i--);
while (i != 0);
}
}

You might also like