本次是在VMWare虚拟机里安装了CentOS5.2操作系统,并在上面编译自己的ARM交叉编译工具链,下面是相应的步骤:

首先下载crosstool0.43源码包(crosstool-0.43.tar.gz),然后解压,解压目录为$HOME,并进入解压后的目录,修改如下相关文件:

由于我们要制作的是ARM IP核的Linux交叉编译工具链,解压后我们先找到需要的Shell脚本文件demo-arm-softfloat.sh:

修改如下内容:

将如下内容:

TARBALLS_DIR=$HOME/downloadsRESULT_TOP=/opt/crosstool

修改为:TARBALLS_DIR=$HOME/crosstool/downloadsRESULT_TOP=$HOME/crosstool/tools

第一项为编译生成过程中下载的工具源码包的存放位置,第二项为制作成功后生成的工具链存放的位置。

该文件中有如下一项前没有加#号,则等会会执行该部分内容:

`cat arm-softfloat.dat gcc-3.4.5-glibc-2.3.6.dat` sh all.sh --notest

知道等会生成的时候需要用到的文件all.sh、arm-softfloat.dat、gcc-3.4.5-glibc-2.3.6.dat

在all.sh文件中找到如下语句:

BUILD_DIR=`pwd`/build/$TARGET/$TOOLCOMBO

该项是在生成工具链过程中编译生成的中间代码存放的位置,将其修改为:

BUILD_DIR=$HOME/crosstool/build/$TARGET/$TOOLCOMBO

在arm-softfloat.dat文件中找到如下语句:

TARGET=arm-softfloat-linux-gnu

将其修改为:

TARGET=arm-linux

这样等会生成的工具链都是以arm-linux开头的。

文件gcc-3.4.5-glibc-2.3.6.dat内容都是指定源码名称及版本。

至此,全部工作就绪,打开终端,并进入到相应的home目录下,然后进入到该目录下的crosstool-0.43目录下,执行如下命令:

./demo-arm-softfloat.sh

并且此时电脑要能上网,因为编译过程需要下载相应源文件,或者可以先下载,然后存放$HOME/crosstool/downloads目录下。

由于是在虚拟机时,相对编译速度较慢,我当时编译时约2-3个小时才编译完成。

END

linux top交叉编译_ARM Linux交叉编译工具链的制作相关推荐

  1. Linux中使用交叉编译、二进制分析工具链

    交叉编译,顾名思义,就是要生成在其它平台上运行的目标代码.例如,现在个人电脑上的CPU都基于X86/X86-64架构.但很多手机或其它嵌入式设备的处理器则可能是基于ARM架构的.如果要在个人电脑上开发 ...

  2. Linux环境下交叉编译工具链的制作

    本文参照教材嵌入式Linux开发入门宝典 一.在Windows上安装虚拟机 1.浏览器搜索VMware,下载VMware Workstation Pro最新版,目前为16.2.3,并完成安装. 2.打 ...

  3. 制定交叉编译工具_交叉编译工具链的制作

    交叉编译工具链的制作 前言及准备 本笔记制作的交叉编译工具已通过简单验证,对初次有需求需要搭建交叉工具链有一定的指导意义,制作工具链比较耗时,需做好花费一整天时间的准备. 资料学习链接 linux工具 ...

  4. 交叉编译工具链的制作

    交叉编译工具链的制作 前言及准备 本笔记制作的交叉编译工具已通过简单验证,对初次有需求需要搭建交叉工具链有一定的指导意义,制作工具链比较耗时,需做好花费一整天时间的准备. 资料学习链接 crossto ...

  5. arm-linux交叉编译工具链的制作(基于S3C2440)【转】

    本文转载自:http://eric-gao.iteye.com/blog/2160622 制作arm-linux交叉编译工具链一般通过crosstool工具或者crosstool-NG,前者使用方便, ...

  6. linux学习之ARM的三大工具链

    前言 学习linux的过程中,看到过多很多程序并且编译过,使用过很多嵌入式集成开发平台,如IAR,Keil MDK-ARM,DS-5等.有时候会遇到很奇怪的现象:对于同一种功能的代码,不同的平台下程序 ...

  7. arm-linux-gcc 裸机程序,Linux下ARM裸机开发-交叉工具链

    初识linux下ARM的裸机开发全过程.现在总结如下: 首先说明为什么要学习裸机开发,一方面bootloader的编写要用到裸机开发的知识,另一方面就是驱动的开发.一般情况下我们进行的系统上的开发. ...

  8. 制作ARM的Linux,手工制作最新版arm-linux交叉工具链1.doc

    手工制作最新版arm-linux交叉工具链1 手工制作最新版arm-linux交叉工具链 注意:本文是在ubuntu 10.04 desktop i386操作系统上完成的, 1.准备目录和环境变量 # ...

  9. linux+top+常用参数,linux的top命令参数详细说明

    Linux中的top命令是个常用的命令之一,下面由学习啦小编为大家整理了Linux的top命令参数详细说明,希望对大家有帮助! linux的top命令简介 top命令是Linux下常用的性能分析工具, ...

最新文章

  1. 剑指offer: 替换空格 python实现
  2. Learning hard C#学习笔记 孤军深入
  3. 恢复联想键盘F1-F12标准模式
  4. http error
  5. Struts2笔记——通配符和动态方法调用
  6. 从绝望中寻找希望,人生必将辉煌
  7. .NET、ASP.NET控件及源码大汇总 最新最全哦
  8. 加速度及陀螺仪传感器BMI160
  9. python绘图画猫咪_Turtle库画小猫咪
  10. 解析人工智能与高等教育中的大数据
  11. 解决 IIS 部署网站引用 woff/woff2/svg 字体报 404 错误
  12. Maya 界面与视图2
  13. 叉积 微分 恒等式_单摆-微分方程浅谈
  14. 科学松鼠会-Kindle精选
  15. cmos电路多余输入端能否悬空_CMOS门电路的多余输入端可以悬空,悬空时相当于输入为逻辑1。...
  16. 电脑装机完没有efi_win7系统eFI引导从硬盘安装的操作方法
  17. 1905 杨辉三角
  18. 阿拉巴数字转换中文数字
  19. django连接数据库获取数据
  20. 不要带着这些思维去职场工作

热门文章

  1. gitblit mysql_CentOS7安装MySQL、Tomcat和GitBlit记录
  2. shell+mysql获取数据库名_shell操作mysql数据库
  3. 生成报告配置xml_自动化测试报告太丑?Allure拯救你!
  4. java对象赋值_Java 对象不使用时为什么要赋值为 null?
  5. autotype安全 fastjson_Fastjson 安全更新,建议升级到 1.2.28 或更新版本
  6. Springboot 2.x上传文件大小限制
  7. ​知乎700万人围观:如何快速成为数据分析师?
  8. android addview指定位置,Android开发中,请问当在一个视图中addView另一个布局视图时为什么报错?...
  9. python函数手册_python学习手册——内置函数(上)
  10. vmware 虚拟机共享 windows 目录