Difference between revisions of "MSP-EXP430F5529LP"
(→Toolchain) |
(→Simulator) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 55: | Line 55: | ||
$ apt-get install gcc-msp430 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 | + | 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 | $ git clone git://mspgcc.git.sourceforge.net/gitroot/mspgcc/msp430-libc | ||
$ cd msp430-libc | $ cd msp430-libc | ||
+ | $ git checkout release/20120224 | ||
$ [Put patch file listed below into msp430_libc_patch] | $ [Put patch file listed below into msp430_libc_patch] | ||
$ patch -p1 < msp430_libc_patch | $ patch -p1 < msp430_libc_patch | ||
Line 67: | Line 68: | ||
Patch file: | Patch file: | ||
+ | |||
diff --git a/src/libm/ef_pow.c b/src/libm/ef_pow.c | diff --git a/src/libm/ef_pow.c b/src/libm/ef_pow.c | ||
− | index 9a21339.. | + | index 9a21339..03dc0ff 100644 |
--- a/src/libm/ef_pow.c | --- a/src/libm/ef_pow.c | ||
+++ b/src/libm/ef_pow.c | +++ b/src/libm/ef_pow.c | ||
@@ -257,3 +257,16 @@ float powf(float x, float y) | @@ -257,3 +257,16 @@ float powf(float x, float y) | ||
− | + | else SET_FLOAT_WORD(z,j); | |
− | + | return s*z; | |
} | } | ||
+ | + | ||
Line 79: | Line 81: | ||
+ | + | ||
+#ifdef __STDC__ | +#ifdef __STDC__ | ||
− | + double pow(double x, double y) | + | + double pow(double x, double y) |
+#else | +#else | ||
− | + double pow(x, y) | + | + double pow(x, y) |
− | + double x, y; | + | + double x, y; |
+#endif | +#endif | ||
+{ | +{ | ||
− | + return (double) powf((float) x, (float) y); | + | + return (double) powf((float) x, (float) y); |
+} | +} | ||
+#endif | +#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== | ==Links== |
Latest revision as of 11:27, 17 December 2013
Contents
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.