一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux:制作mipsel 交叉工具鏈 (更新版)

如意 ? 來源:CSDN ? 作者:CaspianSea ? 2020-06-23 08:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.代碼結(jié)構(gòu)為:

setup ---》 源代碼壓縮包

src ---》源碼

~/code/cross-compile$ ls src/

binutils-2.24 gcc-4.7.1 gdb-7.6.2 glibc-2.18

build --》 編譯目錄

:~/code/cross-compile$ ls build/

binutils gcc gdb glibc

kernel ----》 內(nèi)核代碼:

~/code/cross-compile/kernel$ ls

linux-3.10

2.編譯 binutils

在build/binutils 下,執(zhí)行命令:

。./。./src/binutils-2.24/configure --target=mipsel-linux-gnueabi --prefix=/home/charles/code/cross-compile/embedded-toolchain/cross-tools --with-sysroot=/home/charles/code/cross-compile/embedded-toolchain

然后,執(zhí)行 make, make install 安裝

3. 編譯 GCC stage 1

在 build/gcc目錄下,執(zhí)行

AR=ar LDFLAGS=“-Wl,-rpath=/home/charles/code/cross-compile/embedded-toolchain/cross-tools/lib” 。./。./src/gcc-4.7.1/configure --prefix=/home/charles/code/cross-compile/embedded-toolchain/cross-tools --target=mipsel-linux-gnueabi --with-sysroot=/home/charles/code/cross-compile/embedded-toolchain --with-gmp=/usr/local --with-mpfr=/usr/local --with-ppl=/usr/local --with-newlib --without-headers --disable-multilib --disable-nls --disable-decimal-float --disable-libgomp --disable-libmudflap --disable-libssp --disable-shared --disable-threads --enable-languages=c --with-float=soft --with-arch=mips32r2 --with-tune=mips32r2

然后,

make all-gcc all-target-libgcc

make install-gcc install-target-libgcc

4. 安裝內(nèi)核頭文件

進入到內(nèi)核代碼目錄,

執(zhí)行命令:

ARCH=mips make mrproper

ARCH=mips make headers_check

ARCH=mips CROSS_COMPILE=mipsel-gcc-linux-gnueabi make INSTALL_HDR_PATH=/home/charles/code/cross-compile/embedded-toolchain/usr headers_install

find /home/charles/code/cross-compile/embedded-toolchain/usr/include/ -name “.install” -or -name “。.install.cmd” | xargs rm -fv ;\

5. 編譯 GLIBC

進入到 build/glibc,執(zhí)行

BUILD_CC=gcc CC=mipsel-linux-gnueabi-gcc AR=mipsel-linux-gnueabi-ar RANLIB=mipsel-linux-gnueabi-ranlib 。./。./src/glibc-2.18/configure --prefix=/usr --host=mipsel-linux --enable-add-ons --with-fp=no libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes libc_cv_ctors_header=yes --with-tune=mips32r2 --with-arch=mips32r2 --with-headers=/home/charles/code/cross-compile/embedded-toolchain/usr/include

把步驟3生成的mipsel gcc 加入到 path:

export PATH=$PATH:/home/charles/code/cross-compile/embedded-toolchain/cross-tools/bin

執(zhí)行

make

make install install_root=/home/charles/code/cross-compile/embedded-toolchain

6.編譯最后的GCC

AR=ar LDFLAGS=“-Wl,-rpath=/home/charles/code/cross-compile/embedded-toolchain/cross-tools/lib” 。./。./src/gcc-4.7.1/configure --prefix=/home/charles/code/cross-compile/embedded-toolchain/cross-tools --target=mipsel-linux-gnueabi --with-sysroot=/home/charles/code/cross-compile/embedded-toolchain --with-gmp=/usr/local --with-mpfr=/usr/local --with-ppl=/usr/local --disable-multilib --disable-libssp --disable-nls --disable-libstdcxx-pch --with-arch=mips32r2 --with-tune=mips32r2 --enable-languages=c,c++ --with-float=soft --with-mips-plt --disable-libgomp --disable-libmudflap --enable-poison-system-directories --enable-symvers=gnu --enable-long-long --enable-threads --enable-shared --enable-lto --enable-__cxa_atexit --with-gnu-as --with-gnu-ld

再執(zhí)行

make all-gcc -j10 -i -k

make all-target-libgcc

make install-gcc

make install-target-libgcc

make

make install

最后,看一下生成的gcc的信息:

。/mipsel-linux-gnueabi-gcc -v

Using built-in specs.

COLLECT_GCC=。/mipsel-linux-gnueabi-gcc

COLLECT_LTO_WRAPPER=/home/charles/toolchain/embedded-toolchain/cross-tools/bin/。./libexec/gcc/mipsel-linux-gnueabi/4.7.1/lto-wrapper

Target: mipsel-linux-gnueabi

Configured with: 。./。./src/gcc-4.7.1/configure --prefix=/home/charles/code/cross-compile/embedded-toolchain/cross-tools --target=mipsel-linux-gnueabi --with-sysroot=/home/charles/code/cross-compile/embedded-toolchain --with-gmp=/usr/local --with-mpfr=/usr/local --with-ppl=/usr/local --disable-multilib --disable-libssp --disable-nls --disable-libstdcxx-pch --with-float=soft --with-arch=mips32r2 --with-tune=mips32r2 --enable-languages=c,c++ --with-float=soft --with-mips-plt --disable-libgomp --disable-libmudflap --enable-poison-system-directories --enable-symvers=gnu --enable-long-long --enable-threads --enable-shared --enable-lto --enable-__cxa_atexit --with-gnu-as --with-gnu-ld

Thread model: posix

gcc version 4.7.1 (GCC)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11511

    瀏覽量

    213796
  • 開發(fā)工具鏈
    +關(guān)注

    關(guān)注

    0

    文章

    22

    瀏覽量

    1717
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    IAR發(fā)布RISC-V開發(fā)工具v3.40.1版本

    近期,IAR重磅發(fā)布其旗艦產(chǎn)品——RISC-V開發(fā)工具的全新版本v3.40.1,全面提升了在性能、安全性及自動化方面的能力。此次重大更新將進一步助力汽車、工業(yè)、醫(yī)療及物聯(lián)網(wǎng)等行業(yè)打造
    的頭像 發(fā)表于 06-25 14:16 ?569次閱讀

    IAR發(fā)布Arm開發(fā)工具v9.70.1版本

    近期,IAR重磅發(fā)布其旗艦產(chǎn)品——Arm開發(fā)工具的全新版本v9.70.1,全面提升了在性能、安全性及自動化方面的能力。此次重大更新將進一步助力汽車、工業(yè)、醫(yī)療及物聯(lián)網(wǎng)等行業(yè)打造更敏捷
    的頭像 發(fā)表于 06-25 14:12 ?493次閱讀

    IAR開發(fā)平臺升級Arm和RISC-V開發(fā)工具,加速現(xiàn)代嵌入式系統(tǒng)開發(fā)

    IAR正式發(fā)布其旗艦產(chǎn)品的重大更新版本:Arm開發(fā)工具v9.70和RISC-V開發(fā)工具v3.40。
    的頭像 發(fā)表于 06-11 14:28 ?299次閱讀

    前端開發(fā)中依賴包有問題怎么辦

    的 GitHub issue,可能已經(jīng)有解決方案或臨時解決辦法。 2. 更新依賴 : 檢查是否有該包的更新版本,更新可能已經(jīng)修復(fù)了這個問題。 使用 npm update package-name 或 pnpm
    的頭像 發(fā)表于 06-10 11:31 ?95次閱讀

    谷歌推出Gemini 2.5 Pro預(yù)覽版(I/O版本)

    我們目睹了開發(fā)者使用 Gemini 2.5 Pro 取得了令人贊嘆的成就。因此,我們決定提前數(shù)周發(fā)布更新版本,以便開發(fā)者盡早體驗新版模型。
    的頭像 發(fā)表于 06-10 10:43 ?470次閱讀

    不借助Linux系統(tǒng),在Windows下如何搭建ZMC900E交叉編譯環(huán)境

    不需要依賴笨重的虛擬機,也不需要安裝雙系統(tǒng)。拋開繁瑣的環(huán)境準備,在Windows上輕松搭建交叉編譯環(huán)境。本文將介紹如何在Windows上搭建交叉編譯環(huán)境,不借助Linux系統(tǒng),直接進行交叉
    的頭像 發(fā)表于 05-21 11:34 ?241次閱讀
    不借助<b class='flag-5'>Linux</b>系統(tǒng),在Windows下如何搭建ZMC900E<b class='flag-5'>交叉</b>編譯環(huán)境

    龍芯2K0300開發(fā)板軟件資料-新世界更新

    工具版本為gcc13.3。 優(yōu)化內(nèi)容: 1、提供搭建好環(huán)境的虛擬機ubuntu24.04。 2、修復(fù)I2C數(shù)據(jù)異常報錯和音頻功能效果提升。 3、優(yōu)化出廠系統(tǒng)Qt界面。 4、更新出廠系統(tǒng)
    發(fā)表于 04-22 14:16

    ubuntu24.04上安裝gcc工具出現(xiàn)報錯怎么解決?

    虛擬機安裝的ubuntu24.04.1,默認gcc版本13,從芯來官網(wǎng)下載了對應(yīng)的gcc版本的工具,到最后編譯報錯: riscv64-unknown-linux-gnu-gcc: fatal
    發(fā)表于 03-07 12:39

    MES工具更新信息 01/2025

    新年伊始,我們很高興為您帶來最新的MES工具更新。MXAM、MoRe和MQC的最新版本已經(jīng)為您下載安裝做好了準備。 下面列出了工具亮點的簡要概述和發(fā)行說明。同時也歡迎您查看我們的新功
    的頭像 發(fā)表于 02-20 16:28 ?562次閱讀
    MES<b class='flag-5'>工具</b><b class='flag-5'>更新</b>信息 01/2025

    MES工具更新信息 04/2024

    我們剛剛發(fā)布了最新的MES模賽思工具更新。MXAM、MoRe和MQC的最新版本已經(jīng)為您下載安裝做好了準備。 下面列出了工具亮點的簡要概述和發(fā)行說明。同時也歡迎您前往官網(wǎng)查看我們的新功能
    的頭像 發(fā)表于 11-13 14:46 ?656次閱讀
    MES<b class='flag-5'>工具</b><b class='flag-5'>更新</b>信息 04/2024

    RISC-V 工具簡介

    一、概述 “工具”是英文“toolchain”的翻譯,它指輔助開發(fā)者完成程序開發(fā)、調(diào)試、性能分析調(diào)優(yōu)等開發(fā)優(yōu)化行為的一系列工具集合。它一般包含編譯器、匯編器、鏈接器、調(diào)試器、模擬器等基礎(chǔ)工具
    發(fā)表于 10-25 22:59

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)環(huán)境搭建之交叉編譯

    不同的cpu的對應(yīng)的可執(zhí)行的二進制文件。交叉編譯安裝建立交叉編譯環(huán)境又可分為安裝SDK(其中包含了交叉編譯工具
    發(fā)表于 09-30 09:36

    飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)環(huán)境搭建之交叉編譯

    不同的cpu的對應(yīng)的可執(zhí)行的二進制文件。交叉編譯安裝建立交叉編譯環(huán)境又可分為安裝SDK(其中包含了交叉編譯工具
    發(fā)表于 09-29 09:51

    【飛凌嵌入式OK3576-C開發(fā)板體驗】應(yīng)用編譯運行

    源碼需要下載的庫文件。 編譯前準備 環(huán)境說明 開發(fā)環(huán)境操作系統(tǒng):Ubuntu24.04 64 位版 交叉工具:aarch64-non-linux-gnu 開發(fā)板使用 Bootloa
    發(fā)表于 08-26 17:55

    微軟發(fā)布CrowdStrike故障恢復(fù)工具

    近期,CrowdStrike 的一次故障意外地引發(fā)了全球范圍內(nèi)約850萬臺Windows電腦的藍屏崩潰現(xiàn)象,對此,微軟迅速響應(yīng),發(fā)布了一款專用的恢復(fù)工具,并依據(jù)廣泛的IT管理員反饋,迅速迭代推出了該工具更新版本。
    的頭像 發(fā)表于 07-23 14:41 ?725次閱讀