我在 Windows 8.1 64 位主机上的 virtualbox 上使用 ubuntu 14.04 64 位。
我必须构建一些项目,并且该项目使用 cmake 系统。我需要为德州仪器 cc430f5137 交叉编译我的项目,为此我需要 msp430 gcc。
我下载了上述的 msp430-gcc-full-linux-installer-3.2.3.0.run 文件这里。
当我下载时我做了
sudo chmod +x msp430-gcc-full-linux-installer-3.2.3.0.run
然后当我输入
./msp430-gcc-full-linux-installer-3.2.3.0.run
或者
sudo ./msp430-gcc-full-linux-installer-3.2.3.0.run
什么也没有发生并且我在终端上收到了一条新线路。
如果我输入
sh ./msp430-gcc-full-linux-installer-3.2.3.0.run
或者
sudo sh ./msp430-gcc-full-linux-installer-3.2.3.0.run
然后我收到以下错误
./msp430-gcc-full-linux-installer-3.2.3.0.run: 1: ./msp430-gcc-full-linux-installer-3.2.3.0.run: Syntax error: "(" Unexpected
即使我双击文件目录中的 .run 文件,也不会发生任何事情
我是 Linux 新手,这是我第一次这样做。我搜索过互联网,但没有找到任何有用的东西。
请帮助我设置 msp430 gcc 工具链
谢谢
我的问题太具体了,不符合我的需要,但请不要将其标记为太具体而关闭。
答案1
首先,我认为问题与 VirtualBox 或主机系统没有明确关系。我在尝试在 Ubuntu 14.04 64 位上运行 3.05.00.00 编译器安装程序(不是完整安装程序)时遇到了这个问题。
在 TI 论坛上看到这个帖子(http://e2e.ti.com/support/development_tools/compiler/f/343/t/421764),我安装了所有 CCS 必备软件(http://processors.wiki.ti.com/index.php/Linux_Host_Support_CCSv6#Ubuntu_14.04_64bit),重新启动了电脑,终于成功了:
sudo apt-get install libc6:i386 libx11-6:i386 libasound2:i386 libatk1.0-0:i386 libcairo2:i386 libcups2:i386 libdbus-glib-1-2:i386 libgconf-2-4:i386 libgdk-pixbuf2.0-0:i386 libgtk-3-0:i386 libice6:i386 libncurses5:i386 libsm6:i386 liborbit2:i386 libudev1:i386 libusb-0.1-4:i386 libstdc++6:i386 libxt6:i386 libxtst6:i386 libgnomeui-0:i386 libusb-1.0-0-dev:i386 libcanberra-gtk-module:i386 gtk2-engines-murrine:i386 unzip
答案2
引自http://colotronics.blogspot.com/2014/08/msp430-toolchain-in-ubuntu-1404-with.html
cd ~
mkdir mspgcc_install
cd mspgcc_install
依赖项
sudo apt-get install patch ncurses-dev build-essential bison flex zlib1g-dev sed automake gawk mawk libusb-1.0.0 libusb-1.0.0-dev dos2unix srecord
下载:
wget http://sourceforge.net/projects/mspgcc/files/mspgcc/DEVEL-4.7.x/mspgcc-20120911.tar.bz2
wget http://sourceforge.net/projects/mspgcc/files/msp430mcu/msp430mcu-20130321.tar.bz2
wget http://sourceforge.net/projects/mspgcc/files/msp430-libc/msp430-libc-20120716.tar.bz2
wget http://ftpmirror.gnu.org/binutils/binutils-2.22.tar.bz2
wget http://ftp.gnu.org/pub/gnu/gcc/gcc-4.7.0/gcc-4.7.0.tar.bz2
wget http://ftp.gnu.org/pub/gnu/gdb/gdb-7.2a.tar.bz2
wget http://sourceforge.net/p/mspgcc/bugs/_discuss/thread/fd929b9e/db43/attachment/0001-SF-357-Shift-operations-may-produce-incorrect-result.patch
wget http://sourceforge.net/p/mspgcc/bugs/352/attachment/0001-SF-352-Bad-code-generated-pushing-a20-from-stack.patch
GDB补丁下载
wget -O gdb.patch https://sourceware.org/git/?p=gdb.git;a=patch;h=7f62f13c2b535c6a23035407f1c8a36ad7993dec
卸载 texinfo 5.x 并安装旧版本 4.x
wget http://ftp.br.debian.org/debian/pool/main/t/texinfo/texinfo_4.13a.dfsg.1-10_amd64.deb
sudo dpkg -r texinfo
sudo dpkg -i texinfo_4.13a.dfsg.1-10_amd64.deb
提炼
tar xvfj mspgcc-20120911.tar.bz2
tar xvfj binutils-2.22.tar.bz2
tar xvfj gcc-4.7.0.tar.bz2
tar xvfj gdb-7.2a.tar.bz2
tar xvfj msp430mcu-20130321.tar.bz2
tar xvfj msp430-libc-20120716.tar.bz2
创建构建文件夹
mkdir build
cd build
mkdir binutils
mkdir gcc
mkdir gdb
cd ..
Binutils 安装
cd binutils-2.22
patch -p1<../mspgcc-20120911/msp430-binutils-2.22-20120911.patch
cd ../build/binutils
../../binutils-2.22/configure --target=msp430 --prefix=/usr/local/msp430 2>&1 | tee co
make 2>&1 | tee mo
sudo make install 2>&1 | tee moi
海湾合作委员会
cd ../../gcc-4.7.0
patch -p1 < ../mspgcc-20120911/msp430-gcc-4.7.0-20120911.patch
patch -p1< ../0001-SF-352-Bad-code-generated-pushing-a20-from-stack.patch
patch -p1< ../0001-SF-357-Shift-operations-may-produce-incorrect-result.patch
./contrib/download_prerequisites
#ira-int.h replace
cd gcc
rm ira-int.h
wget -O ira-int.h https://gcc.gnu.org/viewcvs/gcc/branches/gcc-4_7-branch/gcc/ira-int.h?revision=191605&view=co&pathrev=191605
cd ../../build/gcc
../../gcc-4.7.0/configure --target=msp430 --enable-languages=c,c++ --prefix=/usr/local/msp430 2>&1 | tee co
make 2>&1 | tee mo
sudo make install 2>&1 | tee moi
更新路径
export PATH=/usr/local/msp430/bin/:$PATH
sudo sed -e '/^PATH/s/"$/:\/usr\/local\/msp430\/bin"/g' -i /etc/environment
检查msp430-gcc,必须返回4.7.0 20120322
msp430-gcc --version
安装 gdb
cd ../../gdb-7.2
patch -p1 < ../mspgcc-20120911/msp430-gdb-7.2a-20111205.patch
patch -p1< ../gdb.patch
cd ../build/gdb
../../gdb-7.2/configure --target=msp430 --prefix=/usr/local/msp430 2>&1 | tee co
make 2>&1 | tee mo
sudo make install 2>&1 | tee moi
检查 gdb 安装:
msp430-gdb --version
必须返回 7.2
msp430mcu 和 msp430-libc
cd ../../msp430mcu-20130321/
sudo MSP430MCU_ROOT=`pwd` ./scripts/install.sh /usr/local/msp430 | tee so
cd ../msp430-libc-20120716/src/
make 2>&1 | tee mo
sudo PATH=$PATH make PREFIX=/usr/local/msp430 install 2>&1 | tee moi
cd ../..
答案3
我在装有 Windows7 主机的虚拟机上使用 Lubuntu 16.10,首先安装了 libc6:i386,然后执行,在我的情况下,msp430-gcc-full-linux-installer-4.2.0.36.run使用终端,它根本不需要安装 CCS 就可以工作。
打开终端,您可以使用ctrl+ alt+t键,然后输入:
sudo apt-get install libc6:i386
等待它完成,然后运行你原来的命令,或者用 GUI 双击并用终端执行。