1 |
50 |
olivier.gi |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
2 |
69 |
olivier.gi |
<html><head><title>openMSP430 Software Development Tools</title></head><body>
|
3 |
50 |
olivier.gi |
<h3>Table of content</h3>
|
4 |
|
|
<ul>
|
5 |
69 |
olivier.gi |
<li><a href="#1.%20Introduction"> 1. Introduction</a></li>
|
6 |
|
|
<li><a href="#2.%20openmsp430-loader"> 2. openmsp430-loader</a></li>
|
7 |
|
|
<li><a href="#3.%20openmsp430-minidebug"> 3. openmsp430-minidebug</a></li>
|
8 |
|
|
<li><a href="#4.%20openmsp430-gdbproxy"> 4. openmsp430-gdbproxy</a></li>
|
9 |
|
|
<li><a href="#5.%20MSPGCC%20Toolchain"> 5. MSPGCC Toolchain</a>
|
10 |
50 |
olivier.gi |
<ul>
|
11 |
69 |
olivier.gi |
<li><a href="#5.1%20Some%20notes%20regarding%20msp430-gdb"> 5.1 Some notes regarding msp430-gdb</a></li>
|
12 |
|
|
<li><a href="#5.2%20CPU%20selection%20for%20msp430-gcc"> 5.2 CPU selection for msp430-gcc</a></li>
|
13 |
50 |
olivier.gi |
</ul>
|
14 |
|
|
</li>
|
15 |
|
|
</ul>
|
16 |
|
|
|
17 |
|
|
<a name="1. Introduction"></a>
|
18 |
|
|
<h1>1. Introduction</h1>
|
19 |
|
|
|
20 |
|
|
Building on the serial debug interface capabilities provided by the openMSP430, three small utility programs are provided:
|
21 |
|
|
<ul>
|
22 |
|
|
<li><b>openmsp430-loader:</b> a simple command line boot loader.</li>
|
23 |
|
|
<li><b>openmsp430-minidebug:</b> a minimalistic debugger with simple GUI.</li>
|
24 |
|
|
<li><b>openmsp430-gdbproxy:</b> GDB Proxy server to be used together with MSP430-GDB and the Eclipse, DDD, or Insight graphical front-ends.</li>
|
25 |
|
|
</ul>
|
26 |
|
|
|
27 |
|
|
All these software development tools have been developed in TCL/TK and were successfully tested on both Linux and Windows XP.
|
28 |
69 |
olivier.gi |
<br><br>
|
29 |
|
|
<b>Note:</b> in order to be able to directly execute the scripts, <a href="http://www.tcl.tk/software/tcltk/">TCL/TK</a>
|
30 |
|
|
needs to be installed on your system. Optionally for Windows users, the
|
31 |
|
|
scripts have been turned into single-file binary executable programs
|
32 |
|
|
using <a href="http://freewrap.sourceforge.net/">freeWrap</a>.
|
33 |
50 |
olivier.gi |
|
34 |
|
|
|
35 |
|
|
<a name="2. openmsp430-loader"></a>
|
36 |
|
|
<h1>2. openmsp430-loader</h1>
|
37 |
69 |
olivier.gi |
This simple program allows the user to load the openMSP430 program
|
38 |
|
|
memory with an executable file (ELF format) provided as argument.<br>
|
39 |
|
|
It is typically used in conjunction with '<b><i>make</i></b>' in order to automatically load the program after the compile step (see '<b><i>Makefile</i></b>' from software examples provided with the project's FPGA implementation).<br>
|
40 |
50 |
olivier.gi |
The program can be called with the following syntax:
|
41 |
69 |
olivier.gi |
<br><br>
|
42 |
|
|
<table border="0" cellpadding="0" cellspacing="4">
|
43 |
|
|
<tbody><tr>
|
44 |
|
|
<td width="35"><br>
|
45 |
|
|
</td>
|
46 |
|
|
<td bgcolor="#d0d0d0" width="3"><br>
|
47 |
|
|
</td>
|
48 |
|
|
<td width="15"><br>
|
49 |
|
|
</td>
|
50 |
50 |
olivier.gi |
<td>
|
51 |
69 |
olivier.gi |
<code>openmsp430-loader.tcl [-device <communication device>] [-baudrate <communication speed>] <elf-file>
|
52 |
|
|
<br><br>
|
53 |
|
|
Examples: openmsp430-loader.tcl -device /dev/ttyUSB0 -baudrate 9600 leds.elf<br> openmsp430-loader.tcl
|
54 |
|
|
-device COM2: -baudrate 38400 ta_uart.elf </code>
|
55 |
50 |
olivier.gi |
</td>
|
56 |
|
|
</tr>
|
57 |
69 |
olivier.gi |
</tbody></table>
|
58 |
|
|
<br>
|
59 |
50 |
olivier.gi |
These screenshots show the script in action under Linux and Windows:
|
60 |
69 |
olivier.gi |
<br><br>
|
61 |
|
|
<img src="getimg.php?1248897300" alt="openmsp430-loader Linux" title="openmsp430-loader Linux" width="75%">
|
62 |
|
|
<br><br>
|
63 |
|
|
<img src="getimg.php?1249244501" alt="openmsp430-loader Windows" title="openmsp430-loader Windows" width="75%">
|
64 |
|
|
<br>
|
65 |
50 |
olivier.gi |
<a name="3. openmsp430-minidebug"></a>
|
66 |
|
|
<h1>3. openmsp430-minidebug</h1>
|
67 |
|
|
This small program provides a minimalistic graphical interface enabling simple interaction with the openMSP430:
|
68 |
69 |
olivier.gi |
<br><br>
|
69 |
|
|
<img src="getimg.php?1248897416" alt="openmsp430-minidebug" title="openmsp430-minidebug" width="65%">
|
70 |
|
|
<br><br>
|
71 |
50 |
olivier.gi |
As you can see from the screenshot, it allows the following actions:
|
72 |
|
|
<ul>
|
73 |
69 |
olivier.gi |
<li><b><font color="#ff0000">(1)</font></b> Load the program memory with an ELF file</li>
|
74 |
|
|
<li><b><font color="#ff0000">(2)</font></b> Reset the CPU</li>
|
75 |
|
|
<li><b><font color="#ff0000">(3)</font></b> Stop/Start the program execution</li>
|
76 |
|
|
<li><b><font color="#ff0000">(4)</font></b> Read/Write access of the CPU registers</li>
|
77 |
|
|
<li><b><font color="#ff0000">(5)</font></b> Read/Write access of the whole memory range (program, data, peripherals)</li>
|
78 |
50 |
olivier.gi |
</ul>
|
79 |
|
|
|
80 |
|
|
<a name="4. openmsp430-gdbproxy"></a>
|
81 |
|
|
<h1>4. openmsp430-gdbproxy</h1>
|
82 |
69 |
olivier.gi |
The purpose of this program is to replace the '<b><i>msp430-gdbproxy</i></b>' utility provided by the mspgcc toolchain.<br>
|
83 |
|
|
Typically, a GDB proxy creates a local port for gdb to connect to, and
|
84 |
|
|
handles the communication with the target hardware. In our case, it is
|
85 |
|
|
basically a bridge between the RSP communication protocol from GDB and
|
86 |
|
|
the serial debug interface from the openMSP430.<br>
|
87 |
50 |
olivier.gi |
Schematically the communication flow looks as following:
|
88 |
69 |
olivier.gi |
<br><br>
|
89 |
|
|
<img src="getimg.php?1248897690" alt="GDB Proxy flow" title="GDB Proxy flow" width="40%">
|
90 |
|
|
<br><br>
|
91 |
50 |
olivier.gi |
Like the original '<b><i>msp430-gdbproxy</i></b>' program, '<b><i>openmsp430-gdbproxy</i></b>' can be controlled from the command line. However, it also provides a small graphical interface:
|
92 |
69 |
olivier.gi |
<br><br>
|
93 |
|
|
<img src="getimg.php?1248897753" alt="openmsp430-gdbproxy" title="openmsp430-gdbproxy" width="60%">
|
94 |
|
|
<br><br>
|
95 |
50 |
olivier.gi |
These two additional screenshots show the script in action together with the Eclipse and DDD graphical frontends:
|
96 |
69 |
olivier.gi |
<br><br>
|
97 |
|
|
<img src="getimg.php?1248897844" alt="openmsp430-gdbproxy and Eclipse" title="openmsp430-gdbproxy and Eclipse" width="100%">
|
98 |
|
|
<br><br>
|
99 |
|
|
<img src="getimg.php?1248897887" alt="openmsp430-gdbproxy and DDD" title="openmsp430-gdbproxy and DDD" width="100%">
|
100 |
|
|
<br><br>
|
101 |
|
|
<b>Tip:</b> There are several tutorials on Internet explaining how to
|
102 |
|
|
configure Eclipse for the MSP430. As an Eclipse newbie, I found the
|
103 |
|
|
followings quite helpful:
|
104 |
50 |
olivier.gi |
<ul>
|
105 |
|
|
<li><a href="http://matthias-hartmann.blogspot.com/2009/02/use-eclipse-and-mspgcc-easy-way.html">Use Eclipse and mspgcc - The easy way</a> (English)</li>
|
106 |
|
|
<li><a href="http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung">MSP430 - Entwicklungumgebung</a> (German)</li>
|
107 |
|
|
</ul>
|
108 |
|
|
|
109 |
|
|
<a name="5. MSPGCC Toolchain"></a>
|
110 |
|
|
<h1>5. MSPGCC Toolchain</h1>
|
111 |
|
|
|
112 |
|
|
<a name="5.1 Some notes regarding msp430-gdb"></a>
|
113 |
|
|
<h2>5.1 Some notes regarding msp430-gdb</h2>
|
114 |
|
|
|
115 |
69 |
olivier.gi |
As of today (July 2009), the GDB port for the MSP430 has some problems (<a href="http://www.nabble.com/Help-with-gdb-commands-td21942613.html">here</a>).<br>
|
116 |
|
|
The stepping over function is not available and the backtrace and finish commands don't work properly.<br>
|
117 |
|
|
There is fortunately a <a href="http://www.nabble.com/Useful-new-GDB-fixes-td19554922.html">patch</a>
|
118 |
|
|
existing, and until it is included into GDB, I can only recommend to
|
119 |
|
|
recompile GDB with it (I didn't try it for Windows but it is quite
|
120 |
|
|
straight forward to do for Linux). <a name="5.2 CPU selection for msp430-gcc"></a>
|
121 |
50 |
olivier.gi |
<h2>5.2 CPU selection for msp430-gcc</h2>
|
122 |
|
|
|
123 |
69 |
olivier.gi |
The following table aims to help selecting the proper <b>-mmcu</b> <a href="http://mspgcc.sourceforge.net/manual/c745.html">option</a> for the <b>msp430-gcc</b> call:<br><br>
|
124 |
50 |
olivier.gi |
<table align="center" border="1">
|
125 |
69 |
olivier.gi |
<tbody><tr align="center"><td><b>-mmcu option</b></td><td><b> Program <br>Memory</b></td><td><b>Data<br> Memory </b></td><td style="vertical-align: top; text-align: center;"><span style="font-weight: bold;">Hardware<br>
|
126 |
|
|
Multiplier </span><br>
|
127 |
|
|
</td>
|
128 |
|
|
</tr>
|
129 |
|
|
<tr align="center"><td rowspan="1" colspan="4"><b><i>Program Memory Size: 1 kB</i></b></td></tr>
|
130 |
|
|
<tr align="center"><td>msp430x110 </td><td> 1 kB</td><td> 128 B</td><td style="vertical-align: top;">No<br>
|
131 |
|
|
</td>
|
132 |
|
|
</tr>
|
133 |
|
|
<tr align="center"><td>msp430x1101 </td><td> 1 kB</td><td> 128 B</td><td style="vertical-align: top;">No</td>
|
134 |
|
|
</tr>
|
135 |
|
|
<tr align="center"><td>msp430x2001 </td><td> 1 kB</td><td> 128 B</td><td style="vertical-align: top;">No</td>
|
136 |
|
|
</tr>
|
137 |
|
|
<tr align="center"><td>msp430x2002 </td><td> 1 kB</td><td> 128 B</td><td style="vertical-align: top;">No</td>
|
138 |
|
|
</tr>
|
139 |
|
|
<tr align="center"><td>msp430x2003 </td><td> 1 kB</td><td> 128 B</td><td style="vertical-align: top;">No</td>
|
140 |
|
|
</tr>
|
141 |
|
|
<tr align="center"><td>msp430x2101 </td><td> 1 kB</td><td> 128 B</td><td style="vertical-align: top;">No</td>
|
142 |
|
|
</tr>
|
143 |
|
|
<tr align="center"><td rowspan="1" colspan="4"><b><i>Program Memory Size: 2 kB</i></b></td></tr>
|
144 |
|
|
<tr align="center"><td>msp430x1111 </td><td> 2 kB</td><td> 128 B</td><td style="vertical-align: top;">No</td>
|
145 |
|
|
</tr>
|
146 |
|
|
<tr align="center"><td>msp430x2011 </td><td> 2 kB</td><td> 128 B</td><td style="vertical-align: top;">No</td>
|
147 |
|
|
</tr>
|
148 |
|
|
<tr align="center"><td>msp430x2012 </td><td> 2 kB</td><td> 128 B</td><td style="vertical-align: top;">No</td>
|
149 |
|
|
</tr>
|
150 |
|
|
<tr align="center"><td>msp430x2013 </td><td> 2 kB</td><td> 128 B</td><td style="vertical-align: top;">No</td>
|
151 |
|
|
</tr>
|
152 |
|
|
<tr align="center"><td>msp430x2111 </td><td> 2 kB</td><td> 128 B</td><td style="vertical-align: top;">No</td>
|
153 |
|
|
</tr>
|
154 |
|
|
<tr align="center"><td>msp430x2112 </td><td> 2 kB</td><td> 128 B</td><td style="vertical-align: top;">No</td>
|
155 |
|
|
</tr>
|
156 |
|
|
<tr align="center"><td>msp430x311 </td><td> 2 kB</td><td> 128 B</td><td style="vertical-align: top;">No</td>
|
157 |
|
|
</tr>
|
158 |
|
|
<tr align="center"><td rowspan="1" colspan="4"><b><i>Program Memory Size: 4 kB</i></b></td></tr>
|
159 |
|
|
<tr align="center"><td>msp430x112 </td><td> 4 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
160 |
|
|
</tr>
|
161 |
|
|
<tr align="center"><td>msp430x1121 </td><td> 4 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
162 |
|
|
</tr>
|
163 |
|
|
<tr align="center"><td>msp430x1122 </td><td> 4 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
164 |
|
|
</tr>
|
165 |
|
|
<tr align="center"><td>msp430x122 </td><td> 4 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
166 |
|
|
</tr>
|
167 |
|
|
<tr align="center"><td>msp430x1222 </td><td> 4 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
168 |
|
|
</tr>
|
169 |
|
|
<tr align="center"><td>msp430x2122 </td><td> 4 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
170 |
|
|
</tr>
|
171 |
|
|
<tr align="center"><td>msp430x2121 </td><td> 4 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
172 |
|
|
</tr>
|
173 |
|
|
<tr align="center"><td>msp430x312 </td><td> 4 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
174 |
|
|
</tr>
|
175 |
|
|
<tr align="center"><td>msp430x412 </td><td> 4 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
176 |
|
|
</tr>
|
177 |
|
|
<tr align="center"><td rowspan="1" colspan="4"><b><i>Program Memory Size: 8 kB</i></b></td></tr>
|
178 |
|
|
<tr align="center"><td>msp430x123 </td><td> 8 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
179 |
|
|
</tr>
|
180 |
|
|
<tr align="center"><td>msp430x133 </td><td> 8 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
181 |
|
|
</tr>
|
182 |
|
|
<tr align="center"><td>msp430x313 </td><td> 8 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
183 |
|
|
</tr>
|
184 |
|
|
<tr align="center"><td>msp430x323 </td><td> 8 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
185 |
|
|
</tr>
|
186 |
|
|
<tr align="center"><td>msp430x413 </td><td> 8 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
187 |
|
|
</tr>
|
188 |
|
|
<tr align="center"><td>msp430x423 </td><td> 8 kB</td><td> 256 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
189 |
|
|
</td>
|
190 |
|
|
</tr>
|
191 |
|
|
<tr align="center"><td>msp430xE423 </td><td> 8 kB</td><td> 256 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
192 |
|
|
</td>
|
193 |
|
|
</tr>
|
194 |
|
|
<tr align="center"><td>msp430xE4232</td><td> 8 kB</td><td> 256 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
195 |
|
|
</td>
|
196 |
|
|
</tr>
|
197 |
|
|
<tr align="center"><td>msp430xW423 </td><td> 8 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
198 |
|
|
</tr>
|
199 |
|
|
<tr align="center"><td>msp430x1132 </td><td> 8 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
200 |
|
|
</tr>
|
201 |
|
|
<tr align="center"><td>msp430x1232 </td><td> 8 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
202 |
|
|
</tr>
|
203 |
|
|
<tr align="center"><td>msp430x1331 </td><td> 8 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
204 |
|
|
</tr>
|
205 |
|
|
<tr align="center"><td>msp430x2131 </td><td> 8 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
206 |
|
|
</tr>
|
207 |
|
|
<tr align="center"><td>msp430x2132 </td><td> 8 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
208 |
|
|
</tr>
|
209 |
|
|
<tr align="center"><td>msp430x2232 </td><td> 8 kB</td><td> 512 B</td><td style="vertical-align: top;">No</td>
|
210 |
|
|
</tr>
|
211 |
|
|
<tr align="center"><td>msp430x2234 </td><td> 8 kB</td><td> 512 B</td><td style="vertical-align: top;">No</td>
|
212 |
|
|
</tr>
|
213 |
|
|
<tr align="center"><td>msp430x233 </td><td> 8 kB</td><td> 1024 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
214 |
|
|
</td>
|
215 |
|
|
</tr>
|
216 |
|
|
<tr align="center"><td>msp430x2330 </td><td> 8 kB</td><td> 1024 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
217 |
|
|
</td>
|
218 |
|
|
</tr>
|
219 |
|
|
<tr align="center"><td rowspan="1" colspan="4"><b><i>Program Memory Size: 16 kB</i></b></td></tr>
|
220 |
|
|
<tr align="center"><td>msp430x4250 </td><td>16 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
221 |
|
|
</tr>
|
222 |
|
|
<tr align="center"><td>msp430xG4250</td><td>16 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
223 |
|
|
</tr>
|
224 |
|
|
<tr align="center"><td>msp430x135 </td><td>16 kB</td><td> 512 B</td><td style="vertical-align: top;">No</td>
|
225 |
|
|
</tr>
|
226 |
|
|
<tr align="center"><td>msp430x1351 </td><td>16 kB</td><td> 512 B</td><td style="vertical-align: top;">No</td>
|
227 |
|
|
</tr>
|
228 |
|
|
<tr align="center"><td>msp430x155 </td><td>16 kB</td><td> 512 B</td><td style="vertical-align: top;">No</td>
|
229 |
|
|
</tr>
|
230 |
|
|
<tr align="center"><td>msp430x2252 </td><td>16 kB</td><td> 512 B</td><td style="vertical-align: top;">No</td>
|
231 |
|
|
</tr>
|
232 |
|
|
<tr align="center"><td>msp430x2254 </td><td>16 kB</td><td> 512 B</td><td style="vertical-align: top;">No</td>
|
233 |
|
|
</tr>
|
234 |
|
|
<tr align="center"><td>msp430x315 </td><td>16 kB</td><td> 512 B</td><td style="vertical-align: top;">No</td>
|
235 |
|
|
</tr>
|
236 |
|
|
<tr align="center"><td>msp430x325 </td><td>16 kB</td><td> 512 B</td><td style="vertical-align: top;">No</td>
|
237 |
|
|
</tr>
|
238 |
|
|
<tr align="center"><td>msp430x415 </td><td>16 kB</td><td> 512 B</td><td style="vertical-align: top;">No</td>
|
239 |
|
|
</tr>
|
240 |
|
|
<tr align="center"><td>msp430x425 </td><td>16 kB</td><td> 512 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
241 |
|
|
</td>
|
242 |
|
|
</tr>
|
243 |
|
|
<tr align="center"><td>msp430xE425 </td><td>16 kB</td><td> 512 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
244 |
|
|
</td>
|
245 |
|
|
</tr>
|
246 |
|
|
<tr align="center"><td>msp430xW425 </td><td>16 kB</td><td> 512 B</td><td style="vertical-align: top;">No</td>
|
247 |
|
|
</tr>
|
248 |
|
|
<tr align="center"><td>msp430xE4252</td><td>16 kB</td><td> 512 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
249 |
|
|
</td>
|
250 |
|
|
</tr>
|
251 |
|
|
<tr align="center"><td>msp430x435 </td><td>16 kB</td><td> 512 B</td><td style="vertical-align: top;">No</td>
|
252 |
|
|
</tr>
|
253 |
|
|
<tr align="center"><td>msp430x4351 </td><td>16 kB</td><td> 512 B</td><td style="vertical-align: top;">No</td>
|
254 |
|
|
</tr>
|
255 |
|
|
<tr align="center"><td>msp430x235 </td><td>16 kB</td><td> 2048 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
256 |
|
|
</td>
|
257 |
|
|
</tr>
|
258 |
|
|
<tr align="center"><td>msp430x2350 </td><td>16 kB</td><td> 2048 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
259 |
|
|
</td>
|
260 |
|
|
</tr>
|
261 |
|
|
<tr align="center"><td rowspan="1" colspan="4"><b><i>Program Memory Size: 32 kB</i></b></td></tr>
|
262 |
|
|
<tr align="center"><td>msp430x4270 </td><td>32 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
263 |
|
|
</tr>
|
264 |
|
|
<tr align="center"><td>msp430xG4270</td><td>32 kB</td><td> 256 B</td><td style="vertical-align: top;">No</td>
|
265 |
|
|
</tr>
|
266 |
|
|
<tr align="center"><td>msp430x147 </td><td>32 kB</td><td> 1024 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
267 |
|
|
</td>
|
268 |
|
|
</tr>
|
269 |
|
|
<tr align="center"><td>msp430x1471 </td><td>32 kB</td><td> 1024 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
270 |
|
|
</td>
|
271 |
|
|
</tr>
|
272 |
|
|
<tr align="center"><td>msp430x157 </td><td>32 kB</td><td> 1024 B</td><td style="vertical-align: top;">No</td>
|
273 |
|
|
</tr>
|
274 |
|
|
<tr align="center"><td>msp430x167 </td><td>32 kB</td><td> 1024 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
275 |
|
|
</td>
|
276 |
|
|
</tr>
|
277 |
|
|
<tr align="center"><td>msp430x2272 </td><td>32 kB</td><td> 1024 B</td><td style="vertical-align: top;">No</td>
|
278 |
|
|
</tr>
|
279 |
|
|
<tr align="center"><td>msp430x2274 </td><td>32 kB</td><td> 1024 B</td><td style="vertical-align: top;">No</td>
|
280 |
|
|
</tr>
|
281 |
|
|
<tr align="center"><td>msp430x337 </td><td>32 kB</td><td> 1024 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
282 |
|
|
</td>
|
283 |
|
|
</tr>
|
284 |
|
|
<tr align="center"><td>msp430x417 </td><td>32 kB</td><td> 1024 B</td><td style="vertical-align: top;">No</td>
|
285 |
|
|
</tr>
|
286 |
|
|
<tr align="center"><td>msp430x427 </td><td>32 kB</td><td> 1024 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
287 |
|
|
</td>
|
288 |
|
|
</tr>
|
289 |
|
|
<tr align="center"><td>msp430xE427 </td><td>32 kB</td><td> 1024 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
290 |
|
|
</td>
|
291 |
|
|
</tr>
|
292 |
|
|
<tr align="center"><td>msp430xE4272</td><td>32 kB</td><td> 1024 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
293 |
|
|
</td>
|
294 |
|
|
</tr>
|
295 |
|
|
<tr align="center"><td>msp430xW427 </td><td>32 kB</td><td> 1024 B</td><td style="vertical-align: top;">No</td>
|
296 |
|
|
</tr>
|
297 |
|
|
<tr align="center"><td>msp430x437 </td><td>32 kB</td><td> 1024 B</td><td style="vertical-align: top;">No</td>
|
298 |
|
|
</tr>
|
299 |
|
|
<tr align="center"><td>msp430xG437 </td><td>32 kB</td><td> 1024 B</td><td style="vertical-align: top;">No</td>
|
300 |
|
|
</tr>
|
301 |
|
|
<tr align="center"><td>msp430x4371 </td><td>32 kB</td><td> 1024 B</td><td style="vertical-align: top;">No</td>
|
302 |
|
|
</tr>
|
303 |
|
|
<tr align="center"><td>msp430x447 </td><td>32 kB</td><td> 1024 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
304 |
|
|
</td>
|
305 |
|
|
</tr>
|
306 |
|
|
<tr align="center"><td>msp430x2370 </td><td>32 kB</td><td> 2048 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
307 |
|
|
</td>
|
308 |
|
|
</tr>
|
309 |
|
|
<tr align="center"><td>msp430x247 </td><td>32 kB</td><td> 4096 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
310 |
|
|
</td>
|
311 |
|
|
</tr>
|
312 |
|
|
<tr align="center"><td>msp430x2471 </td><td>32 kB</td><td> 4096 B</td><td style="vertical-align: top;"><span style="font-weight: bold;">Yes</span><br>
|
313 |
|
|
</td>
|
314 |
|
|
</tr>
|
315 |
|
|
</tbody></table><br>
|
316 |
|
|
<span style="text-decoration: underline;">Note 1:</span> the program memory size should imperatively match the openMSP430 configuration.<br>
|
317 |
50 |
olivier.gi |
|
318 |
69 |
olivier.gi |
<span style="text-decoration: underline;">Note 2:</span> the <span style="font-weight: bold;">-mforce-hwmul</span> parameter will force <b>msp430-gcc </b>to use the hardware multiplier.<br>
|
319 |
|
|
|
320 |
|
|
<span style="text-decoration: underline;">Note 3:</span> the <span style="font-weight: bold;">-mdisable-hwmul</span> parameter will force <b>msp430-gcc </b>not to use the hardware multiplier.<br>
|
321 |
|
|
<br>
|
322 |
|
|
|
323 |
|
|
|
324 |
|
|
|
325 |
|
|
|
326 |
|
|
</body></html>
|