<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 面向嵌入式視頻處理平臺(tái)的Linux移植

          面向嵌入式視頻處理平臺(tái)的Linux移植

          作者: 時(shí)間:2010-01-07 來源:網(wǎng)絡(luò) 收藏

            這樣,本系統(tǒng)的BootLoader就設(shè)計(jì)完成了,下面就可以進(jìn)行內(nèi)核。

            4 內(nèi)核

            內(nèi)核主要由5個(gè)子系統(tǒng)構(gòu)成:

            a)進(jìn)程調(diào)度(Process Scheduler):負(fù)責(zé)控制進(jìn)程對(duì)CPU的使用。

            b)內(nèi)存管理(Memory Manager):標(biāo)準(zhǔn)Linux的內(nèi)存管理支持虛擬內(nèi)存,進(jìn)程代碼、數(shù)據(jù)和堆棧的總量可以超過實(shí)際內(nèi)存的大小。

            c)虛擬文件系統(tǒng)(Virtual File System):隱藏了不同硬件的具體細(xì)節(jié),為所有設(shè)備提供統(tǒng)一的接口。

            d)網(wǎng)絡(luò)接口(Network Interface):負(fù)責(zé)支持標(biāo)準(zhǔn)的網(wǎng)絡(luò)通信協(xié)議和各種網(wǎng)絡(luò)硬件設(shè)備。

            e)進(jìn)程間通信(Inter-Process Communica-tion):支持進(jìn)程間各種通信機(jī)制。

            根據(jù)系統(tǒng)的特點(diǎn),要使Linux系統(tǒng)具備一定的功能且保持小型化,應(yīng)包括啟動(dòng)加載程序、內(nèi)核、初始化進(jìn)程,以及硬件驅(qū)動(dòng)程序、文件系統(tǒng)、必要的應(yīng)用程序等。

            不管是哪一款器,完成工作就要修改所有與體系結(jié)構(gòu)有關(guān)的代碼,主要指內(nèi)核人口、器初始化、I/O口映射等。具體操作如下:

            (1)修改配置文件

            a)打開根目錄下的Makefile文件,指定目標(biāo)平臺(tái)ARCH=arm;指定交叉編譯器CROSS_COMPILE=arm-linux-gcc;

            b)打開/arch/arm目錄下的Makefile文件,添加內(nèi)核起始運(yùn)行地址,即image.ram應(yīng)下載的位置,該位置一般在RAM區(qū)起始地址偏移0x8000處;

            c)打開/arch/arm/boot目錄下的Makefile文件,指定Bootloader的壓縮內(nèi)核解壓后數(shù)據(jù)的輸出地址。

            (2)編譯Linux內(nèi)核

            在完成上述工作后,開始編譯Linux內(nèi)核,生成目標(biāo)代碼。在內(nèi)核源代碼目錄下依次鍵入以下命令:

            a)make clean:清除以前構(gòu)造內(nèi)核時(shí)生成的所有目標(biāo)文件、模塊和臨時(shí)文件;

            b)make dep:搜索Linux輸出與源代碼之間的依賴關(guān)系,并以此生成依賴文件;

            c)make menuconfig:調(diào)用菜單式的配置內(nèi)核界面,內(nèi)核配置的選項(xiàng)非常多,根據(jù)自己系統(tǒng)的具體情況選擇合理的配置,在內(nèi)核配置時(shí)選上相應(yīng)型號(hào)的硬件;

            d)make zImage:編譯內(nèi)核,生成壓縮的Linux內(nèi)核目標(biāo)代碼zImage文件;

            e)make modules:編譯塊模塊驅(qū)動(dòng)程序,凡是在menuconfig中被選為的都會(huì)在這條命令運(yùn)行時(shí)被編譯。

            至此,已編譯好能在本系統(tǒng)上運(yùn)行的Linux內(nèi)核。

            (3)創(chuàng)建JFFS2文件系統(tǒng)

            文件系統(tǒng)是Linux系統(tǒng)的重要組成部分。本系統(tǒng)使用mkfs.jffs2工具創(chuàng)建JFFS2文件系統(tǒng)。首先建立/bin、/sbin等目錄,然后復(fù)制命令工具到/bin文件夾,復(fù)制系統(tǒng)控制程序到/sbin目錄下,復(fù)制應(yīng)用程序運(yùn)行時(shí)所需的庫(kù)到/lib,庫(kù)文件可從PC機(jī)的交叉編譯工具安裝目錄下復(fù)制。最后鍵人命令:mkfs.jffs2-o jffs2root.jffs2,生成JFFS2根文件系統(tǒng)。

            上述工作完成后,將BootLoader、Linux內(nèi)核、文件系統(tǒng)燒寫到TMS320DM*6的Flash中,這樣就能運(yùn)行Linux系統(tǒng)了。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();