新聞中心

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

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

作者: 時(shí)間:2010-01-07 來(lái)源:網(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ù)和堆棧的總量可以超過(guò)實(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)打開(kāi)根目錄下的Makefile文件,指定目標(biāo)平臺(tái)ARCH=arm;指定交叉編譯器CROSS_COMPILE=arm-linux-gcc;

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

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

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

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

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

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

  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)燒寫(xiě)到TMS320DM*6的Flash中,這樣就能運(yùn)行Linux系統(tǒng)了。

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


評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉