Ubuntu下搭建MSP430开发环境(MSPGCC)

<

div id=”content” contentScore=”684″>最近无意间看到网友说MSP430也有了GCC编译器,即MSPGCC,欣喜之余我也开始想到,那在Linux下开发MSP430也不远了。谷歌了一端时间,找到MSPGCC的Wiki:http://sourceforge.net/apps/mediawiki/mspgcc/index.php?title=MSPGCC_Wiki,并且在Ubuntu下已经有编译好的安装包,说到这里,其实本人并不是太喜欢从Ubuntu的源中安装这些工具链,我更倾向于MSPGCC官方发布的工具链,不过官方的工具链找了好久都没有找到,因此现在就暂时先用Ubuntu的安装包吧,上面的链接中找到Ubuntu的链接,https://launchpad.net/ubuntu/oneiric/+search?text=msp430,lp上有6个包,分别是

msp430-libc:
Standard C library for TI MSP430 development
430的C标准库
mspdebug:
debugging tool for MSP430 microcontrollers
430的调试工具,用来连接仿真器
msp430mcu:
Spec files, headers and linker scripts for TI’s MSP430 targets
430的头文件以及链接脚本
binutils-msp430:
Binary utilities supporting TI’s MSP430 targets
430的二进制工具包
gcc-msp430:
The GNU C compiler (cross compiler for MSP430)
430的GCC编译器
gdb-msp430:
The GNU debugger for MSP430
430的GDB调试器
关于这些包的作用以及它们与GCC的关系可以参考下面这篇帖子,个人觉得讲的非常好。
我们一并装上!在终端中输入:
 

sudo aptget install msp430libc mspdebug msp430mcu binutilsmsp430 gccmsp430 gdbmsp430
不过装的过程中出现了一些小插曲,会出现如下错误:
dpkg:处理 /var/cache/apt/archives/gdb-msp430_7.2~mspgcc-7.2-20110612-1ubuntu1_i386.deb (–unpack)时出错:
正试图覆盖 /usr/share/gdb/python/gdb/__init__.py,它同时被包含于软件包 gdb 7.4-2012.04-0ubuntu2.1
正在处理用于 man-db 的触发器…
在处理时有错误发生:
/var/cache/apt/archives/gdb-msp430_7.2~mspgcc-7.2-20110612-1ubuntu1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
这里的意思应该是gdb-msp430包中的安装文件会覆盖掉gdb包中的文件,这里参考了这篇博客:
上面说是直接覆盖就可以了,因为两个东西本质上是一样的,在终端输入:
 

sudo aptgeto Dpkg::Options::=“–force-overwrite” install gdbmsp430
接下来会看到如下信息:
dpkg:警告:由于开启了 –force 选项,以下问题被忽略:
正试图覆盖 /usr/share/gdb/python/gdb/__init__.py,它同时被包含于软件包 gdb 7.4-2012.04-0ubuntu2.1
dpkg:警告:由于开启了 –force 选项,以下问题被忽略:
正试图覆盖 /usr/share/gdb/python/gdb/types.py,它同时被包含于软件包 gdb 7.4-2012.04-0ubuntu2.1
dpkg:警告:由于开启了 –force 选项,以下问题被忽略:
正试图覆盖 /usr/share/gdb/python/gdb/printing.py,它同时被包含于软件包 gdb 7.4-2012.04-0ubuntu2.1
dpkg:警告:由于开启了 –force 选项,以下问题被忽略:
正试图覆盖 /usr/share/gdb/python/gdb/command/__init__.py,它同时被包含于软件包 gdb 7.4-2012.04-0ubuntu2.1
dpkg:警告:由于开启了 –force 选项,以下问题被忽略:
正试图覆盖 /usr/share/gdb/python/gdb/command/pretty_printers.py,它同时被包含于软件包 gdb 7.4-2012.04-0ubuntu2.1
正在处理用于 man-db 的触发器…
正在设置 msp430mcu (20110613-3) …
正在设置 binutils-msp430 (2.22~msp20110716p5-1) …
正在设置 gcc-msp430 (4.5.3~mspgcc-20110716-4) …
正在设置 msp430-libc (20110612-2) …
正在设置 mspdebug (0.18-1) …
正在设置 gdb-msp430 (7.2~mspgcc-7.2-20110612-1ubuntu1) …
到这里表示安装成功。
接下来新建一个文件编译,内容如下:
 

/* Blink LED example */
 
#include
 
/** Delay function. **/
delay(unsignedint d){
int i;
for(i =0; i<d; i++){
nop();
}
}
 
int main(void){
WDTCTL = WDTPW | WDTHOLD;
P1DIR =0xFF;
P1OUT =0x01;
 
for(;;){
P1OUT =~P1OUT;
delay(0x4fff);
}
}
终端中输入:

<

div contentScore=”0″>
 

msp430gcc Osmmcu=msp430g2553 o led.