日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]基于ARM的嵌入式linux 內核的裁剪與移植

0 引言
   
微處理器的產生為價格低廉、結構小巧的CPU和外設的連接提供了穩(wěn)定可靠的硬件架構,這樣,限制嵌入式系統(tǒng)發(fā)展的瓶頸就突出表現在了軟件方面。盡管從八十年代末開始,已經陸續(xù)出現了一些嵌入式操作系統(tǒng)(比較著名的有Vxwork、pSOS、Neculeus和Windows CE)。但這些專用操作系統(tǒng)都是商業(yè)化產品,其高昂的價格使許多低端產品的小公司望而卻步;而且,源代碼封閉性也大大限制了開發(fā)者的積極性。而Linux的開放性,使得許多人都認為Linux非常適合多數Intemet設備。Linux操作系統(tǒng)可以支持不同的設備和不同的配置。Linux對廠商不偏不倚,而且成本極低,因而很快成為用于各種設備的操作系統(tǒng)。嵌入式linux是大勢所趨,其巨大的市場潛力與醞釀的無限商機必然會吸引眾多的廠商進入這一領域。 

1 嵌入式linux操作系統(tǒng)
    Linux為嵌入操作系統(tǒng)提供了一個極有吸引力的選擇,它是個和Unix相似、以核心為基礎、全內存保護、多任務、多進程的操作系統(tǒng)??梢灾С謴V泛的計算機硬件,包括X86、Alpha、Sparc、MIPS、PPC、ARM、NEC、MOTOROLA等現有的大部分芯片。Linux的程序源碼全部公開,任何人都可以根據自己的需要裁剪內核,以適應自己的系統(tǒng)。文章以將linux移植到ARM920T內核的s3c2410處理器芯片為例,介紹了嵌入式linux內核的裁剪以及移植過程,文中介紹的基本原理與方法技巧也可用于其它芯片。

2 內核移植過程
2.1 建立交叉編譯環(huán)境

    交叉編譯的任務主要是在一個平臺上生成可以在另一個平臺上執(zhí)行的程序代碼。不同的CPU需要有不同的編譯器,交叉編譯如同翻譯一樣,它可以把相同的程序代碼翻譯成不同的CPU對應語言。
    交叉編譯器完整的安裝涉及到多個軟件安裝,最重要的有binutils、gcc、glibc三個。其中,binutils主要用于生成一些輔助工具;gcc則用來生成交叉編譯器,主要生成arm—linux—gcc交叉編譯工具;glibc主要是提供用戶程序所使用的一些基本的函數庫。
    自行搭建交叉編譯環(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中添加如下內容:
    ARCH ?=arm
    CROSS_COMPILE?=arm-linux-然后設置PATH環(huán)境變量,使其可以找到其交叉編譯工具鏈,然后運行vi~/.bashrc,再添加如下內容:
    export PATH=/usr/local/arln—linux一3.4.4/bin:$PATH
2.3 設置Flash分區(qū)
    此處一共要修改3個文件,分別如下:
    (1)在arch/arm/machs3c2410/devs.c文件中添加如下內容:
    #include<linux/mtd/partitions.h>
    #include<linux/mtd/nand.h>
    #include<asm/arch/nand.h>
    然后再建立Nand Flash分區(qū)表;同時建立Nand F1ash芯片支持,最后加入Nand Flash芯片并支持到Nand Flash驅動。
    另外,還要修改arch/arm/machs3c2410/devs.C文件中的s3c_device_nand結構體變量,同時添加對dev成員的賦值。
    (2)指定啟動時初始化
    內核啟動時,可以依據對分區(qū)的設置進行初始配置,然后修改arch/am4mach—s3c2410/machsmdk2410.e文件下的smdk2410_devices[],指明初始化時包括在前面所設置的flash分區(qū)信息,并添加如下語句:
    &s3c_device_nand,
    (3)禁止Flash ECC校驗
    內核一般都是通過UBOOT寫到Nand Flash的。UBOOT則通過軟件ECC算法來產生ECC校驗碼,這與內核校驗的ECC碼不一樣,內核中的ECC碼是由S3C2410中Nand Flash控制器產生的。所以,這里選擇禁止內核ECC校驗。
    修改drivers/mtd/nand/s3c2410.C 下的s3c2410_nand_init_chip ()函數,可在該函數體最后加上如下一條語句:
    chip->eccmode=NAND_ECC_NONE;


3 內核配置過程
[!--empirenews.page--]3.1 支持啟動時掛載devfs

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

   
3.2 配置內核產生.config文件
    Linux內核裁減的配置菜單命令有好幾個配置方法,這幾個方法實現的功能類似,只是與用戶的交互界面不同。其中:
    make config是基于文本的、最為傳統(tǒng)的配置界面,可進入命令行;
    make menuconfig是基于文本菜單的配置界面;
    make xconfig是基于圖形窗口模式的配置界面,在Xwindow下推薦使用該界面。
    在這3種方法中,make menuconfig使用最為廣泛,這里選用的是make menuconfig的配置方法。相應的配置有三種選擇,它們分別代表的含義如下:
    “Y”:將該功能編譯進內核;
    “N”:不將該功能編譯進內核;
    “M”:將該功能編譯成可以在需要時動態(tài)插入到內核中的模塊。
    運行make menuconfig時,在smdk2410_defeonfig基礎上,其所增刪的內核配置項如下:
    (1)增加對模塊的支持
    Loadable module support--->
    [*]Enable loadable module support
    [*]Automatic kernel module loading
    System Type——>

   


[!--empirenews.page--]4 內核編譯與下載
4.1 內核編譯

    編譯內核時,可運行以下命令:其一是#make clean,即清理環(huán)境,保證沒有不正確的依賴文件存在;二是#make dep,即將內核源碼樹中每個子目錄產生的“.depend”文件建立起依賴關系;三是#make zImage,用于建立壓縮的linux內核映像。
4.2 下載zImage到開發(fā)板
   
下載zImage到開發(fā)板的方法很多,常見的有網絡下載(如FTP、TFTP等方式)、串口下載、USB下載等。本文采用FTP方式來移植Linux內核映像文件到目標機NAND FLASH中。代碼如下:
    CRANE2410#tftp 0x30008000 zImage
    至此,該嵌入式Linux的編譯和移植工作便告全部完成。


5 結束語

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

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

北京2022年10月19日 /美通社/ -- 隨著云計算、大數據的普及發(fā)展,過去的"云"是服務于大企業(yè)的計算模型,而十多年過去了,越來越多的應用及業(yè)務走上"云端",對計算核心數需求...

關鍵字: ARM 大數據 云游戲 CPU

無線連接已成為許多產品的必備功能,但往往會增加系統(tǒng)設計的成本和復雜性,因為它通常必須作為更大應用的附加功能。Microchip Technology Inc.(美國微芯科技公司)今日推出首款基于Arm Cortex?-M...

關鍵字: Microchip ARM PIC

物聯網正在擴大規(guī)模并加速發(fā)展,進而驅動著全新的經濟。而Arm生態(tài)系統(tǒng)正是這一巨大機遇背后的推動力。

關鍵字: ARM 物聯網

ARM公司是一家知識產權(IP)供應商,它與一般的半導體公司最大的不同就是不制造芯片且不向終端用戶出售芯片,而是通過轉讓設計方案,由合作伙伴生產出各具特色的芯片。

關鍵字: ARM

亙喜生物科技集團宣布正在中國開展的、旨在全面評估GC007g治療復發(fā)/難治性急性B淋巴細胞白血病效果的1/2期注冊性臨床試驗順利進入2期研究階段,首例入組患者已給藥。GC007g是亙喜生物旗下的一款靶向CD19的供者來源...

關鍵字: 移植 CD

2018年10月26日,深圳星河麗思卡爾頓酒店,ARM中國CEO吳雄昂在ARM年度技術論壇上對記者如是說,彼時的吳堅定,溫雅,意氣風發(fā)。時隔兩年,ARM中國CEO吳雄昂再次回到媒體視線,這一次,ARM中國與來自投資方和劍...

關鍵字: ARM 芯片 集成電路

喜歡折騰主機的小伙伴一定都知道X86和ARM架構的區(qū)別,前者在PC領域已經統(tǒng)治了幾十年;后者則主要應用于移動領域,尤其是近幾年,ARM的產品在終端應用特別是手持終端應用飛速發(fā)展。

關鍵字: 國產 ARM 主機

科技公司們認為,收購將使英偉達控制一個重要的供應商,該供應商向蘋果、英特爾、三星電子、亞馬遜和華為等公司授權基本的芯片技術,同時也向不計其數的中小技術企業(yè)提供授權??偛课挥谟腁RM公司將芯片設計和相關軟件代碼授權給所...

關鍵字: 英偉達 ARM 半導體公司

在去年九月,英偉達宣布以400億美金收購ARM時,就注定這場收購不會太順利。因為一旦ARM成功被英偉達收購,這將使ARM改變在全球半導體市場中的中立立場,因為ARM的很多客戶,都是英偉達的直接或者間接的對手。除此之外,還...

關鍵字: 英偉達 ARM 半導體

北京2022年10月11日 /美通社/ -- 在四川大涼山深處,有一只"涼山黑鷹"少年籃球隊:隊員平均年齡12歲,平均身高1米3,球隊剛成立時,連個像樣的球場都沒有。然而,憑著一腔熱情和驚人天賦,這只...

關鍵字: 網絡 BSP 內核 騰訊

嵌入式軟件

15715 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉