亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        嵌入式Linux系統(tǒng)移植技術(shù)研究*

        2012-03-31 03:06:34張偉杰李明理
        關(guān)鍵詞:開發(fā)板面向?qū)ο?/a>內(nèi)核

        張偉杰 李明理

        (1:吉林建筑工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院,長春 130118;2:大連理工大學(xué)軟件學(xué)院,大連 116000)

        1 交叉開發(fā)環(huán)境的建立

        近些年,嵌入式系統(tǒng)開發(fā)已經(jīng)成為信息產(chǎn)業(yè)的研究熱點(diǎn).基于ARM硬件平臺(tái)及Linux操作系統(tǒng)的嵌入式產(chǎn)品應(yīng)用開發(fā)已成為主流.而在嵌入式的開發(fā)過程中,針對目標(biāo)平臺(tái)的操作系統(tǒng)移植成為影響嵌入式產(chǎn)品開發(fā)進(jìn)度的一個(gè)關(guān)鍵因素.

        嵌入式Linux系統(tǒng)的軟件結(jié)構(gòu)如圖1所示[1];嵌入式Linux系統(tǒng)開發(fā)流程如圖2所示.

        圖1 嵌入式Linux系統(tǒng)的軟件結(jié)構(gòu)平臺(tái)

        圖2 嵌入式Linux系統(tǒng)開發(fā)流程

        由于一般嵌入式開發(fā)系統(tǒng)存儲(chǔ)大小有限,所以在裁剪和定制Linux運(yùn)用于嵌入式系統(tǒng)之前,通常都要在PC上建立一個(gè)用于目標(biāo)機(jī)的交叉編譯環(huán)境,完成嵌入式系統(tǒng)的開發(fā).如圖3所示,建立一個(gè)交叉編譯工具鏈?zhǔn)且粋€(gè)相當(dāng)復(fù)雜的過程,網(wǎng)上有一些編譯好的可以下載.

        圖3 交叉編譯環(huán)境

        2 Linux系統(tǒng)移植的基本理論與方法

        2.1 Linux系統(tǒng)結(jié)構(gòu)分析

        2.1.1 Linux系統(tǒng)的抽象結(jié)構(gòu)

        Linux操作系統(tǒng)的內(nèi)核結(jié)構(gòu)從層次上來說,是整體式的結(jié)構(gòu).其主要組成結(jié)構(gòu)如表1所示[2].

        表1右邊是從操作系統(tǒng)的層次結(jié)構(gòu)進(jìn)行分層,左邊是從基本功能模塊的角度來對Linux系統(tǒng)進(jìn)行分層.

        2.1.2 Linux內(nèi)核子系統(tǒng)與系統(tǒng)移植

        Linux內(nèi)核功能有進(jìn)程管理、內(nèi)存管理、中斷和異常處理、設(shè)備控制、文件系統(tǒng)和網(wǎng)絡(luò)接口.從典型的ARM平臺(tái)的系統(tǒng)移植實(shí)例的分析來看,系統(tǒng)移植的工作主要集中在中斷異常處理、文件系統(tǒng)、設(shè)備控制部分.主要是由于這幾個(gè)部分和ARM平臺(tái)的系統(tǒng)之間關(guān)系密切,相對來說,設(shè)備控制是移植中工作量最大的部分[3].

        表1 Linux操作系統(tǒng)結(jié)構(gòu)

        2.2 Linux內(nèi)核對系統(tǒng)移植提供的支持

        2.2.1 分層結(jié)構(gòu)

        Linux內(nèi)核的設(shè)計(jì)吸取了層次結(jié)構(gòu)和對硬件抽象層的思想,對內(nèi)核進(jìn)行分層,以便將硬件相關(guān)部分和操作其它上層實(shí)現(xiàn)分離開來,從而增強(qiáng)了系統(tǒng)的可移植性,具體分為硬件直接相關(guān)層、硬件抽象層和操作系統(tǒng)內(nèi)核層.其中硬件直接相關(guān)層主要包括由于處理器體系結(jié)構(gòu)和指令集不同而需要進(jìn)行相應(yīng)實(shí)現(xiàn)的部分;硬件抽象層是為了屏蔽底層的硬件細(xì)節(jié),并為上層提供一個(gè)邏輯上統(tǒng)一的硬件環(huán)境接口及各種硬件平臺(tái)上操作系統(tǒng)的代碼重用而引入的機(jī)制;硬件無直接相關(guān)的操作系統(tǒng)內(nèi)核層主要包括進(jìn)程、內(nèi)存和設(shè)備管理,文件系統(tǒng)及其它和底層設(shè)備不直接相關(guān)的較高層實(shí)現(xiàn)[4].

        2.2.2 面象對象思想

        Linux內(nèi)核主要是用非面向?qū)ο蟮腃語言編寫而成,但是Linux內(nèi)核中大量的借鑒和使用了面向?qū)ο蟮乃枷?雖然C語言本身沒有提供面向?qū)ο蟮恼Z法支持,但是在Linux中通過使用結(jié)構(gòu)體和函數(shù)指針實(shí)現(xiàn)了面向?qū)ο髾C(jī)制的部分模擬.

        3 目標(biāo)系統(tǒng)平臺(tái)介紹

        本次移植目標(biāo)系統(tǒng)采用的是Intel Xscale系列處理器PXA255(ARM核),該處理器具有體積小、耗電低、處理能力強(qiáng)、可靠性高等特點(diǎn),非常適合工業(yè)現(xiàn)場控制產(chǎn)品的開發(fā).主要部件:處理器:32位RISC結(jié)構(gòu)400 MHz INTEL PXA 255;FLASH:E 28 J 3 A-150 X 2,32 MB;SDRAM:K 4 S 561632 CX 2,64 M;液晶顯示器:6.4寸STN;串口:PXA 255內(nèi)置2個(gè)串口;網(wǎng)口:一個(gè)10 BASE-T以太網(wǎng)接口[5].

        具有的軟件平臺(tái):采用的內(nèi)核版本是linux-2.4.18,交叉工具鏈?zhǔn)莂rm-linux-Xscale-gcc-3.2.

        4 系統(tǒng)移植實(shí)現(xiàn)

        (1)建立自已開發(fā)板的目錄PXA 255,并將u-boot/board/xaeniax/目錄中的所有文件拷貝到u-boot/ board/PXA255目錄下,針對目標(biāo)平臺(tái)文件做相應(yīng)的修改;

        (2)建立自已的配置文件:在include/configs目錄中添加頭文件PXA 255.h,這個(gè)文件是PXA 255開發(fā)板的配置文件,它包括開發(fā)板的CPU、系統(tǒng)時(shí)鐘、RAM,GPIO及其它相關(guān)的配置信息;

        (3)建立自已的開發(fā)板的CPU目錄cpu/cpu255,并將cpu/PXA中所有文件拷貝到該目錄下,針對目標(biāo)硬件特性和需求進(jìn)行各文件的修改;

        (4)修改u-boot-1.1.0/Makefile,以便在其中加入對目標(biāo)板的編譯支持,并根據(jù)實(shí)際情況修改交叉編譯器的路徑:PXA255-config:unconfig;@./mkconfig$(@:_config+)arm cpu255 PXA255.其中“Arm”代表CPU的種類,cpu2 55是ARM CPU對應(yīng)的代碼目錄,PXA 255是自已開發(fā)板對應(yīng)的目錄;

        (5)依次過運(yùn)行命令:$make clean,$make PXA 255-config,$make.生成3個(gè)文件:u-boot:ELF格式的文件,可以被大多數(shù)Debug程序識別;u-boot.bin:二進(jìn)制bin文件,純粹的U-BOOT二進(jìn)制執(zhí)行代碼,不保存ELF格式和調(diào)試信息.這個(gè)文件一般用于燒寫到用戶開發(fā)中;u-boot.srec:motorola S-Record格式,可以通過串行口下載至開發(fā)板中.

        通過JTAG口將u-boot.bin燒寫至Flash的零地址,復(fù)位后就可以啟動(dòng)系統(tǒng)了.

        5 結(jié)語

        本文針對嵌入式Linux系統(tǒng)移植在存在的普遍問題,并結(jié)合工業(yè)現(xiàn)場控制的需求,對嵌入式Linux移植就嵌入式Linux系統(tǒng)開發(fā)流程和交叉開發(fā)環(huán)境的建立、Linux的內(nèi)部組織結(jié)構(gòu)及其對系統(tǒng)移植的影響、目標(biāo)硬件平臺(tái)和現(xiàn)有的軟件基礎(chǔ)以及系統(tǒng)移植實(shí)現(xiàn)進(jìn)行了探討,將為在此硬件、軟件平臺(tái)的開發(fā)工作奠定基礎(chǔ).

        [1]陳莉君,康 華,張 波.Linux內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)[M].北京:中國機(jī)械工業(yè)出版社,2006:22-25.

        [2]陳 頤.嵌入式技術(shù)原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2011:272-280.

        [3]華清遠(yuǎn)見嵌入式培訓(xùn)中心.嵌入式Linux應(yīng)用程序開發(fā)[M].北京:人民郵電出版社,2009:99-112.

        [4]任橋偉.Linux內(nèi)核修煉之道[M].北京:人民郵電出版社,2010:37-50.

        [5]錢連舉.基于ARM的嵌入式Linux系統(tǒng)移植技術(shù)研究與應(yīng)用[D].成都:電子科技大學(xué),2006.

        猜你喜歡
        開發(fā)板面向?qū)ο?/a>內(nèi)核
        萬物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
        強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
        基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
        Linux內(nèi)核mmap保護(hù)機(jī)制研究
        面向?qū)ο蟮挠?jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)軟件系統(tǒng)的開發(fā)
        電子測試(2018年15期)2018-09-26 06:01:34
        面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議研究與應(yīng)用
        Microchip最新推出兩款PIC32 Curiosity開發(fā)板
        淺析單片機(jī)開發(fā)板的設(shè)計(jì)與制作
        電子制作(2017年22期)2017-02-02 07:10:14
        面向?qū)ο骔eb開發(fā)編程語言的的評估方法
        Mouser為您呈上開發(fā)關(guān)鍵之STMicroelectronics Nucleo開發(fā)板
        福利一区视频| 午夜人妻久久久久久久久| 3d动漫精品啪啪一区二区免费| 国产人妻无码一区二区三区免费| 成人午夜视频一区二区无码| 91亚洲夫妻视频网站| 国产精品国产三级国产av中文| 小荡货奶真大水真多紧视频| 91综合在线| 久久综合这里只有精品| 精品人妻码一区二区三区剧情| 亚洲欧美aⅴ在线资源| 久草午夜视频| 天堂av一区二区麻豆| 中字乱码视频| 少女高清影视在线观看动漫| 在线丝袜欧美日韩制服| 日本中文字幕有码在线播放| 男人扒开添女人下部免费视频 | 日韩精品久久中文字幕| 久久精品噜噜噜成人| 99久久99久久久精品久久| av免费在线播放一区二区| 欧美老妇交乱视频在线观看| www插插插无码免费视频网站| 美女熟妇67194免费入口| 手机在线免费观看av不卡网站| 特黄做受又粗又长又大又硬| 免费一区在线观看| 亚洲在线一区二区三区| 绝顶高潮合集videos| 亚洲av伊人久久综合密臀性色| 久久精品国产亚洲AV香蕉吃奶| 久久精品国产亚洲av麻豆床戏| 国产成人喷潮在线观看| 国产成人精品三级91在线影院| 国产精品午夜福利天堂| 人妻 丝袜美腿 中文字幕| 无遮高潮国产免费观看| 伊人影院在线观看不卡| 亚洲一区二区三区高清在线|