當前位置:首頁 » 編程軟體 » 不需要交叉編譯

不需要交叉編譯

發布時間: 2024-02-08 05:42:55

1. 嵌入式交叉開發環境組成是怎樣的嵌入式系統開發為什麼需要這樣的交叉開發環境而通用計算機的開發不需要

所謂交叉編譯,就是在一種機器結構下編譯的軟體將在另一種完全不同的機器上運行。典型的交叉編譯的例子就是嵌入式系統工程師在自己的個人電腦上編譯後的程序將在ARM,MIPS等等嵌入式工作平台上運行。所以,嵌入式交叉開發環境一般將由個人電腦,PC端嵌入式開發軟體(如支持ARM的mdk,ads,rvds等等),支持硬體調試的硬體調試器及其配套的驅動軟體(如j-link),當然,最重要的還要有嵌入式硬體系統即通俗所謂的開發板。
嵌入式系統之所以要在通用計算機上開發,我想主要還是資源配置的問題,按嵌入式系統的定義,嵌入式系統的軟硬體將是可剪裁的以適用於各種不同的要求。這樣的話,由於硬體平台千差萬別,開發其編譯器將變得不可能,即便開發出來,可能也需要及其繁瑣的配置,大大降低了軟體的可用性。另外就是使用也不方便,大多數嵌入式系統不會配備像PC機一樣適於輸入的鍵盤和較大的屏幕,所以,如果在嵌入式系統上敲代碼,將是一件非常惱火的事情。

2. 如何解決linux下編譯環境,運行環境不同的問題

基於Linux操作系統的應用開發環境一般是由目標系統硬體(開發板)和宿主PC機所構成。目標硬體開發板用於運行操作系統和系統應用軟體,而目標板所用到的操作系統的內核編譯、應用程序的開發和調試則需要通過宿主PC機來完成(所以稱為交叉編譯)。雙方之間一般通過串口,並口或乙太網介面建立連接關系。
但在此我建議構建如下的交叉編譯環境,適合個人或研發小組使用:單獨拿出一台PC機(PII以上即可,就用以前淘汰的舊機器就可以),在該PC上安裝桌面的Linux操作系統(如Red Hat Linux 8.0及以上),可以採用默認的安裝選項(注意要包含ftp服務),這台PC作為Linux伺服器,除管理員以外,一般不直接讓其他人去操作。
將該Linux伺服器接入區域網,並新建一些合法用戶,以便其他的PC機(在此我們將其稱為工作站)的合法用戶能訪問到Linux伺服器。而其他的PC機(工作站)仍然使用Windows操作系統,原來幹啥繼續幹啥。
需要的軟體工具包括:
1、FTP客戶端程序(如Cuteftp,可到網上下載)。
2、Telnet工具(如SecureCRT,可到網上下載)。
3、移植到某一特定ARM平台的Linux操作系統內核源碼(一般由銷售商整理提供)。
4、GNU編譯工具,可由相關網站下載,或由銷售商整理提供。
在工作站安裝:
在某工作站PC上安裝FTP客戶端程序和Telnet工具,安裝完畢後應該可以在該工作站PC和Linux伺服器之間進行文件的傳輸,並在工作站PC可以通過Telnet登陸到Linux伺服器(可能需要將Linux伺服器的防火牆服務關閉才能完成)。
在Linux伺服器安裝:
將工作站PC上的Linux操作系統內核源碼壓縮包和GNU編譯工具通過FTP傳送到Linux伺服器的某個目錄(如合法的用戶目錄),然後在該目錄下解壓,並將GNU編譯工具安裝到默認的工作目錄即可,以上工作通過在工作站PC使用Telnet工具完成,而不需要在Linux伺服器上進行。
Linux操作系統內核的編譯:
Linux操作系統內核的編譯一般有一個比較固定的步驟,會根據MakeFile文件的不同而略有差異,可參考相關文檔,編譯的工作在工作站PC使用Telnet工具完成。

3. gcc和交叉編譯工具生成的可執行文件有什麼不同

可執行文件的目標平台不一樣。你說的gcc應該是指在pc上,即x86體系結構。而交叉編譯生成的應該是其他體系平台的,如ARM。只能在對應的平台上運行。

熱點內容
phpif循環 發布:2025-01-21 16:40:36 瀏覽:874
js代碼編譯器 發布:2025-01-21 16:35:47 瀏覽:180
阿特茲藍天時尚版有哪些配置 發布:2025-01-21 16:32:59 瀏覽:469
怎麼把安卓手機視頻導入蘋果ipad 發布:2025-01-21 16:10:43 瀏覽:997
c語言實現編譯器 發布:2025-01-21 16:03:19 瀏覽:392
做解壓橡皮 發布:2025-01-21 15:03:06 瀏覽:991
雙系統win訪問mac 發布:2025-01-21 14:53:52 瀏覽:485
安卓車機系統如何安裝carplay 發布:2025-01-21 14:52:24 瀏覽:590
sql操作手冊 發布:2025-01-21 14:46:08 瀏覽:312
青橙腳本 發布:2025-01-21 14:44:05 瀏覽:219