分享

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

 askjc 2013-11-25
        最近无意间看到网友说MSP430也有了GCC编译器,即MSPGCC,欣喜之余我也开始想到,那在Linux下开发MSP430也不远了。谷歌了一端时间,找到MSPGCC的Wiki:http:///apps/mediawiki/mspgcc/index.php?title=MSPGCC_Wiki,并且在Ubuntu下已经有编译好的安装包,说到这里,其实本人并不是太喜欢从Ubuntu的源中安装这些工具链,我更倾向于MSPGCC官方发布的工具链,不过官方的工具链找了好久都没有找到,因此现在就暂时先用Ubuntu的安装包吧,上面的链接中找到Ubuntu的链接,https:///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 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包中的文件,这里参考了这篇博客:
上面说是直接覆盖就可以了,因为两个东西本质上是一样的,在终端输入:
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(unsigned int 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的调试敬请期待。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多