制作交叉工具链(龙芯)

2024-04-21 13:58
文章标签 工具 制作 龙芯 交叉

本文主要是介绍制作交叉工具链(龙芯),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

系统环境:ubuntu10.04 + gcc-4.3.3

所需软件:
Binutils 2.20: http://ftp.gnu.org/gnu/binutils/binutils-2.20.tar.bz2
GCC Core 4.4.2: http://ftp.gnu.org/gnu/gcc/gcc-4.4.2/gcc-core-4.4.2.tar.bz2 

Binutils 2.20 Loongson2f 补丁 binutils-2.20-loongson2f.zip   

设置环境变量和新建目录

$ mkdir -p /opt/loongson-cross-tools/usr/{bin, lib, share}

$ echo "PATH=$PATH:/opt/loongson-cross-tools/usr/bin" >> ~/.bashrc

编译 Binutils: 

$ tar xjf binutils-2.20.tar.bz2

$ cd binutils-2.20

$ patch -Np1 -i ../binutils-2.20-loongson2f.patch   //这步没做,没有找到patch

$ cd .. && mkdir binutils-build && cd binutils-build

$ ../binutils-2.20/configure --prefix=/opt/loongson-cross-tools/usr --target=mipsel-pc-linux-gnu --with-sysroot=/opt/loongson-cross-tools --enable-64-bit-bfd --disable-nls --enable-shared

$ make configure-host

$ make

$ make install

出错信息:

        rm -rf $backupdir; exit $rc

WARNING: `makeinfo' is missing on your system.  You should only need it if

         you modified a `.texi' or `.texinfo' file, or any other file

         indirectly affecting the aspect of the manual.  The spurious

         call might also be the consequence of using a buggy `make' (AIX,

         DU, IRIX).  You might want to install the `Texinfo' package or

         the `GNU make' package.  Grab either from any GNU archive site.

make[4]: *** [as.info] Error 1

make[4]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build/gas/doc'

make[3]: *** [install-am] Error 2

make[3]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build/gas/doc'

Making install in po

make[3]: Entering directory `/home/loongson/loongson-cross-tool/binutils-build/gas/po'

make[3]: Nothing to be done for `install'.

make[3]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build/gas/po'

make[3]: Entering directory `/home/loongson/loongson-cross-tool/binutils-build/gas'

make[4]: Entering directory `/home/loongson/loongson-cross-tool/binutils-build/gas'

/bin/bash ../../binutils-2.20/gas/../mkinstalldirs /opt/loongson-cross-tools/usr/bin

 /bin/bash ./libtool  --mode=install /usr/bin/install -c as-new /opt/loongson-cross-tools/usr/bin/mipsel-pc-linux-gnu-as

libtool: install: /usr/bin/install -c .libs/as-new /opt/loongson-cross-tools/usr/bin/mipsel-pc-linux-gnu-as

/bin/bash ../../binutils-2.20/gas/../mkinstalldirs /opt/loongson-cross-tools/usr/mipsel-pc-linux-gnu/bin

n=`echo as | sed 's&^&mipsel-pc-linux-gnu-&'`; \

        if [ "/opt/loongson-cross-tools/usr/bin/$n" != "/opt/loongson-cross-tools/usr/mipsel-pc-linux-gnu/bin/as" ]; then \

          rm -f /opt/loongson-cross-tools/usr/mipsel-pc-linux-gnu/bin/as; \

          ln /opt/loongson-cross-tools/usr/bin/$n /opt/loongson-cross-tools/usr/mipsel-pc-linux-gnu/bin/as >/dev/null 2>/dev/null \

            || /bin/bash ./libtool --mode=install /usr/bin/install -c as-new /opt/loongson-cross-tools/usr/mipsel-pc-linux-gnu/bin/as; \

        else \

          true ; \

        fi

make[4]: Nothing to be done for `install-data-am'.

make[4]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build/gas'

make[3]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build/gas'

make[2]: *** [install-recursive] Error 1

make[2]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build/gas'

make[1]: *** [install-gas] Error 2

make[1]: Leaving directory `/home/loongson/loongson-cross-tool/binutils-build'

make: *** [install] Error 2

参考解决办法:

原因是本机没有安装texinfo,安装之后版本也不够高,顾修改configure文件

$ sudo apt-get install texinfo

$ makeinfo --version

makeinfo (GNU texinfo) 4.13

$ vim ../binuitl-2.20/configure

改成:

$ make install

编译 GCC: 

$ tar xjf gcc-core-4.4.2.tar.bz2

$ mkdir gcc-build  && cd gcc-build

$ ../gcc-4.4.2/configure --prefix=/opt/loongson-cross-tools/usr --target=mipsel-pc-linux-gnu --with-sysroot=/opt/loongson-cross-tools --disable-multilib --with-newlib --disable-nls --disable-shared --disable-threads --enable-languages=c --with-abi=64

出错信息:

configure: error: Building GCC requires GMP 4.1+ and MPFR 2.3.2+.

Try the --with-gmp and/or --with-mpfr options to specify their locations.

Copies of these libraries' source code can be found at their respective

hosting sites as well as at ftp://gcc.gnu.org/pub/gcc/infrastructure/.

See also http://gcc.gnu.org/install/prerequisites.html for additional info.

If you obtained GMP and/or MPFR from a vendor distribution package, make

sure that you have installed both the libraries and the header files.

They may be located in separate packages.

参考解决办法:

http://ftp.gnu.org/gnu/gmp/   #gmp下载

http://ftp.gnu.org/gnu/mpfr/  #mpfr下载

$ tar xf tar xf gmp-5.0.1.tar.bz2

$ tar xf mpfr-3.0.0.tar.bz2

$ mv gmp-5.0.1/ gmp 

$ mv mpfr-3.0.0/ mpfr 

$ mv gmp/ mpfr/ gcc-4.4.2/

$ cd gcc-build

$ ../gcc-4.4.2/configure --prefix=/opt/loongson-cross-tools/usr --target=mipsel-pc-linux-gnu --with-sysroot=/opt/loongson-cross-tools --disable-multilib --with-newlib --disable-nls --disable-shared --disable-threads --enable-languages=c --with-abi=64

$ make all-gcc

出错信息:

checking whether stripping libraries is possible... yes

checking if libtool supports shared libraries... yes

checking whether to build shared libraries... no

checking whether to build static libraries... yes

checking whether gcc __attribute__ ((mode (XX))) works... yes

checking for recent GMP... yes

checking for gmp internal files... configure: error: header files gmp-impl.h and longlong.h not found

make: *** [configure-mpfr] Error 1

参考解决办法:

mpfr3.0mpfr2.4.2

因为mpfr3.0改了默认路径(网上如此说)

$ tar xf mpfr-2.4.2.tar.bz2

$ mv mpfr-2.4.2/ mpfr 

$ rm gcc-4.4.2/mpfr

$ mv mpfr gcc-4.4.2

$ make all-gcc

$ make all-target-libgcc

$ make install-gcc

$ make install-target-libgcc

参考资料:

https://heiher.info/916.html

http://www.linuxsir.org/bbs/showthread.php?t=338748

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44455

http://blog.sina.com.cn/s/blog_4e9da0010100dhvk.html

<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(356) | 评论(0) | 转发(0) |
0

上一篇:RGB24和YUV420旋转90度的源代码

下一篇:VC调试心得

相关热门文章
  • SecureCRT破解注意
  • PHP Extension开发基础
  • 安全全面可靠
  •   研究推进政府向社会力量购...
  • 【读者报料】
  • 承接自动化测试培训、外包、实...
  • Solaris PowerTOP 1.0 发布
  • For STKMonitor
  • busybox的httpd使用CGI脚本(Bu...
  • 项目小体会
  • 修改默认端口为222,centos自...
  • 用PHP做一个ftp登录页面...
  • Toad for Oracle工具,为什么在...
  • 本地win7安装vmw9系统winserv...
  • powermt config是所什么用的...
给主人留下些什么吧!~~
评论热议

这篇关于制作交叉工具链(龙芯)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/923257

相关文章

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

超强的截图工具:PixPin

你是否还在为寻找一款功能强大、操作简便的截图工具而烦恼?市面上那么多工具,常常让人无从选择。今天,想给大家安利一款神器——PixPin,一款真正解放双手的截图工具。 想象一下,你只需要按下快捷键就能轻松完成多种截图任务,还能快速编辑、标注甚至保存多种格式的图片。这款工具能满足这些需求吗? PixPin不仅支持全屏、窗口、区域截图等基础功能,它还可以进行延时截图,让你捕捉到每个关键画面。不仅如此

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:中(人物移动、跳起、静止动作)

上回我们学到创建一个地形和一个人物,今天我们实现一下人物实现移动和跳起,依次点击,我们准备创建一个C#文件 创建好我们点击进去,就会跳转到我们的Vision Studio,然后输入这些代码 using UnityEngine;public class Move : MonoBehaviour // 定义一个名为Move的类,继承自MonoBehaviour{private Rigidbo

PR曲线——一个更敏感的性能评估工具

在不均衡数据集的情况下,精确率-召回率(Precision-Recall, PR)曲线是一种非常有用的工具,因为它提供了比传统的ROC曲线更准确的性能评估。以下是PR曲线在不均衡数据情况下的一些作用: 关注少数类:在不均衡数据集中,少数类的样本数量远少于多数类。PR曲线通过关注少数类(通常是正类)的性能来弥补这一点,因为它直接评估模型在识别正类方面的能力。 精确率与召回率的平衡:精确率(Pr

husky 工具配置代码检查工作流:提交代码至仓库前做代码检查

提示:这篇博客以我前两篇博客作为先修知识,请大家先去看看我前两篇博客 博客指路:前端 ESlint 代码规范及修复代码规范错误-CSDN博客前端 Vue3 项目开发—— ESLint & prettier 配置代码风格-CSDN博客 husky 工具配置代码检查工作流的作用 在工作中,我们经常需要将写好的代码提交至代码仓库 但是由于程序员疏忽而将不规范的代码提交至仓库,显然是不合理的 所

10个好用的AI写作工具【亲测免费】

1. 光速写作 传送入口:http://u3v.cn/6hXWYa AI打工神器,一键生成文章&ppt 2. 讯飞写作 传送入口:http://m6z.cn/5ODiSw 3. 讯飞绘文 传送入口:https://turbodesk.xfyun.cn/?channelid=gj3 4. AI排版助手 传送入口:http://m6z.cn/6ppnPn 5. Kim

分享5款免费录屏的工具,搞定网课不怕错过!

虽然现在学生们不怎么上网课, 但是对于上班族或者是没有办法到学校参加课程的人来说,网课还是很重要的,今天,我就来跟大家分享一下我用过的几款录屏软件=,看看它们在录制网课时的表现如何。 福昕录屏大师 网址:https://www.foxitsoftware.cn/REC/ 这款软件给我的第一印象就是界面简洁,操作起来很直观。它支持全屏录制,也支持区域录制,这对于我这种需要同时录制PPT和老师讲

生信圆桌x生信分析平台:助力生物信息学研究的综合工具

介绍 少走弯路,高效分析;了解生信云,访问 【生信圆桌x生信专用云服务器】 : www.tebteb.cc 生物信息学的迅速发展催生了众多生信分析平台,这些平台通过集成各种生物信息学工具和算法,极大地简化了数据处理和分析流程,使研究人员能够更高效地从海量生物数据中提取有价值的信息。这些平台通常具备友好的用户界面和强大的计算能力,支持不同类型的生物数据分析,如基因组、转录组、蛋白质组等。

IntelliJ IDEA - 强大的编程工具

哪个编程工具让你的工作效率翻倍? 在日益繁忙的工作环境中,选择合适的编程工具已成为提升开发者工作效率的关键。不同的工具能够帮助我们简化代码编写、自动化任务、提升调试速度,甚至让团队协作更加顺畅。那么,哪款编程工具让你的工作效率翻倍?是智能的代码编辑器,强大的版本控制工具,还是那些让你事半功倍的自动化脚本?在这里我推荐一款好用的编程工具:IntelliJ IDEA。 方向一:工具介绍 Int