Difference between revisions of "MSP-EXP430F5529LP"

From MAGEEC
Jump to: navigation, search
(GDB server)
(Simulator)
 
(6 intermediate revisions by the same user not shown)
Line 49: Line 49:
  
 
This creates libmsp430.so, which allows the tilib driver of mspdebug to be used. This seems to be able to successfully flash the board.
 
This creates libmsp430.so, which allows the tilib driver of mspdebug to be used. This seems to be able to successfully flash the board.
   $ ./mspdebug ezfet gdb
+
   $ ./mspdebug tilib gdb
  
 
===Toolchain===
 
===Toolchain===
  
  $ apt-get install gcc-msp430 msp430-libc msp430mcu gdb-msp430
+
  $ apt-get install gcc-msp430 msp430mcu gdb-msp430
 +
 
 +
The C library can be installed from the package msp430-libc. However this is missing several functions. If trying to run BEEBS on the board then the required version of pow is missing from the library. The following steps patch the library:
 +
 
 +
$ git clone git://mspgcc.git.sourceforge.net/gitroot/mspgcc/msp430-libc
 +
$ cd msp430-libc
 +
$ git checkout release/20120224
 +
$ [Put patch file listed below into msp430_libc_patch]
 +
$ patch -p1 < msp430_libc_patch
 +
$ ./configure
 +
$ cd src
 +
$ make
 +
$ sudo make PREFIX=/usr install
 +
 
 +
Patch file:
 +
 
 +
diff --git a/src/libm/ef_pow.c b/src/libm/ef_pow.c
 +
index 9a21339..03dc0ff 100644
 +
--- a/src/libm/ef_pow.c
 +
+++ b/src/libm/ef_pow.c
 +
@@ -257,3 +257,16 @@ float powf(float x, float y)
 +
        else SET_FLOAT_WORD(z,j);
 +
        return s*z;
 +
  }
 +
+
 +
+#ifdef _DOUBLE_IS_32BITS
 +
+
 +
+#ifdef __STDC__
 +
+  double pow(double x, double y)
 +
+#else
 +
+  double pow(x, y)
 +
+  double x, y;
 +
+#endif
 +
+{
 +
+  return (double) powf((float) x, (float) y);
 +
+}
 +
+#endif
 +
 
 +
==Simulator==
 +
 
 +
This section is current work in progress on getting a tracing simulator to work.
 +
 
 +
Build GDB as in [http://sourceforge.net/apps/mediawiki/mspgcc/index.php?title=Install:fromsource]
 +
 
 +
Currently the simulator with GDB does not support the extended instruction set, so binaries must be build with <TT>-mcpu=430</TT>.
 +
 
 +
Following command needed to patch GDB.
 +
 
 +
sed -i -e 's/@colophon/@@colophon/' \
 +
      -e 's/doc@cygnus.com/doc@@cygnus.com/' bfd/doc/bfd.texinfo
 +
 
 +
Apply the patch at [https://gist.github.com/jpallister/8004422] to fix the simulator.
 +
 
 +
==Links==
 +
 
 +
* http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSP430_ezFETLite/latest/
 +
* http://forum.43oh.com/topic/4453-msp430f5529-launchpad-energia-not-working-on-linux/
 +
* http://www.ti.com/lit/ug/slau533/slau533.pdf

Latest revision as of 11:27, 17 December 2013


Platform details

Processor MSP430F5529
Architecture MSP430
Instruction sets MSP430
Memory 128kB Flash, 8kB RAM

Hardware modifications

None necessary, attach probes to the 3V3 jumper.

Software setup

udev rules

$ cat /etc/udev/rules.d/62-msp-exp430f5529lp.rules
ATTRS{idVendor}=="2047", ATTRS{idProduct}=="0013", MODE="0666", GROUP="plugdev"

GDB server

To build:

$ git clone git://git.code.sf.net/p/mspdebug/code mspdebug
$ cd mspdebug
$ make

To run:

$ ./mspdebug ezfet gdb

This starts a gdb server on port 2000, however doesn't seem to allow flashing of the device (although you can debug, and step through programs).

$ wget http://www-s.ti.com/sc/techzip/slac460.zip
$ unzip slac460.zip
$ cd MSPDebugStack_OS_Package

$ wget http://mspdebug.sourceforge.net/misc/slac460f_unix.diff
$ patch -p1 <slac460f_unix.diff
$ cd ThirdParty
$ chmod +x install_thirdparty.sh 
$ ./install_thirdparty.sh 
$ cd ..
$ make
$ sudo make install

This creates libmsp430.so, which allows the tilib driver of mspdebug to be used. This seems to be able to successfully flash the board.

 $ ./mspdebug tilib gdb

Toolchain

$ apt-get install gcc-msp430 msp430mcu gdb-msp430

The C library can be installed from the package msp430-libc. However this is missing several functions. If trying to run BEEBS on the board then the required version of pow is missing from the library. The following steps patch the library:

$ git clone git://mspgcc.git.sourceforge.net/gitroot/mspgcc/msp430-libc 
$ cd msp430-libc
$ git checkout release/20120224
$ [Put patch file listed below into msp430_libc_patch]
$ patch -p1 < msp430_libc_patch
$ ./configure
$ cd src
$ make
$ sudo make PREFIX=/usr install

Patch file:

diff --git a/src/libm/ef_pow.c b/src/libm/ef_pow.c
index 9a21339..03dc0ff 100644
--- a/src/libm/ef_pow.c
+++ b/src/libm/ef_pow.c
@@ -257,3 +257,16 @@ float powf(float x, float y)
        else SET_FLOAT_WORD(z,j);
        return s*z;
 }
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+   double pow(double x, double y)
+#else
+   double pow(x, y)
+   double x, y;
+#endif
+{
+   return (double) powf((float) x, (float) y);
+}
+#endif

Simulator

This section is current work in progress on getting a tracing simulator to work.

Build GDB as in [1]

Currently the simulator with GDB does not support the extended instruction set, so binaries must be build with -mcpu=430.

Following command needed to patch GDB.

sed -i -e 's/@colophon/@@colophon/' \
      -e 's/doc@cygnus.com/doc@@cygnus.com/' bfd/doc/bfd.texinfo

Apply the patch at [2] to fix the simulator.

Links