最近搞了块MSP430-LaunchPad来玩,发现gcc也支持msp430了.以前半手工编译过STM32F3的工具链,所以就打算手工编译个msp430gcc的工具链了.
一个工具链主要由以下部分组成:
gcc 编译器
gdb 调试器
binutils 包含链接器,汇编器,之类的.
msp430mcu 头文件之类的
msp430-libc c库之类的
mspdebug 用来进行硬件调试时和板子通讯.
好了,要下载这么多源码,还有补丁之类的,还有依赖关系,想想是不是很复杂.
由于不是第一次编译GCC了,所以就不用解决依赖关系问题了.直接开始下载源码和补丁.
在/tmp目录下下载./tmp目录重启的时候自动会清除目录中的内容,所以就免去了清理文件之苦.
下载完了自然是要解压这些文件了.tar现在可以识别压缩文件格式了,所以不用手动指定文件压缩文件格式了.
tar xvf binutils-2.21.1a.tar.bz2
tar xvf gcc-core-4.6.3.tar.bz2
tar xvf gdb-7.2a.tar.bz2
tar xvf mspgcc-20120406.tar.bz2
tar xvf msp430mcu-20120406.tar.bz2
tar xvf msp430-libc-20120224.tar.bz2
然后就是打补丁了
cd gcc-4.6.3
./contrib/download_prerequisites
cd ..
cd binutils-2.21.1
patch -p1<../mspgcc-20120406/msp430-binutils-2.21.1a-20120406.patch
cd ..
cd gcc-4.6.3
patch -p1<../mspgcc-20120406/msp430-gcc-4.6.3-20120406.patch
patch -p1<../msp430-gcc-4.6.3-20120406-sf3540953.patch
patch -p1<../msp430-gcc-4.6.3-20120406-sf3559978.patch
cd ..
cd gdb-7.2
patch -p1<../mspgcc-20120406/msp430-gdb-7.2a-20120406.patch
cd ..
嗯,现在就是最痛苦的编译,T4300@2.1GHz,大概全部编译完花了了两个小时左右.比起编译firefox,chromium好多了.
编译gcc,binutils,gdb的时候要在源码文件夹之外建立一个文件夹,不然会出错.
然后可以在
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 下载一个测试文件.