微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Ubuntu配置安装ARM Linux交叉编译环境完整流程

Ubuntu配置安装ARM Linux交叉编译环境完整流程

时间:11-09 来源:互联网 点击:
今天花了一整天的时间来解决insight 的端口无法修改的问题,虽然是解决了,但是也付出了很大的代价,花了一整天时间+毁掉了以前的系统。所以来重新安装配置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,人都能搞疯,依赖软件多,编译时间超长,又不知道可以直接安装而不必编译安装,都是不动脑子 死搬硬套别人的文章造成的后果,以后凡遇事要多动动脑子,目标明确有选择性的去做!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top