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

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]ARM在嵌入式linux內(nèi)核裁剪與移植的應用

微處理器用一片或少數(shù)幾片大規(guī)模集成電路組成的中央處理器。這些電路執(zhí)行控制部件和算術(shù)邏輯部件的功能。微處理器與傳統(tǒng)的中央處理器相比,具有體積小,重量輕和容易模塊化等優(yōu)點。微處理器的基本組成部分有:寄存器堆、運算器、時序控制電路,以及數(shù)據(jù)和地址總線。微處理器能完成取指令、執(zhí)行指令,以及與外界存儲器和邏輯部件交換信息等操作,是微型計算機的運算控制部分。它可與存儲器和外圍電路芯片組成微型計算機。但這些專用操作系統(tǒng)都是商業(yè)化產(chǎn)品,其高昂的價格使許多低端產(chǎn)品的小公司望而卻步;而且,源代碼封閉性也大大限制了開發(fā)者的積極性。而Linux的開放性,使得許多人都認為Linux非常適合多數(shù)Intemet設(shè)備。Linux操作系統(tǒng)可以支持不同的設(shè)備和不同的配置。Linux對廠商不偏不倚,而且成本極低,因而很快成為用于各種設(shè)備的操作系統(tǒng)。嵌入式linux是大勢所趨,其巨大的市場潛力與醞釀的無限商機必然會吸引眾多的廠商進入這一領(lǐng)域。

1 嵌入式linux操作系統(tǒng)

Linux是一類Unix計算機操作系統(tǒng)的統(tǒng)稱。Linux操作系統(tǒng)的內(nèi)核的名字也是"Linux".Linux操作系統(tǒng)也是自由軟件和開放源代碼發(fā)展中最著名的例子。嚴格來講,Linux這個詞本身只表示Linux內(nèi)核,但在實際上人們已經(jīng)習慣了用Linux來形容整個基于Linux內(nèi)核,并且使用GNU工程各種工具和數(shù)據(jù)庫的操作系統(tǒng)。Linux得名于計算機業(yè)余愛好者LinuSTorvalds.Linux的程序源碼全部公開,任何人都可以根據(jù)自己的需要裁剪內(nèi)核,以適應自己的系統(tǒng)。文章以將linux移植ARM920T內(nèi)核的s3c2410處理器芯片為例,介紹了嵌入式linux內(nèi)核的裁剪以及移植過程,文中介紹的基本原理與方法技巧也可用于其它芯片。

2 內(nèi)核移植過程

2.1 建立交叉編譯環(huán)境

在一種計算機環(huán)境中運行的編譯程序,能編譯出在另外一種環(huán)境下運行的代碼,我們就稱這種編譯器支持交叉編譯。這個編譯過程就叫交叉編譯。簡單地說,就是在一個平臺上生成另一個平臺上的可執(zhí)行代碼。這里需要注意的是所謂平臺,實際上包含兩個概念:體系結(jié)構(gòu)(Architecture)、操作系統(tǒng)(Operating System)。同一個體系結(jié)構(gòu)可以運行不同的操作系統(tǒng);同樣,同一個操作系統(tǒng)也可以在不同的體系結(jié)構(gòu)上運行。舉例來說,我們常說的x86 Linux平臺實際上是Intel x86體系結(jié)構(gòu)和Linux for x86操作系統(tǒng)的統(tǒng)稱;而x86 WinNT平臺實際上是Intel x86體系結(jié)構(gòu)和Windows NT for x86操作系統(tǒng)的簡稱。

交叉編譯交叉編譯呢,簡單地說,就是在一個平臺上生成另一個平臺上的可執(zhí)行代碼。這里需要注意的是所謂 平臺,實際上包含兩個概念:體系結(jié)構(gòu)(Architecture)、操作系統(tǒng)(Operating System)。同一個體系結(jié)構(gòu)可以運行不同的操作系統(tǒng);同樣,同一個操作系統(tǒng)也可以在不同的體系結(jié)構(gòu)上運行。

交叉編譯器完整的安裝涉及到多個軟件安裝,最重要的有binutils、gcc、glibc三個。其中,binutils主要用于生成一些輔助工具;gcc則用來生成交叉編譯器,主要生成arm-linux-gcc交叉編譯工具;glibc主要是提供用戶程序所使用的一些基本的函數(shù)庫。

自行搭建交叉編譯環(huán)境通常比較復雜,而且很容易出錯。本文使用的是開發(fā)板自帶的交叉編譯器,即CROSS一3.3.4.交叉編譯器,該編譯只需將光盤中的arm-linux一3.3.4.bar.bz2用tar ixvf arm-linux一3.3.4.bar.bz2命令解壓到/usr/local/arm下即可。

2.2 修改Makefile

Makefile文件Makefile一個工程中的源文件不計數(shù),其按類型、功能、模塊分別放在若干個目錄中,makefile定義了一系列的規(guī)則來指定,哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯,甚至于進行更復雜的功能操作,因為makefile就像一個Shell腳本一樣,其中也可以執(zhí)行操作系統(tǒng)的命令。

修改內(nèi)核目錄樹根下的Makefile時,可先指明交叉編譯器。設(shè)計時,可向Makefile中添加如下內(nèi)容:

ARCH ?=arm

CROSS_COMPILE?=arm-linux-然后設(shè)置PATH環(huán)境變量,使其可以找到其交叉編譯工具鏈,然后運行vi~/.bashrc,再添加如下內(nèi)容:

export PATH=/usr/local/arln-linux一3.4.4/bin:$PATH

2.3 設(shè)置Flash分區(qū)

此處一共要修改3個文件,分別如下:

(1)在arch/arm/machS3C2410/devs.c文件中添加如下內(nèi)容:

#include<linux/mtd/partitiONs.h>

#include<linux/mtd/nand.h>

#include<asm/arch/nand.h>

然后再建立Nand flash分區(qū)表;同時建立Nand F1ash芯片支持,最后加入Nand FLASH芯片并支持到Nand Flash驅(qū)動。

另外,還要修改arch/arm/machs3c2410/devs.C文件中的s3c_device_nand結(jié)構(gòu)體變量,同時添加對dev成員的賦值。

(2)指定啟動時初始化

內(nèi)核啟動時,可以依據(jù)對分區(qū)的設(shè)置進行初始配置,然后修改arch/am4mach-s3c2410/machsmdk2410.e文件下的smdk2410_devices[],指明初始化時包括在前面所設(shè)置的flash分區(qū)信息,并添加如下語句:

&s3c_device_nand,

(3)禁止Flash ECC校驗

內(nèi)核一般都是通過UBOOT寫到Nand Flash的。UBOOT則通過軟件ECC算法來產(chǎn)生ECC校驗碼,這與內(nèi)核校驗的ECC碼不一樣,內(nèi)核中的ECC碼是由S3C2410中Nand Flash控制器產(chǎn)生的。所以,這里選擇禁止內(nèi)核ECC校驗。

修改drivers/mtd/nand/s3c2410.C 下的s3c2410_nand_init_chip ()函數(shù),可在該函數(shù)體最后加上如下一條語句:

chip->eccmode=NAND_ECC_NONE;

3 內(nèi)核配置過程

3.1 支持啟動時掛載devfs

為了使內(nèi)核支持devfs以及在啟動且在/sbin/init運行之前能自動掛載/dev為devfs文件系統(tǒng),應修改fs/Keonfig文件,找到menu"Pseudo filesystems"并添加如下語句:

3.2 配置內(nèi)核產(chǎn)生。config文件

Linux內(nèi)核裁減的配置菜單命令有好幾個配置方法,這幾個方法實現(xiàn)的功能類似,只是與用戶的交互界面不同。其中:

make config是基于文本的、最為傳統(tǒng)的配置界面,可進入命令行;

make menuconfig是基于文本菜單的配置界面;

make xconfig是基于圖形窗口模式的配置界面,在Xwindow下推薦使用該界面。

在這3種方法中,make menuconfig使用最為廣泛,這里選用的是make menuconfig的配置方法。相應的配置有三種選擇,它們分別代表的含義如下:

"Y":將該功能編譯進內(nèi)核;

"N":不將該功能編譯進內(nèi)核;

"M":將該功能編譯成可以在需要時動態(tài)插入到內(nèi)核中的模塊。

運行make menuconfig時,在smdk2410_defeonfig基礎(chǔ)上,其所增刪的內(nèi)核配置項如下:

(1)增加對模塊的支持

  Loadable module support--->

  [*]Enable loadable module support

  [*]Automatic kernel module loading

  System Type-->

4 內(nèi)核編譯與下載

4.1 內(nèi)核編譯

編譯內(nèi)核時,可運行以下命令:其一是#make clean,即清理環(huán)境,保證沒有不正確的依賴文件存在;二是#make dep,即將內(nèi)核源碼樹中每個子目錄產(chǎn)生的".depend"文件建立起依賴關(guān)系;三是#make zImage,用于建立壓縮的linux內(nèi)核映像。

4.2 下載zImage到開發(fā)板

下載zImage到開發(fā)板的方法很多,常見的有網(wǎng)絡(luò)下載(如FTP、TFTP等方式)、串口下載、USB下載等。本文采用FTP方式來移植Linux內(nèi)核映像文件到目標機NAND FLASH中。代碼如下:

CRANE2410#tftp 0x30008000 zImage至此,該嵌入式Linux的編譯和移植工作便告全部完成。

5 結(jié)束語

本文以將linux移植到ARM920T內(nèi)核的s3c2410處理器芯片為例,介紹了嵌入式linux內(nèi)核裁剪以及移植的過程,并對移植中的關(guān)鍵技術(shù)和重要步驟給出了詳細的說明。移植后的Linux系統(tǒng)在開發(fā)板上運行穩(wěn)定,性能良好。本文的操作過程對嵌入式Linux系統(tǒng)在其它處理器上的移植也具有參考意義。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

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

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

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

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

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

關(guān)鍵字: 騰訊 編碼器 CPU

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

關(guān)鍵字: 華為 12nm EDA 半導體

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

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

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

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

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

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

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

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉