導航:首頁 > 源碼編譯 > x86編譯成arm

x86編譯成arm

發布時間:2022-09-25 05:48:00

㈠ 為什麼x86和arm的架構不同,但是都能裝linux呢,他們的編譯時如何實現的。

rm架構和x86架構區別:

一、性能:

X86結構的電腦無論如何都比ARM結構的系統在性能方面要快得多、強得多。X86的CPU隨便就是1G以上、雙核、四核大行其道,通常使用45nm(甚至更高級)製程的工藝進行生產;

而ARM方面:CPU通常是幾百兆,最近才出現1G左右的CPU,製程通常使用不到65nm製程的工藝,可以說在性能和生產工藝方面ARM根本不是X86結構系統的對手。

但ARM的優勢不在於性能強大而在於效率,ARM採用RISC流水線指令集,在完成綜合性工作方面根本就處於劣勢,而在一些任務相對固定的應用場合其優勢就能發揮得淋漓盡致。

二、擴展能力:

X86結構的電腦採用「橋」的方式與擴展設備(如:硬碟、內存等)進行連接,而且x86結構的電腦出現了近30年,其配套擴展的設備種類多、價格也比較便宜,所以x86結構的電腦能很容易進行性能擴展,如增加內存、硬碟等。

ARM結構的電腦是通過專用的數據介面使CPU與數據存儲設備進行連接,所以ARM的存儲、內存等性能擴展難以進行(一般在產品設計時已經定好其內存及數據存儲的容量),所以採用ARM結構的系統,一般不考慮擴展。基本奉行「夠用就好」的原則。

三實現編譯:

因為linux是系統,他支持現在大多數的結構體系。而要使他移植到相應的不同的硬體平台上時,需要對內核源碼進行相對應的交叉編譯處理,然後才能進行燒寫運行,因為都有驅動只要那個系統有對應平台的驅動就可以。

(1)x86編譯成arm擴展閱讀:

Linux常用命令

1、pwd命令該命令的英文解釋為print working directory(列印工作目錄)。

2、輸入pwd命令,Linux會輸出當前目錄。

3、cd命令cd命令用來改變所在目錄。

4、cd / 轉到根目錄中

5、cd ~ 轉到/home/user用戶目錄下

6、cd /usr 轉到根目錄下的usr目錄中-------------絕對路徑

7、cd test 轉到當前目錄下的test子目錄中-------相對路徑

8、cat命令可以用來合並文件,也可以用來在屏幕上顯示整個文件的內容。

9、cat snow.txt 該命令顯示文件snow.txt的內容,ctrl+D退出cat。

㈡ 什麼是ARM和x86架構

手機是arm平台,exe那是x86平台編譯出來的東西,根本沒辦法直接運行;非要運行只能裝虛擬機,但是那效率保證卡的你三分鍾就受不了。

ARM架構,曾稱進階精簡指令集機器(AdvancedRISCMachine)更早稱作Acorn RISC Machine,是一個32位精簡指令集(RISC)處理器架構。還有基於ARM設計的派生產品,重要產品包括Marvell的XScale架構和德州儀器的OMAP系列。

ARM家族佔比所有32位嵌入式處理器的75%,成為佔全世界最多數的32位架構。ARM處理器廣泛使用在嵌入式系統設計,低耗電節能,非常適用移動通訊領域。消費性電子產品,例如可攜式裝置(PDA、行動電話、多媒體播放器、掌上型電子游戲,和計算機),電腦外設(硬碟、桌上型路由器)。

x86架構歷史:

x86架構於1978年推出的Intel 8086中央處理器中首度出現,它是從Intel 8008處理器中發展而來的,而8008則是發展自Intel 4004的。8086在三年後為IBM PC所選用,之後x86便成為了個人計算機的標准平台,成為了歷來最成功的CPU架構。

其他公司也有製造x86架構的處理器,計有Cyrix(現為VIA所收購)、NEC集團、IBM、IDT以及Transmeta。Intel以外最成功的製造商為AMD,其早先產品Athlon系列處理器的市場份額僅次於IntelPentium。

8086是16位處理器;直到1985年32位的80386的開發,這個架構都維持是16位。接著一系列的處理器表示了32位架構的細微改進,推出了數種的擴充,直到2003年AMD對於這個架構發展了64位的擴充,並命名為AMD64。

後來Intel也推出了與之兼容的處理器,並命名為Intel 64。兩者一般被統稱為x86-64或x64,開創了x86的64位時代。

值得注意的是Intel早在1990年代就與HP合作提出了一種用在安騰系列處理器中的獨立的64位架構,這種架構被稱為IA-64。IA-64是一種嶄新的系統,和x86架構完全沒有相似性;不應該把它與x86-64或x64弄混。

㈢ 求助,如何讓x86匯編代碼在ARM上編譯成功

要麼是arm上用gcc的交叉編譯x86
要麼是arm上x86虛擬機下的編譯。

㈣ x86與ARM架構下的編譯器的區別

ARM是簡單指令集。。。 指令集長度短

㈤ linux x86下的程序移植到arm板子上需要做哪些

需要交叉編譯後,將編譯出的文件放到板子上執行。
交叉編譯器arm-linux-gcc或者arm-linux-g++,過程比較復雜,一時是說不清楚的。
建議多看些資料,了解一下原理

㈥ 能在x86上編譯運行在arm的交叉編譯器嗎

,在進行ARM-linux嵌入式開發時必須在PC機(x86結構)上編譯出能夠運行在ARM上的程序,然後再將程序下載到ARM中來運行.這就用到了交叉編譯器...

㈦ make menuconfig後加ARCH=arm是什麼意思,如果不加,有什麼區別

你可以看一下makefile的內容。
make menuconfig 是執行makefile裡面的menuconfig目標.
如果後面ARCH =arm CROSS_COMPILE=arm-linux-的話表明: 編譯出來的目標是針對ARM體系結構的。因為是針對ARM體系結構,所以需要使用交叉編譯器。使用CROSS_COMPILE=xxx來指定交叉編譯器。
CROSS_COMPILE=arm-linux- 意思是制定交叉編譯器為arm-linux-XXX。 如:makefile裡面會指定CC為arm-linux-gcc。

zhakalamu |五級採納率35%
擅長:編程語言嵌入式Linux

㈧ 哪位能幫忙把一段x86的匯編轉成ARM匯編

要完成你的問題,需要知道x86匯編和arm匯編,如果你的程序中用到的指令兩者都有實現,那就簡單;如果否,那就有點難。
比如x86有乘、除法指令,有些指令系統沒有,則做這樣的轉換就費勁些。

㈨ 持x86,而是win10把x86轉成arm讓8xx運行.這件事情和用什麼cpu無關.編輯於 2016-12

雖然指令集是不兼容的,但是有一個解釋器,可以 實時翻譯指令,影響的是效率而已。

㈩ x86二進制可以轉換成arm二進制么

二進制是數學概念,你應該指的是二進制的程序代碼,不同系列的處理器的二進制的程序代碼完全不一樣。二進制的程序代碼程序代碼在計算機科學里叫機器指令,沒有機器指令的編程語言;比機器指令再高級一點的是匯編指令(與機器代碼一一對應)助記符,形成匯編語言;比匯編語言再高級的常見編程語言有C,FORTRAN,basic,Pascal等等。把編寫的高級語言程序轉換成二進制的程序代碼叫編譯。目前還沒有很成功的反匯編高級語言工具。

閱讀全文

與x86編譯成arm相關的資料

熱點內容
安卓手機的游戲怎麼打開 瀏覽:198
pdf掃描轉文字 瀏覽:530
微機室裡面的雲伺服器 瀏覽:106
excel能編程嗎 瀏覽:929
android系統框架的介紹 瀏覽:945
無盤系統伺服器如何配置 瀏覽:836
背負貸款如何緩解壓力 瀏覽:82
linux獲取日期時間 瀏覽:881
搬磚問題最合適的演算法 瀏覽:446
小米安卓機密碼忘記了如何解鎖 瀏覽:910
產電plc編程手冊 瀏覽:761
vscodephp 瀏覽:535
阿里雲linux桌面 瀏覽:754
php二維數組搜索 瀏覽:116
ps快捷命令工具箱 瀏覽:253
c4d教程pdf 瀏覽:462
linux集群安裝配置 瀏覽:154
stc單片機介紹 瀏覽:902
如何解壓失戀的人 瀏覽:493
安卓微信滯後怎麼辦 瀏覽:942