當前位置:首頁 » 編程軟體 » 編譯arm版本的向日葵

編譯arm版本的向日葵

發布時間: 2022-03-06 10:08:32

❶ 求助 怎麼把makefile文件中的編譯方法換成arm-linux-的編譯方法 把該換的地方都換了 還是老提示錯誤

找那個CROSS_COMPILE ,這個是交叉編譯工具,修改為你編譯器存放的路徑就行了!你試試!例如:CROSS_COMPILE = arm-linux- ,且記的是"arm-linux-",在最後的「-」的後面是不能有空格的!因為編譯器在編譯的時候會自動加上gcc,g++之類的東西,這個就不用你操心了!如果你要是後面有空格,那就成」arm-linux- gcc「了,而就不是「arm-linux-gcc」了,希望樓主明白!

❷ keil4那個版本是可以編譯arm和51的

KEIL MDK是編譯ARM的,KEIL C51是編譯51單片機的。你需要編譯哪種程序,就裝那種編譯器。這兩種編譯器是可以裝一起的,MDK貌似到4.60版了,51貌似到9.00了,你在網上分別下載就可以了。

❸ keil編譯51和arm的問題,本人菜鳥。同個keil能編譯51程序又能編譯arm程序嗎如果能用哪個版本,多謝啦

可以。

例如Keil4下同時安裝PK51和MDK。新建項目選擇晶元型號時,選擇ARM類則自動切換為MDK編譯,選擇51類則自動切換為C51編譯。

❹ 編譯不同版本的linux內核對交叉編譯器arm-linux-gcc的版本有要求,但是編譯裸機程序對交叉編譯器有要求嗎

內核與gcc是在同步發展,有些新特性就要用新的編譯器,兩個相差不是太久就行了

❺ android ndk編譯arm-linux平台可執行程序

既然是移植就不能再用原來的Android ndk進行編譯了吧,不能圖省事啊,要移植當然要換編譯環境重新編譯,Android ndk編譯不出arm-linux程序的,要重新寫Makefile也沒辦法呀,還是交叉編譯吧。

❻ linux各個內核版本與交叉編譯器版本的對應問題。這個是怎麼對應的。我怎麼知道我的內核需要那個編譯器。

一般來說越新的內核用越新的交叉編譯器,你不用知道怎麼選擇,網上都有大量的現成例子,你這個3.4.1和4.4.3 都跳了一個重大改版了,也許你這個3.4.1隻能編譯通過2.4.xxx的內核,交叉編譯器在編譯的時候涉及到對一些代碼的優化,2.4內核 和2.6內核差了很多,這個你也知道!

❼ 用arm-elf-tools來搭建交叉式編譯的uclinux環境,arm-elf-tools只能夠支持2.4版本的內核,

arm-elf-tools只能夠支持2.4版本的內核是指你目標板要運行的系統的內核版本,與你PC機或虛擬機的系統內核版本無關,你最終是用搭建的編譯器來交叉編譯內核版本,能否搭建成功主要看PC系統的gcc版本以及相關的lib是否都滿足。

❽ 一個版本的arm-liunx-gcc 可以通用嗎

是通用的,對於不同的ARM體系,是通過設置不同的編譯選項來設置的。arm11比arm增加了一些指令集。
比如ARM9可以設置 --march=armv4t --mcpu=arm920t
ARM11可以設置 --march=armv6 --mcpu=arm1176jz-s

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

,需要必須有足夠動經驗來支持。
另外,用 RH9 的都是高手,我想你的知識不需要來提問了吧?

1、在 PC 上編譯 arm 的程序當然需要較差編譯器,這個需要自己安裝,或者著現成的交叉編譯器環境,一般是一個特殊參數編譯出來的 gcc + binutils + glibc + linux-header。這個每個人動環境不同,一般都需要自己編譯一個,當然沒有特殊需求,也可以找現成的。不過很難找,因為這套環境還要和你動系統搭配,不然環境不匹配,連這個環境都不能運行,那就更談不上編譯東西了。
有關自己編譯搭建交叉編譯環境,可以看看一個特殊的 Linux 發行版 LFS 的分支: CLFS 。

2、移植分很多意思,移植有可能就意味著這套源代碼不能在目標系統上面編譯,需要你根據相應的知識去修改源代碼來讓這套代碼適應目標編譯器的要求,比如源代碼有 SSE4 的優化,這套程序在非 SSE4 CPU 上無法編譯運行,但目標機器連 SSE1 都不支持。那麼就需要移植。
或者移植僅僅是根據新的環境進行編譯,不需要進行源代碼修改,只需要進行一下編譯就能運行的程序,也可以稱為移植,就是從一個環境、架構 -》另一個環境、架構。都可以稱為移植,但真正的移植意味著修改程序源代碼來適應新環境。你說的這種移植是最簡單的移植。

3、決定目標硬體環境 -》搭建目標編譯器 -》製作目標環境(內核,基礎軟體庫)-》進行應用移植(移植需要的軟體、主應用程序)-》搭建系統文件系統 -》導入目標系統-》啟動目標系統&應用。說起來很簡單,因為這是完全沒有問題的條件下。
至於超級終端。那是用來控制目標系統的。目標系統有可能不能插鍵盤滑鼠顯示器,這就需要一個遠程網路鏈接來進行控制。以及通過遠程鏈接來發送數據。這都需要終端的支持。

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

至於用 socket ,我還沒見到你的目標需要這個東西,因為所有的東西都是現成的源代碼。不需要你從 0 開始寫,當然你想自己寫一個系統內核,或者伺服器程序,或者全套的系統+應用,我絕對不攔你,但希望你寫完這套東西,能把源代碼發布出來。
ads 可以認為是一個支持環境,他本身不是一個系統的開發 SDK 。
-------------------------------------
ads 沒用過,印象里他還有模擬器,調試器什麼的程序。功能上要比 Linux 開發環境,WinCE 環境下面的東西更多更偏向於硬體方面,畢竟 ads 是 arm 出品的,不太可能偏向於軟體部分設計。Linux 和 WinCE 都是系統而不是硬體工具。

你可以認為交叉編譯器是一個應用程序,一個輸出器。把源代碼輸出為 arm 的代碼,這個應用程序的輸出,是靠他自己的環境,而不是當前系統的環境的。
當前系統的各個軟體的版本,不能影響交叉編譯器輸出的環境(理論上,現實有的時候總是從別的地方給你打擊……),交叉編譯器一般至少有 gcc 、binutils 、glibc 庫、linux kernel 頭文件。

在軟體需求上。
頭文件誰都不依賴,glibc 只需要內核頭文件,其他程序全都依賴於 glibc 。也就是所有程序都不依賴內核,僅僅是依賴於內核頭文件。

gcc 和 binutils 是把程序源代碼根據上面各個環節的需提供的功能來輸出為上面環節裡面的二進製程序。依賴你當前環境的,只有 gcc 和 binutils 兩個程序的執行、控制環節。只有他們兩個依賴的,而不是你的交叉編譯後的程序。

至於編譯器版本的選擇,新版本功能更好,舊版本兼容更好。
這個要看你的實際需要了。應用程序源代碼也調編譯器的,同時也依賴於軟體庫的功能。

arm 開發建議穩定、兼容優先。當然也可以嘗試最新的編譯環境,來獲取更好的優化(前提是還有什麼代碼優化的話)。
另外,團IDC網上有許多產品團購,便宜有口碑

熱點內容
下載了怎麼解壓 發布:2025-01-20 20:55:22 瀏覽:179
c語言第八章答案 發布:2025-01-20 20:55:17 瀏覽:696
安卓主題壁紙怎麼換回來 發布:2025-01-20 20:54:03 瀏覽:626
免費雲存儲排行榜 發布:2025-01-20 20:48:39 瀏覽:231
訪問農信 發布:2025-01-20 20:47:06 瀏覽:2
用什麼循環編譯時間短 發布:2025-01-20 20:46:55 瀏覽:687
醫院his源碼 發布:2025-01-20 20:43:06 瀏覽:983
資料庫結構原理 發布:2025-01-20 20:35:39 瀏覽:9
mysql主從搭建伺服器配置 發布:2025-01-20 20:33:06 瀏覽:11
安卓微信緩存設置在sd卡 發布:2025-01-20 20:26:01 瀏覽:750