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


最近无意间看到网友说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的关系可以参考下面这篇帖子,个人觉得讲的非常好。 http://cms.mcuapps.com/techinfo/toolchains/gcc/ 我们一并装上!在终端中输入:

 

sudo apt-get install msp430-libc mspdebug msp430mcu binutils-msp430 gcc-msp430 gdb-msp430 不过装的过程中出现了一些小插曲,会出现如下错误: 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包中的文件,这里参考了这篇博客: http://mitchtech.net/cross-compiling-for-ti-msp430-launchpad/ 上面说是直接覆盖就可以了,因为两个东西本质上是一样的,在终端输入:

 

sudo apt-get-o Dpkg::Options::="--force-overwrite" install gdb-msp430 接下来会看到如下信息: 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<msp430g2553.h>   /** 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); } } 终端中输入:

 

msp430-gcc -Os-mmcu=msp430g2553 -o led.elf led.c 编译成功!关于在线调试以及eclipse+msp430-gdb的调试敬请期待。
  • 1
  • 2
  • 下一页

相关内容