免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1099 | 回复: 0
打印 上一主题 下一主题

嵌入式交叉编译环境的建立方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-01 13:24 |只看该作者 |倒序浏览
具体工作步骤
一、修改系统配置
1.1、Ubuntu 8.10 默认安装的 gcc 版本为4.3.2,这个版本对于语法要求较高,编译会出错,目前不宜选用,于是选择了 gcc-4.1.1 ,但并不需要卸载 gcc-4.3.2。
  (1)第一种方法:直接在终端输入安装gcc-4.1
  sudo apt-get install gcc-4.1
  (2)第二种方法:下载下列软件包:
  gcc-4.1_4.1.2-23ubuntu3_i386.deb
  gcc-4.1-base_4.1.2-23ubuntu3_i386.deb
  cpp-4.1_4.1.2-23ubuntu3_i386.deb
  然后sudo dpkg –i *.deb
  安装就可以了
  sudo rm /usr/bin/gcc (删除GCC,它只是个到gcc-4.3.2的软链接文件)
  sudo ln -s /usr/bin/gcc-4.1 /usr/bin/gcc (建立GCC到gcc-4.1的软链接)
1.2、修改sh版本
  如果运行
  ls -la /bin/sh
  看到链接的是 dash ,则请运行以下命令
  sudo dpkg-reconfigure dash
  选择 no 以删除 dash
  此处如果不改好的话,编译时会出现错误
二、解压软件包,并进入该目录,查看重要的脚本文件。
  $cd downloads
  $tar –zxvf crosstool-0.43.tar.gz
  $cd crosstool-0.43
  在此目录下可以看到有很多.sh脚本和.dat配置文件,每一个支持的处理器都有它所相应的脚本。假如选用demo-arm-softfloat.sh 就是建立目标为支持软浮点的arm交叉编译工具链。
三、修改demo-arm-softfloat.sh
  $vim demo-arm-softfloat.sh
  修改下面两句
  TARBALLS_DIR=$HOME/downloads //表示下载的源码的存放目录
  RESULT_TOP=/opt/crosstools //表示生成的工具链的存放目录
  为:
  TARBALLS_DIR=/home/linux/downloads(源码存放目录)
  RESULT_TOP=/home/linux/crosstools(生成工具链目录)
四、修改 gcc-3.4.5-glibc-2.3.6.dat
  $ vim gcc-3.4.5-glibc-2.3.6.dat
  修改内容为:
  BINUTILS_DIR=binutils-2.15
  GCC_DIR=gcc-3.4.5
  GLIBC_DIR=glibc-2.3.6
  LINUX_DIR=linux-2.6.26.5
  LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
  GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6
五、$ ./ demo-arm-softfloat.sh
  这个过程较长
六、修改环境变量
  修改环境变量有多种方法我们介绍两种
  (1)第一种方法:在当前用户目录的.bashrc中添加如下内容
  $export PATH=$PATH:/home/linux/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/bin:
  (2)第二种方法:或直接修改/home/linux/.bashrc
  cd /home/linux
  vim .bashrc
  添加如下内容:
  PATH=$PATH:/home/linux/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/bin:
  然后
  source .bashrc
七、执行如下命令
  $ arm-softfloat-linux-gnu-gcc -v
  显示
  Reading specs from /home/david/project/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/lib/gcc/arm-softfloat-linux-gnu/3.4.5/specs
  Configured with: /home/david/downloads/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.4.5-glibc-2.3.6/gcc-3.4.5/configure --target=arm-softfloat-linux-gnu --host=i686-host_pc-linux-gnu --prefix=/home/david/project/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu --with-float=soft --with-headers=/home/david/project/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/arm-softfloat-linux-gnu/include --with-local-prefix=/home/david/project/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/arm-softfloat-linux-gnu --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long
  Thread model: posix
  gcc version 3.4.5
  ok交叉编译环境创建成功!
八、恢复我们修改的系统配置:
  恢复gcc为4.3
  sudo rm /usr/bin/gcc
  sudo ln -s /usr/bin/gcc-4.3 /usr/bin/gcc
  重新安装dash
  sudo dpkg-reconfigure dash
  选择 yes 以重新安装 dash

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/99873/showart_2083898.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP