arm-linux交叉编译器制作

    xiaoxiao2021-03-25  52

    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验证一下。
    转载请注明原文地址: https://ju.6miu.com/read-36377.html

    最新回复(0)