Ubuntu配置安装ARM Linux交叉编译环境完整流程
1.虚拟机安装ubuntu9.10,这个很简单了不需累述了,安装前vmware会让你选择划分多大的硬盘,其实这个并不会是真的立即分离出那么大的空间出来,即使你目前只剩下5g,你也可以要求划分30g,你指定的只是一个上限值,最好设置大一点,以免以后不够用又重新配置。虚拟机安装好了第一件事自然是安装vmware tool了,然后就是选择好ubuntu的软件源,中国的cn99很不错,apt-get update更新下,便于之后装软件,我一般直接用的root用户,免得麻烦,设置root密码 sudo passwd root,之后就可以切换了。
2.ubuntu自带的gcc版本比较高,语法要求很严格,会对我们以后编译安装某些软件很不利,要选择4.2以下的,ok,就装4.2吧,用ubuntu的命令安装最安全省事,如果下载源码编译安装,会累死人的
apt-get install gcc-4.2
然后修改我们默认的gcc,gcc在/usr/bin下面,它其实只是一个软链接,删除了,然后重新指定一下。切换到/usr/bin目录,安装好的gcc4.2就在这里,建立软链接
ln -s gcc-4.2 gcc
运行gcc -v下,是否显示正确。,很简单啦
3.安装交叉编译器,网上去下载一个好的交叉编译工具链吧,我用的3.4.1,这个更简单了,解压之,然后将其中的arm文件夹移动到你想放的地方,譬如/usr/local/ 下,再将其bin文件路径/usr/local/arm/3.4.1/bin添加进/etc/environment 下,我们就可以直接使用arm-linux-gcc了
4.安装insight,也是今天的重点,insight是基于gdb的,所以gdb需要的环境是一定要有的,新力德安装libx11-dev libncurses5-dev和libc6-dev这3个依赖文件,先安装好啊,不然等出错了再安装需要重新编译,麻烦死了。insight编译之前,要修改下源码,就是修改默认的端口,否则会是1000不能改的,因为我用的是jlink,其端口2331是不能修改的,所以只有修改gdb的端口了,找到/gdb/gdbtk/libaray/targetselection.itb ,查找1000,将其修改为2331(jlink端口)这里还需要注意一点,如果你跟我一样一定要修改insight端口,一定要看仔细了,这是insight第一次编译安装,如果你以前安装过又删除了,再按照我这样修改编译安装 是不会有效的,除非你保证卸载的非常干净(其实源码make uninstall啥都没有写),否则,你得重新安装系统了!配置insight:
./configure --target=arm-linux --enable-sim --prefix=/usr/local/insight
编译时间一般都很长,然后make; make install
最后添加其路径到系统中去,修改/etc/environment 添加/usr/local/insight/bin. 更新下此文件 source /etc/environment
然后就是编译出gdbserver了,
~/gdb-6.8/gdb/gdbserver$ ./configure --target=arm-linux --host=arm-linux
~/gdb-6.8/gdb/gdbserver$ make CC=arm-linux-gcc 指定编译器,也可以直接指定路径
这样在gdb-6.8/gdb/gdbserver目录下就生成了一个gdbserver可执行文件,拷贝到目标开发板上
5.eclipse的安装
这个是个IDE,其实我不用这个东西的,只是有点好奇,安装来玩玩,我真正使用的是windows下面的source insight编辑,然后ubuntu编译,用jlink+insight调试,咱不追求什么纯windows 纯linux啥的,怎么方便怎么来
安装java
apt-get install sun-java-jre
apt-get install sun-java-jdk
选择默认 java:sudo update-alternatives --config java
以上虽然写的很简单,但是确是我长久以来花费了大量时间的血泪经验史啊,以前为了这些简单的东西 弄了很久很久,譬如编译安装gcc4.2,人都能搞疯,依赖软件多,编译时间超长,又不知道可以直接安装而不必编译安装,都是不动脑子 死搬硬套别人的文章造成的后果,以后凡遇事要多动动脑子,目标明确有选择性的去做!
Ubuntu配置安装ARMLinux交叉编译环 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)