arm-linux交叉编译器制作

arm-linux交叉编译器制作

    本文介绍利用crosstool-ng工具制作arm-linu交叉编译器,关于crosstool-ng不在多讲(可以百度),下面以s5pv210处理器为例说明制作过程。

一、安装crosstool-ng

  1、获取crosstool-ng

    从官方网站获取crosstool-ng,http://crosstool-ng.org/,这里我选择crosstool-ng-1.22.0.tar.bz2版本

  2、配置,编译,安装crosstool-ng

    解压crosstool-ng-1.22.0.tar.bz2后进入crosstool-ng目录,依次执行./configure、make、make install即可,在./configure时可能会出现错误,一般都是未安装一些小工具,只要按照提示sudo apt-get install xxx安装缺少的的包即可,make install之后会将ct-ng可执行文件安装在/usr/local/bin/目录下。

  3、测试crosstool-ng是否安装成功

    在任一目录下执行ct-ng -v,若显示crosstool-ng信息就表示安装成功。
    

二、制作交叉编译器

  首先新建个文件夹,作为编译目录,这里我命名为crosstool,然后进入该目录。

  1、找模板

    从crosstool-ng中的模板中找到和自己目标处理器最接近的一个,使用ct-ng list-samples列出所有模板
    
可见我的目标处理器s5pv210与arm-cortex_a8-linux-gnueabi最接近,所以就使用它生成配置文件.config,执行ct-ng arm-cortex_a8-linux-gnueabi即可。
    

  2、配置

    配置一般需要三部分。
    <1>路径配置
       进入Paths and misc options
    
      然后配置这两项
    
      编译过程中需要下载一些源码包,Local tarballs directory就是存放这些源码包的目录(一般下载会很慢,可以在编译之前将需要的源码包下载好放在该目录里),若目录不存在一定要建好。
      Prefix directory是存放编译后生成的交叉工具链的路径。
    <2>目标选项
      进入Target options设置如下三项
      
      第一个Emit assembly for cpu表示cpu,若将其清空则会多出两项,分别是arch和tune,一般都设置上。
      第二个是FPU处理器,VFP或neon等。
      第三个是浮点运算类型,软浮点或硬浮点。
    <3>工具链配置
      进入ToolsChain options
    
    Tuple's vendor string是供应商字符串,若设置为zyz,则编译后的工具链名字为arm-zyz-linux-gnueabi。
    Tuple's alias是工具链的别名,若设置为arm-linux,则编译后会建立工具链的软连接,命名为arm-linux-xx。

  3、编译工具链

    执行ct-ng build进行编译
    
    若编译成功
    
    然后,设置环境变量即可。

  至此,交叉编译器就编译好啦,可以执行arm-linux-gcc -v验证一下。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值