av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

簡單易學的ARMLinux交叉編譯入門指南(armlinux交叉編譯)

隨著物聯(lián)網(wǎng)時代的到來,越來越多的嵌入式設備需要使用ARM處理器來支持各種功能。而針對ARM處理器的嵌入式Linux也因此日益增多。那么,如何在自己的PC機上編譯能夠運行在ARM處理器上的應用程序呢?本文將為大家介紹一些。

成都創(chuàng)新互聯(lián)服務項目包括靈寶網(wǎng)站建設、靈寶網(wǎng)站制作、靈寶網(wǎng)頁制作以及靈寶網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,靈寶網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到靈寶省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

一、交叉編譯的概念

交叉編譯是指在一個計算機架構下編譯出在另一種計算機架構上運行的程序。由于不同架構的CPU指令集不同,在源代碼完成后,在本機上直接編譯運行是無法在其他架構的CPU上運行的。

二、所需工具

Linux開發(fā)環(huán)境:本文以Ubuntu 16.04 LTS操作系統(tǒng)為例。

交叉編譯工具:本文以arm-linux-gnueabihf為例。

目標開發(fā)板:本文以樹莓派3B開發(fā)板為例,此開發(fā)板使用BCM2837芯片,內(nèi)置ARM Cortex-A53處理器。

三、配置環(huán)境

1.添加交叉編譯工具的路徑

在~/.bashrc文件中添加以下語句:

export PATH=$PATH:/usr/local/arm/arm-linux-gnueabihf/bin

2.安裝相關庫

使用以下命令進行安裝:

sudo apt-get install libncurses5-dev

sudo apt-get install gcc-arm-linux-gnueabihf

3.構建目標文件系統(tǒng)

從網(wǎng)絡上下載樹莓派官方的Raspbian系統(tǒng),使用以下命令進行解壓:

sudo dd bs=4M if=Downloads/2023-04-08-raspbian-stretch-full.img of=/dev/sdb conv=fsync

其中,/dev/sdb表示你的SD卡設備。注意:該命令會清空SD卡上的所有數(shù)據(jù),請確認后再操作。

4.編寫源代碼

編寫一段簡單的c程序,例如:

#include

int mn()

{

printf(“Hello World!\n”);

return 0;

}

5.編譯源代碼

使用以下命令進行編譯:

arm-linux-gnueabihf-gcc test.c -o test

6.傳輸文件

使用以下命令將生成的test文件傳輸至目標板:

scp test [email protected]:/home/pi

其中,192.168.1.105為目標板的IP地址,pi為目標板的用戶名。

7.在目標板執(zhí)行程序

在目標板上執(zhí)行以下命令:

./test

如能輸出”Hello World!”,則說明交叉編譯成功。

四、常用交叉編譯選項

1.使用-D選項生成預處理輸出文件

arm-linux-gnueabihf-gcc -DDEBUG test.c -o test

2.使用-l選項連接共享庫

arm-linux-gnueabihf-gcc test.c -o test -lncurses

3.使用-I選項指定頭文件目錄

arm-linux-gnueabihf-gcc test.c -I/usr/local/arm/ncurses/include/ -o test

五、小結

成都網(wǎng)站建設公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設、網(wǎng)站制作、網(wǎng)頁設計及定制高端網(wǎng)站建設服務!

arm-linux-gcc交叉編譯器的制作,以及版本選擇問題。

,需要必須有足夠動經(jīng)驗來支持。

另外,用 RH9 的都是高手,我想你的知識不需要來提問了吧?

1、在 PC 上編譯 arm 的程序當然需要較差編譯器,這個需要自己安裝,或者著現(xiàn)成的交叉編譯器環(huán)境,一般是一個特殊參數(shù)編譯出來的 gcc + binutils + glibc + linux-header。這個每個人動環(huán)境不同,一般都需要自己編譯一個,當然沒有特殊需求,也可以找現(xiàn)成的。不過很難找,因為這套環(huán)境還要和你動系統(tǒng)搭配,不然環(huán)境不匹配,連這個環(huán)境都不能運行,那就更談不上編譯東西了。

有關自己編譯搭建交叉編譯環(huán)境,可以看看一個特殊的 Linux 發(fā)行版 LFS 的分支: CLFS 。

2、移植分很多意思,移植有可能就意味著這套源代碼不能在目標系統(tǒng)上面編譯,需要你根據(jù)相應的知識去修改源代碼來讓這套代碼適應目標編譯器的要求,比如源代碼有 SSE4 的優(yōu)化,這套程序在非 SSE4 CPU 上無法編譯運行,但目標機器連 SSE1 都不支持。那么就需要移植。

或者移植僅僅是根據(jù)新的環(huán)境進行編譯,不需要進行源代碼修改,只需要進行一下編譯就能運行的程序,也可以稱為移植,就是從一個環(huán)境、架構 -》另一個環(huán)境、架構。都可以稱為移植,但真正的移植意味著修改程序源代碼來適應新環(huán)境。你說的這種移植是最簡單的移植。

3、決定目標硬件環(huán)境 -》搭建目標編譯器 -》制作目標環(huán)境(內(nèi)核,基礎軟件庫)-》進行應用移植(移植需要的軟件、主應用程序)-》搭建系統(tǒng)文件系統(tǒng) -》導入目標系統(tǒng)-》啟動目標系統(tǒng)&應用。說起來很簡單,因為這是完全沒有問題的條件下。

至于超級終端。那是用來控制目標系統(tǒng)的。目標系統(tǒng)有可能不能插鍵盤鼠標顯示器,這就需要一個遠程網(wǎng)絡鏈接來進行控制。以及通過遠程鏈接來發(fā)送數(shù)據(jù)。這都需要終端的支持。

虛擬機下面進行開發(fā),不能發(fā)揮你的計算機的性能。而且因為隔著 VMware 的軟件模擬層,可能還不會很方便的讓你鏈接目標設備。

至于用 socket ,我還沒見到你的目標需要這個東西,因為所有的東西都是現(xiàn)成的源代碼。不需要你從 0 開始寫,當然你想自己寫一個系統(tǒng)內(nèi)核,或者服務器程序,或者的系統(tǒng)+應用,我絕對不攔你,但希望你寫完這套東西,能把源代碼發(fā)布出來。

ads 可以認為是一個支持環(huán)境,他本身不是一個系統(tǒng)的開發(fā) SDK 。

ads 沒用過,印象里他還有模擬器,調(diào)試器什么的程序。功能上要比 Linux 開發(fā)環(huán)境,WinCE 環(huán)境下面的東西更多更偏向于硬件方面,畢竟 ads 是 arm 出品的,不太可能偏向于軟件部分設計。Linux 和 WinCE 都是系統(tǒng)而不是硬件工具。

你可以認為交叉編譯器是一個應用程序,一個輸出器。把源代碼輸出為 arm 的代碼,這個應用程序的輸出,是靠他自己的環(huán)境,而不是當前系統(tǒng)的環(huán)境的。

當前系統(tǒng)的各個軟件的版本,不能影響交叉編譯器輸出的環(huán)境(理論上,現(xiàn)實有的時候總是從別的地方給你打擊……),交叉編譯器一般至少有 gcc 、binutils 、glibc 庫、linux kernel 頭文件。

在軟件需求上。

頭文件誰都不依賴,glibc 只需要內(nèi)核頭文件,其他程序全都依賴于 glibc 。也就是所有程序都不依賴內(nèi)核,僅僅是依賴于內(nèi)核頭文件。

gcc 和 binutils 是把程序源代碼根據(jù)上面各個環(huán)節(jié)的需提供的功能來輸出為上面環(huán)節(jié)里面的二進制程序。依賴你當前環(huán)境的,只有 gcc 和 binutils 兩個程序的執(zhí)行、控制環(huán)節(jié)。只有他們兩個依賴的,而不是你的交叉編譯后的程序。

至于編譯器版本的選擇,新版本功能更好,舊版本兼容更好。

這個要看你的實際需要了。應用程序源代碼也調(diào)編譯器的,同時也依賴于軟件庫的功能。

arm 開發(fā)建議穩(wěn)定、兼容優(yōu)先。當然也可以嘗試最新的編譯環(huán)境,來獲取更好的優(yōu)化(前提是還有什么代碼優(yōu)化的話)。

另外,團IDC網(wǎng)上有許多產(chǎn)品團購,便宜有口碑

arm-linux-gcc-3.4.5我一直在用,之前3.3.2只能編譯2.6的內(nèi)核,不能編譯bootloader,4.3.3關于內(nèi)核,和bootloader限制不大了,都可以編譯

關于arm linux交叉編譯的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。

香港服務器選創(chuàng)新互聯(lián),香港虛擬主機被稱為香港虛擬空間/香港網(wǎng)站空間,或者簡稱香港主機/香港空間。香港虛擬主機特點是免備案空間開通就用, 創(chuàng)新互聯(lián)香港主機精選cn2+bgp線路訪問快、穩(wěn)定!


網(wǎng)頁題目:簡單易學的ARMLinux交叉編譯入門指南(armlinux交叉編譯)
分享URL:http://uogjgqi.cn/article/coidcoj.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流