搜索
首页 生活 美食/烹饪 烹饪方法

交叉编译器的制作方法有哪些

全部回答

2017-10-17

44 0
    1、最近学习制作嵌入式中制作交叉编译器的方法,本文章是傻瓜式的方法。不过可以先入门学习,以后有时间,可以自己动手亲自制作一个交叉编译器。 首先,在网上下载crosstool软件包吧。
   配置crosstool,解压此软件包。 编辑如下几个文件: 1)arm。dat: ?[root@linux-58 crosstool-0。  43]# vi arm。dat KERNELCONFIG=`pwd`/arm。
  config TARGET=arm-linux ? ? ? ? ? ? #交叉编译软件的前缀,如arm-linux-gcc TARGET_CFLAGS="-O" 2)vi demo-arm。  sh: #!/bin/sh # This script has one line for each known working toolchain # for this architecture。
   ?Uncomment the one you want。 # Generated by generate-demo。  pl from buildlogs/all。dats。
  txt set -ex TARBALLS_DIR=`pwd`/downloads ? ? #下载的软件包存放的地址 RESULT_TOP=/usr/local/crosstool ? ? #交叉编译环境安装在哪里 export TARBALLS_DIR RESULT_TOP GCC_LANGUAGES="c,c " ?########定义支持c,c export GCC_LANGUAGES # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root。
     mkdir -p $RESULT_TOP #eval `cat arm。dat gcc-2。95。3-glibc-2。1。3。dat` sh all。sh --notest #eval `cat arm。
  dat gcc-2。95。3-glibc-2。2。2。dat` sh all。  sh --notest #eval `cat arm。dat gcc-2。95。3-glibc-2。
  2。5。dat` sh all。sh --notest #eval `cat arm。dat gcc-3。2。3-glibc-2。2。5。dat` sh all。  sh --notest #eval `cat arm。
  dat gcc-3。2。3-glibc-2。3。2。dat` sh all。sh --notest #eval `cat arm。dat gcc-3。2。3-glibc-2。3。2-tls。dat` sh all。
    sh --notest #eval `cat arm。dat gcc-3。3。6-glibc-2。2。2。dat` sh all。sh --notest #eval `cat arm。
  dat gcc-3。3。6-glibc-2。2。5。dat` sh all。sh --notest #eval `cat arm。  dat gcc-3。3。6-glibc-2。
  3。2。dat` sh all。sh --notest #eval `cat arm。dat gcc-3。3。6-glibc-2。3。2-tls。dat` sh all。sh --notest #eval `cat arm。
    dat gcc-3。4。5-glibc-2。2。2。dat` sh all。sh --notest #eval `cat arm。dat gcc-3。4。5-glibc-2。
  2。5。dat` sh all。sh --notest #eval `cat arm。dat gcc-3。  4。5-glibc-2。3。2。dat` sh all。sh --notest #eval `cat arm。
  dat gcc-3。4。5-glibc-2。3。2-tls。dat` sh all。sh --notest #eval `cat arm。dat gcc-3。  4。5-glibc-2。
  3。5。dat` sh all。sh --notest #eval `cat arm。dat gcc-3。4。5-glibc-2。3。5-tls。dat` sh all。sh --notest #eval `cat arm。
  dat gcc-3。  4。5-glibc-2。3。6。dat` sh all。sh --notest #eval `cat arm。dat gcc-3。4。5-glibc-2。
  3。6-tls。dat` sh all。sh --notest #eval `cat arm。dat gcc-4。  0。2-glibc-2。2。2。dat` sh all。
  sh --notest #eval `cat arm。dat gcc-4。0。2-glibc-2。3。2。dat` sh all。sh --notest #eval `cat arm。dat gcc-4。
  0。  2-glibc-2。3。2-tls。dat` sh all。sh --notest #eval `cat arm。dat gcc-4。0。2-glibc-2。3。5。
  dat` sh all。sh --notest #eval `cat arm。dat gcc-4。  0。2-glibc-2。3。5-tls。dat` sh all。sh --notest #eval `cat arm。
  dat gcc-4。0。2-glibc-2。3。6。dat` sh all。sh --notest #eval `cat arm。dat gcc-4。  0。2-glibc-2。
  3。6-tls。dat` sh all。sh --notest #eval `cat arm。dat gcc-4。1。0-glibc-2。2。2。dat` sh all。sh --notest #eval `cat arm。
  dat gcc-4。  1。0-glibc-2。3。2。dat` sh all。sh --notest #这是我们要编译的交叉环境的版本 eval `cat arm。dat gcc-4。
  1。0-glibc-2。3。2-tls。dat` sh all。sh --notest ? ? echo Done。   3) gcc-4。1。0-glibc-2。3。6-tls。
  dat [root@linux-58 crosstool-0。43]# vi gcc-4。1。0-glibc-2。3。6-tls。dat ##关联的软件包版本 BINUTILS_DIR=binutils-2。
    16。1 GCC_CORE_DIR=gcc-3。3。6 GCC_DIR=gcc-4。1。0 GLIBC_DIR=glibc-2。3。6 LINUX_DIR=linux-2。
  6。15。4 LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2。  6。12。0 GLIBCTHREADS_FILENAME=glibc-linuxthreads-2。
  3。6 GDB_DIR=gdb-6。5 GLIBC_EXTRA_CONFIG="$GLIBC_EXTRA_CONFIG --with-tls --with-__thread ?--enable-kernel=2。
    4。18" 4)最后在用户模式下执行demo-arm。sh,不允许在root下执行 。/demo-arm。sh 5)最后在/usr/local/crosstool/目录下会生成很多工具arm-linux开头的工具。
   总结: 1)基本的过程就这么多, 但要说一下 编译前需要下载一些软件到$TARBALLS_DIR之下 ,crosstool 会自动帮你下载,用wget下载速度慢,可以自己下载到之前我们制定的downloads目录中。
     binutils-2。16。1。tar。bz2 ?glibc-linuxthreads-2。3。2。tar。bz2 binutils-2。17。tar。gz ? ? glibc-linuxthreads-2。
  3。6。tar。bz2 gcc-3。3。6。tar。  bz2 ? ? ? ?glibc-linuxthreads-2。3。6。tar。gz gcc-4。1。0。tar。bz2 ? ? ? ?linux-2。
  6。15。4。tar。bz2 gdb-6。5。tar。bz2 ? ? ? ? ?linux-libc-headers-2。  6。12。0。tar。bz2 glibc-2。
  3。2。tar。bz2 ? ? ? glibc-2。3。6。tar。gz ? 2)制作交叉编译链的方法还有二种, 一种是用这样一个脚本 ,自动编译。 一种是如果你精力旺盛,你可以自己手动编译,。
  

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

生活
烹饪方法
服装/首饰
美容/塑身
购车养车
家电
礼节礼仪
美食/烹饪
购物
购房置业
婚嫁
生活常识
家居装修
交通出行
起名
保健养生
育儿
美食/烹饪
烹饪方法
酒类/饮品
厨具
餐厅/酒店
烹饪方法
烹饪方法
举报
举报原因(必选):
取消确定举报