歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu下搭建MSP430開發環境(MSPGCC)

Ubuntu下搭建MSP430開發環境(MSPGCC)

日期:2017/2/28 14:38:00   编辑:Linux教程

最近無意間看到網友說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的調試敬請期待。
Copyright © Linux教程網 All Rights Reserved