www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]基于ARM的Linux系統移植研究與實現

摘要:Linux具有源代碼開放、效率高、可裁剪等優(yōu)點,在嵌入式系統的開發(fā)中具有廣泛的應用。文章介紹了嵌入式Linux操作系統、移植目標平臺SBC2410及Linux內核源代碼的目錄結構,分析了Linux移植到SBC2410平臺的實現過程,闡述了Linux內核、u-boot的裁剪和編譯以及根文件系統的制作過程,最后在SBC2410平臺上成功移植了嵌入式Linux系統。
關鍵詞:SBC2410:Linux;嵌入式系統;系統移植

0 引言
   
嵌入式系統是一個專用的計算機系統。該系統以計算機技術為基礎,軟硬件可裁減,但對功能、可靠性、成本等都有嚴格的要求。今天,一些專用系統需要處理大量的信息,由于傳統的計算機系統很難實現硬件可裁減,因而已經不能滿足專用系統的需要。伴隨著我國汽車、家電等產業(yè)的快速發(fā)展,嵌入式系統的應用與開發(fā)已成為目前IT產業(yè)的一個新的熱點?;?strong>ARM的嵌入式系統的開發(fā),首先要解決的問題是嵌入式操作系統的移植。Linux操作系統作為一種源代碼開放、同時可支持多種處理器結構的多任務操作系統,具有內核小、易裁剪、可移植性好等優(yōu)點,是目前嵌入式系統應用與開發(fā)的主流操作系統。本文主要研究在ARM9平臺上搭建嵌入式Linux系統的實現方法。

1 嵌入式Linux操作系統及特點
   
目前,在嵌入式系統開發(fā)中,52%的項目選擇Linux作為嵌入式操作系統,這與Linux自身的優(yōu)良特性有不可分割的關系。
     Linux操作系統內核源代碼開放,并具有豐富的軟件資源。不同的應用領域可以根據需要對內核進行修改,每一種通用程序在Linux都能找到。在Linux上開發(fā)程序不需要從頭做起,可以選擇一個類似的軟件進行二次開發(fā),因而能夠低成本地開發(fā)出滿足自己需要的嵌入式系統。
    另外,Linux系統能支持多種硬件設備,而且驅動豐富,能支持多種主流硬件設備和最新硬件技術。隨著Linux的廣泛應用,許多芯片生產廠家也已經開始為Linux提供驅動,這為Linux在各種硬件平臺上的應用奠定了基礎。
     Linux可支持多種體系結構,具有較好的可移植性。目前,Linux已經移植到絕大多數硬件平臺上,能夠支持ARM、MIPS、LPHA、SPARC等多種體系,Linux支持幾乎所有流行的CPU。Linux具備一整套工具鏈,容易建立嵌入式系統的開發(fā)環(huán)境和交叉運行環(huán)境,可跨越嵌入式系統開發(fā)中仿真工具的障礙。由于其符合IEEE POSIX.1標準,因而應用程序具有較好的可移植性。
    Linux具有完善的網絡通信和文件管理機制。實際上,Linux從一開始就與網絡密不可分,網絡是Linux的最為顯著的特征。Linux具有ARM9上的嵌入式Linux系統移植的特性,從而保證了它支持所有標準因特網協議,可以利用Linux的網絡協議棧開發(fā)嵌入式TCP/IP網絡協議棧。同時,Linux支持ext2、fat16、fat32、romfs等文件系統,從而為嵌入式系統應用開發(fā)打下了很好的基礎。

2 Linux在ARM平臺上的移植
2.1 SBC2410硬件平臺介紹
   
SBC2410硬件平臺是具有基于ARM9處理器SBC2410A,可支持ARM—Linux、WindowsCE等操作系統的嵌入式硬件平臺。主要硬件資源有一片64 MB SDRAM,一片64 MBNandFlash,一片1 MB Nor Flash,一個串口COM0,一個USB Host A型接口,一個USB Slave B型接口,以及一個標準的JTAG接口等。
2.2 Linux在ARM平臺上的移植準備
   
首先是要建立交叉編譯環(huán)境。交叉編譯環(huán)境是一個由編譯器、連接器和解釋器組成的綜合開發(fā)環(huán)境。交叉編譯工具主要包括編譯器gcc,二進制工具binutils,目標系統的標準c庫glibc和目標系統的Linux內核頭文件。宿主機要選好做嵌入式開發(fā)的Linux操作系統,配置好網絡、NFS服務等。因為目標機沒有足夠的資源運行開發(fā)工具和調試工具,所以要在宿主機上建立交叉編譯環(huán)境,然后由交叉編譯工具生成可執(zhí)行二進制代碼(并不能在宿主機上運行),再下載到目標板上調試和運行。交叉編譯標準c環(huán)境的生成步驟包括以下四步:
    (1)獲得binutils、gcc、glibc的源碼;
    (2)配置編譯binutils,得到匯編器和連接器;
    (3)配置編譯gcc源碼,生成gcc編譯器;
    (4)配置glibc編譯生成glibc的c庫函數。[!--empirenews.page--]
2.3 引導程序移植bootloader
   
引導程序bootloader是與體系結構緊密相關的部分,是操作系統內核和應用程序運行之前運行的一小段程序,用于完成系統的啟動和加載。它類似于PC機中的BIOS程序。bootloade嚴重依賴于硬件實現,一般在嵌入式系統中建立一個通用的bootloader是不可能的。用戶必須自己編寫這一小段程序,從而完成硬件設備的初始化,建立內存空間的映射圖,將系統的軟硬件帶到一個合適的狀態(tài),為操作系統內核的運行做準備。
    通常bootloader移植分為兩步:
    第一步常用匯編語言實現依賴于CPU體系結構的代碼。主要包括硬件設備初始化;為加載bootloader準備RAM空間;拷貝bootloader到RAM空間中;設置好堆棧。
    第二步常用C語言來實現。即:初始化本階段要使用到的硬件設備;檢測系統內存映射(memory map);將kernel映像和根文件系統映像從flash上讀到ram空間中;為內核設置啟動參數;調用內核。圖1所示是bootloader的工作流程圖。


2.4 內核移植
   
內核移植首先應當啟動操作系統,完成內存管理、任務調度、進程管理、加載驅動程序、網絡等功能,然后執(zhí)行應用程序或等待用戶命令。雖然各功能之間存在復雜的調度關系,但由于Linux分層結構的特點,已將其中硬件相關的代碼獨立了出來,因此,移植過程中只需要改動進程管理、內存管理和設備管理中與硬件相關的那部分代碼。
    一般情況下,從官方網站上下載的內核不能直接在硬件平臺上運行,而要跟據具體的硬件平臺重新裁剪、編譯內核,并根據硬件平臺特性編寫相應的硬件相關的代碼,將Linux移植到硬件平臺。對內核代碼的修改包括以下部分:
    (1)修改內核目錄樹根下的Makefile,找到ARCH和CROSS_COMPILE,修改ARCH=arm,CROSS_COMPILE=armlinux,然后設置PATH環(huán)境變量,在文件bashrc中添加expor PATH=/usr/local/arm/3.4.4/bin:$PATH,使其可以找到交叉編譯工具鏈,然后重新登陸。
    (2)設置flash分區(qū),修改arch/arm/machSBC2410/devs.c用以指明分區(qū)信息,該文件的內容建立nand flash分區(qū)表;修改arch/arm /machSBC2410/machsmdk2410.c文件指定啟動時初始化,并在kernel啟動時依據對分區(qū)的設置進行初始配置。在Linux源文件目錄下,執(zhí)行makemenuconfig命令,配置內核產生config文件,選擇處理器類型為SBC2410,選擇串口驅動設備,完成后保存config文件。
    在完成內核的裁減之后,執(zhí)行命令make clean,編譯內核之前先把環(huán)境給清理干凈,也可以用makerealclean或makemrproper來徹底清除相關依賴,保證沒有不正確的文件存在,最后將zimage下載到開發(fā)板。

3 結語
   
經過移植,Uboot和Linux在SBC2410平臺就能運行,在此基礎上,還可以進一步開發(fā)各類驅動程序及應用軟件。用串口線將SBC2410和PC機相連,通過超級終端可以看到移植成功。系統成功啟動后,就可以進入根文件系統。本文通過分析Linux的特點和移植方法,總結出了一種基于ARM的Linux系統移植的方法,并實現了Linux系統內核在SBC2410處理器平臺上的移植。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯合牽頭組建的NVI技術創(chuàng)新聯盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯...

關鍵字: VI 傳輸協議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉