文号
t55319
阅读
6338
回复
4
收藏
2
手工编译msp430gcc
2013/03/15
IP:江西
最近搞了块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 下载一个测试文件.
Screenshot - 2013年03月15日 - 10时34分03秒.png
+95
科创币
qg2010
2013/03/15
高质量发帖
.........作者
13年9个月前IP:未同步
507649
1楼
自己顶一顶
引用
评论
13年9个月前IP:未同步
507787
2楼
吓我一条,以为靠脑子编译二进制机器码呢
引用
评论
.........作者
13年9个月前IP:未同步
507830
3楼
回 2楼(太阳升起来了) 的帖子
在很久很久以前,的确可以人脑编译二进制码
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的