導航:首頁 > 源碼編譯 > 自研arm編譯環境

自研arm編譯環境

發布時間:2022-02-16 02:29:25

❶ 如何建立linux下的ARM交叉編譯環境

首先安裝交叉編譯器,網路「arm-linux-gcc」就可以一個編譯器壓縮包。
把壓縮包放到linux系統中,解壓,這樣就算安裝好了交叉編譯器。
設置編譯器環境變數,具體方式網路。如打開 /etc/bash.bashrc,添加剛才安裝的編譯器路徑 export PATH=/home/。。。/4.4.3/bin:$PATH。這樣是為了方便使用,用arm-linux-gcc即可,不然既要帶全路徑/home//bin/arm-linux-gcc,這樣不方便使用。
編譯c文件。和gcc編譯相似,把gcc用arm-linu-gcc代替就是了。編譯出來的就可以放到arm上運行了。</ol>

❷ 如何在eclipse中配置arm交叉編譯環境

如何在eclipse中配置arm交叉編譯環境
我們可以想像 這里 應該被框架調用的可能性比較大了,那麼maprece 框架是怎麼分別來調用map和rece呢?
還以為分析完map就完事了,才發現這里僅僅是做了maprece 框架調用前的一些准備工作,

還是繼續分析 下 maprece 框架調用吧:

1.在 job提交 任務之後 首先由jobtrack 分發任務,

在 任務分發完成之後 ,執行 task的時候,這時 調用了 maptask 中的 runNewMapper

在這個方法中調用了 MapContextImpl, 至此 這個map 和框架就可以聯系起來了。

❸ 做ARM交叉編譯環境出現以下問題,請幫忙。。。。

你這個不是錯誤信息。

❹ 計算機平台和ARM嵌入式系統平台編譯環境的異同(越詳盡越好)

宿主機跟目標板的關系,開發ARM嵌入式,需要首先搭建一個交叉編譯的環境,這個環境就是在計算機平台上搭建的,至於使用哪個Linux操作系統,如ubuntu、fedora、red hat,這些都是關系不大的,因為這些計算機上的操作系統只是提供一個編譯環境,真正的角色是交叉編譯的工具鏈的搭建。萬事俱備後,就可以通過FTP NFS TFTP 等向ARM目標板下載編譯後的執行文件或者下載文件到這上面。就這個關系!

❺ keil arm的編譯環境 疑問

「換了幾台筆記本了,最終效果都是一樣」,是什麼效果一樣?跟你的那個一樣還是跟你同事的那個一樣?換筆記本時,keil都是重新裝的嗎?

既然你確定「優化選項」是一樣的,那就把keil卸了重裝吧,最好用最新版本的。

keil環境挺簡單的,基本不用動什麼的。你用jlink之類的進行跟蹤了嗎?我有點懷疑是你的一些地址寫錯了。

❻ arm-linux 交叉編譯環境的建立,希望有清楚的人解答,復制的閃人

是這樣子的,計算機linux中原有的gcc是針對通用的X86等處理器而言的,編譯出來的可執行文件是只能在通用計算機上運行的,arm也是一種處理器,只不過其指令等和X86等CPU不同,所以需要有針對arm的編譯器來編譯源程序,才能在arm中運行。
我在arm9下做過linux,qt編程,需要先在PC上安裝linux,然後安裝arm-linux-gcc,同時為了可以使用arm-linux-gcc來編譯程序,需要指定環境變數,這個可以在.profile等文件中進行更改,具體辦法你查一下就知道了。或者使用export命令在終端中設置環境變數。兩種方法的結果有區別哦!
你想用2440的開發板的話就是arm9了,我還沒找到arm9的模擬工具,但是網上已經有arm7的模擬工具。
對於arm-linux-gcc,只要你安裝好並設置好了路徑(環境變數)後,在一個終端中輸入#arm-linux-gcc -v
那麼你一般可以看到你安裝的arm-linux-gcc 版本信息,到此你就可以使用它編譯你的源程序,然後將生成的可執行文件下載到arm開發板中就可以運行了。
還有什麼問題再說吧,我也是一個人摸索出來的,估計摸索了一個月才成功的在arm上運行了第一個自己的qt圖形界面程序,祝你好運!
我的建議:
一、熟悉linux 的各種操作命令(如export)
二、學會怎麼下載可執行文件到arm中
三、學會用pc控制arm上的linux

我只用過arm-linux-gcc,在你的安裝文件夾下可以找到

❼ 為什麼對arm進行裸機開發的時候不需要交叉編譯環境,而進行linux移植的時候就需要呢

交叉編譯只是用arm-linux-gcc,為什麼要用這個編譯器,因為Linux系統是用這個編譯的,你想運行在linux平台運用程序,必須和系統是同一個版本的編譯器。不是同一個版本都不能運行。
邏輯開發你也可以用gcc編譯器啊,同樣可以編譯出bin文件,同樣可以運行。
我們平時用的都是IDE,說白了就是在gcc的基礎上加了簡單容易操作的窗口,像添加斷電、查看運行狀態,這些在gcc下也是可以實現的,調試工具叫gdb。

❽ 如何安裝arm-liunx交叉編譯環境

sh ./arm-elf-tools-20040427.sh安裝
----------------------------------------------
一、准備工作

首先需要一台運行Linux操作系統的PC以完成我們的編譯工作。

其次要准備如下一些源文件。

1、源文件准備

binutils-2.14.tar.gz

ftp://ftp.gnu.org/gnu/binutils/binutils-2.14.tar.gz

gcc-core-2.95.3.tar.gz

ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3/gcc-core-2.95.3.tar.gz

gcc-g++2.95.3.tar.gz

ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3/gcc-g++-2.95.3.tar.gz

glibc-2.2.4.tar.gz

ftp://ftp.gnu.org/gnu/glibc/glibc-2.2.4.tar.gz

glibc-linuxthreads-2.2.4.tar.gz

ftp://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.2.4.tar.gz

linux-2.4.21.tar.gz

ftp://ftp.kernle.org/pub/linux/kernel/v2.4/linux-2.4.21.tar.gz

patch-2.4.21-rmk1.gz # linux kernel patch for arm

ftp://ftp.arm.linux.org.uk/pub/linux/arm/kernel/v2.4/patch-2.4.21-rmk1.gz

binutils-2.14.tar.gz這個壓縮包包含有ld,ar,as等一些產生或者處理二進制文件的工具。

gcc-core-2.95.3.tar.gz這個壓縮包是GCC的主體部分,GCC是GNU Compiler Collection的簡稱,顧名思義,它能夠編譯很多種高級語言,例如C、C++,Java等,而這個壓縮包中含有C編譯器,及公共部分,而對其他語言的支持,採用另外的壓縮包單獨發布。

gcc-g++2.95.3.tar.gz,這個壓縮包就是為使GCC能夠編譯C++程序而單獨發布的。

glibc-2.2.4.tar.gz,libc是很多用戶層應用都要用到的庫,kernel和bootloader不需要這個庫的支持,這個庫主體部分封裝在這個壓縮包內。

glibc-linuxthreads-2.2.4.tar.gz,這是Libc用於支持Posix線程而單獨發布的一個壓縮包。

linux-2.4.21.tar.gz,這個壓縮包就是Linux的內核。

patch-2.4.21-rmk1.gz,這個壓縮包是用來給Linux內核打補丁,以使其可以支持ARM的硬體平台。

2、工作目錄搭建

我們創建如下的目錄樹結構

mkdir arm

mkdir tool-chain

mkdir build-dir

mkdir src-dir

mkdir setup-dir

mkdir kernel

arm這個目錄是我們的最頂層工作目錄,我們所有的編譯工作都在這里完成。

tool-chain這個目錄是我們交叉編譯工具的安裝位置,它下面的bin子目錄存放我們創建好的編譯器,匯編器,連接器,以及編譯好的C庫也會安裝到這個目錄之下。

setup-dir這個目錄用來存放我們下載的壓縮包。

src-dir這個目錄用於存放binutils,gcc,glibc解壓之後的源文件。

kernel這個目錄用來存放內核文件,對內核的配置、編譯工作將在這個目錄中完成。

build-dir用來編譯src-dir中的源文件,具體就是binutils,gcc,glibc的編譯工作將在這個目錄下完成。這種源文件目錄和編譯目錄分離的編譯方式是GNU所推薦的。

cd ./src-dir

tar –xvzf ../setup-dir/ binutils-2.14.tar.gz

tar –xvzf ../setup-dir/ gcc-core-2.95.3.tar.gz

tar –xvzf ../setup-dir/ glibc-2.2.4.tar.gz

tar –xvzf ../setup-dir/ glibc-linuxthreads-2.2.4.tar.gz –directory=./glibc-2.2.4

這樣我們在src-dir目錄下就形成了3個源文件目錄binutils-2.14,gcc-core-2.95,3,glibc-2.2.4,其中分別存放著binutils tools,gcc,glibc的源代碼。接下來我們到build-dir中創建3個與這三個源文件目錄對應的編譯目錄。

cd ../build-dir

mkdir ../build-dir/build-binutils

mkdir ../build-dir/build-gcc

mkdir ../build-dir/build-glibc

我們將在這三個目錄中完成對binutils tools, gcc, glibc的配置和編譯工作。下面還要把內核文件解壓到kernel目錄下,並打補丁。

cd ../kernel

tar –xvzf ../setup-dir/ linux-2.4.21.tar.gz

cd ./linux-2.4.21

patch –p1 < ../../setup-dir/ patch-2.4.21-rmk1

二、開始創建

1、 確定幾個系統變數

cd ../../

export TARGET=arm-linux

export PREFIX=../arm/tool-chain

export TARGET_PREFIX=$PREFIX/$TARGET

export KERNEL_SOURCE_LOCATION=../arm/kernel/linux-2.4.21

export PATH=$PREFIX/bin:$PATH

幾個系統變數經常要用到,TARGET定義了目標機,PREFIX是工具鏈的安裝目錄,KERNEL_SOURCE_LOCATION是內核文件位置。

TARGET這個變數對於ARM體系的目標機來說取值為arm-linux,對於其他體系結構的機器如ppc,mips的取值的詳細清單可以參見glibc目錄下的INSTALL文檔.

2、 創建binutils

運行如下命令來創建binutils

cd ./build-dir/build-binutils

configure ../../src-dir/binutils-2.14/configure –target=$TARGET –prefix=$PREFIX

make

make install

這時$PREFIX/bin下創建了一些文件,包括arm-linux-ld,arm-linux-as等。

3、 編譯內核

cd ../../kernel/linux-2.4.21

改Makefile文件使

ARCH = arm

CROSS_COMPILE=arm-linux-

make menuconfig

在System Types中選擇正確的硬體類型

make dep

之後執行如下操作

mkdir $TARGET_PREFIX/include

cp dR $KERNEL_SOURCE_LOCATION/include/arm-asm \

RGET_PREFIX/include/asm

cp dR $KERNEL_SOURCE_LOCATION/include/linux \

RGET_PREFIX/include/linux

4、 創建boot-trap gcc,這個GCC沒有glibc庫的支持,所以只能用於編譯內核,bootloader等,後面創建C庫也要用到這個編譯器,所以創建它主要是為創建C庫做准備,如果只想編譯內核和bootloader那麼,就可以到此結束。

cd ../../build-dir/build-gcc

../../src-dir/gcc-2.95.3/configure –target=$TARGET –prefix=$PREFIX \

--with-headers=$ERNEL_SOURCE_LOCATION/include –enable-language=c \

--disable-threads

然後修改src-dir/gcc-2.95.3/gcc/config/arm/t-linux文件,在

TARGET_LIBGCC2_CFLAGS中添加如下兩個定義

-Dinhibit-libc –D__gthr_posix_h

make

make install

這時$PREFIX/bin下創建了一些文件,主要創建了arm-linux-gcc。

5、 創建gblic

cd ../build-glibc

export CC=arm-linux-gcc

../../src-dir/glibc-2.2.4/configure –host=$TARGET –prefix=$TARGET_PREFIX \

--enable-add-ons

make

make install

將glibc庫安裝完之後,我們要到$TARGET_PREFIX/lib這個目錄下修改libc.so文件,將其中

GROUP(/lib/libc.so.6 /lib/libc_noshared.a)

這個命令腳本中的/lib 的絕對路徑去掉, 也就是改為如下的形式

GROUP(libc.so.6 libc_noshared.a)

這樣下一步創建完整的編譯器時,才不至於導致錯誤.

6、 創建功能健全的GCC,並創建G++

在成功創建了libc之後,我們就可以創建功能豐富的GCC編譯器了,並且可以創建支持編譯C++程序的G++。

cd ../../src-dir

tar –xvzf ../setup-dir/ gcc-g++2.95.3.tar.gz

cd ../build-dir/build-gcc

export CC=gcc

../../src-dir/gcc-2.95.3/configure –target=$TARGET –prefix=$PREFIX \

–enable-language=c,c++

然後修改src-dir/gcc-2.95.3/gcc/config/arm/t-linux文件,在

TARGET_LIBGCC2_CFLAGS中去除如下兩個定義

-Dinhibit-libc –D__gthr_posix_h

make

make install

7,至此我們成功的創建了ARM Linux的交叉編譯工具。

------------------------------------------------------
可以去www.arm16.com看看

❾ 自己製作 arm-linux 交叉編譯環境 ,為什麼沒有生成version.h和autoconf.h

using defaults found in /boot/config-2.6.32-21-generi

很顯然,make menuconfig的時候去/boot下面找的系統默認配置文件,沒有使用工作目錄下的配置文件。
將/boot下所有的文件先備份一下,然後刪除所有的 *config* 文件試試

❿ 搭建arm的交叉編譯環境需要哪些文件

這個過程如下 1. 下載源文件、補丁和建立編譯的目錄 2. 建立內核頭文件 3. 建立二進制工具(binutils) 4. 建立初始編譯器(bootstrap gcc) 5. 建立c庫(glibc) 6. 建立全套編譯器(full gcc) 下載源文件、補丁和建立編譯的目錄

閱讀全文

與自研arm編譯環境相關的資料

熱點內容
大眾安卓大屏如何顯示原車信息 瀏覽:547
紙質電話數據加密法 瀏覽:172
linux彈出光碟命令 瀏覽:258
java加密jar包防止反編譯 瀏覽:397
redhatlinux安裝mysql 瀏覽:691
怎麼把word和ppt放在一個文件夾 瀏覽:139
pdf優化器 瀏覽:131
剪力牆柱鋼筋搭接需要加密嗎 瀏覽:873
螢石雲加密視頻怎麼播放 瀏覽:983
winar如何壓縮內存佔小 瀏覽:727
哪裡有大的解壓軟體 瀏覽:583
一個雲伺服器如何放多個網站 瀏覽:326
圓柱體重計演算法 瀏覽:234
谷歌伺服器解析地址 瀏覽:701
應屆畢業生程序員實習期怎麼過 瀏覽:708
板石樓梯計演算法 瀏覽:437
swift開發pdf 瀏覽:295
ideajava編譯版本 瀏覽:966
邁普交換機常用命令 瀏覽:181
刪除創建的文件夾命令 瀏覽:185