日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

入門:Linux 2.6 內(nèi)核的嵌入式系統(tǒng)應(yīng)用( 三 )


2.3 內(nèi)核編譯加載
對內(nèi)核進行適當(dāng)?shù)呐渲檬且粋€量體裁衣的過程 。由于2.6內(nèi)核會根據(jù)本地系統(tǒng)配置進行初始設(shè)置,可以導(dǎo)入內(nèi)核源碼默認(rèn)s3c2410的配置文件,方便加載內(nèi)核基本配置,然后再選擇所需選項 。對MTD配置選擇支持MTD設(shè)備驅(qū)動以及NAND FLASH驅(qū)動;選擇支持要用到的各類文件系統(tǒng)(DEVFS、TMPFS、CRAMFS、YAFFS、EXT2、NFS)以及網(wǎng)絡(luò)設(shè)備和協(xié)議,本系統(tǒng)加載了網(wǎng)絡(luò)芯片CS8900以及USB支持;在H.264多媒體系統(tǒng)中還需要加載Frame buffer以支持LCD顯示功能 。使用交叉編譯工具編譯內(nèi)核源碼后, 會在arch/arm/boot/下生成名為zImage的內(nèi)核映像,在Boot loader的命令提示模式下使用下載命令完成內(nèi)核加載到開發(fā)板的存儲設(shè)備FLASH中 。編譯過程(相對以前版本的編譯過程,2.6內(nèi)核編譯有所簡化):
make mrproper
make menuconfig(字符界面,或者用make xconfig圖形界面,但需要Qt庫的支持,而make gconfig則需要GTK庫的支持)
make
make bzImage
2.4 文件系統(tǒng)
Linux采用文件系統(tǒng)組織系統(tǒng)中的文件和設(shè)備,為設(shè)備和用戶程序提供統(tǒng)一接口 。Linux 支持多種文件系統(tǒng),本系統(tǒng)使用CRAMFS格式的只讀根文件系統(tǒng),而將FLASH中的USER區(qū)使用支持可讀寫的YA FFS文件系統(tǒng)格式,方便添加自己的應(yīng)用程序 。
在根文件系統(tǒng)中,為保護系統(tǒng)的基本設(shè)置不被更改,采用CRAMFS格式 。采用DEVFS來實現(xiàn)基本設(shè)備的建立掛載,同時使用BusyBox也是一個縮小根文件系統(tǒng)的辦法,提供了系統(tǒng)的基本指令;還需要建立一些必備的目錄,添加所需配置文件,如fstab、inittab等;還有一個重要的工作就是添加系統(tǒng)應(yīng)用必備的動態(tài)函數(shù)庫 。使用生成工具mkcramfs 將整個根文件目錄里的內(nèi)容制作成映像文件 。
mkcramfs rootfs rootfs.ramfs
YAFFS文件系統(tǒng)格式的支持需要將驅(qū)動加入到內(nèi)核代碼樹下fs/yaffs/,修改內(nèi)核配置文件,就可以在內(nèi)核編譯中加載對該文件系統(tǒng)的支持 。使用mkyaffs工具將NAND FLASH分區(qū)格式化為YAFFS分區(qū),將mkyaffsimage生成的應(yīng)用程序鏡像燒寫進YAFFS分區(qū),在啟動時通過寫入fstab自動加載YAFFS分區(qū)即可 。
2.5 網(wǎng)絡(luò)設(shè)備驅(qū)動
系統(tǒng)中采用CS8900A的10M網(wǎng)絡(luò)芯片,它使用S3C2410的nGCS3和IRQ_EINT9,相應(yīng)修改linux/arch/arm/mach-s3c2410/irq.c,并在mach-smdk2410.c的smdk2410_iodesc[]中增加{SMDK2410_ETH_IO,S3C2410_CS2, SZ_1M, MT_DEVICE},內(nèi)核源碼中加入芯片的驅(qū)動程序drivers/net/arm/cs8900.h和cs8900.c,并且配置網(wǎng)絡(luò)設(shè)備驅(qū)動的Makefile和Kconfig文件,加入CS8900A的配置選項,這樣可以在內(nèi)核編譯時加載網(wǎng)絡(luò)設(shè)備的驅(qū)動 。
【入門:Linux 2.6 內(nèi)核的嵌入式系統(tǒng)應(yīng)用】在Linux2.6應(yīng)用的同時,也要看到其與以前版本內(nèi)核比較存在的一些問題 。在內(nèi)核的編譯時間、內(nèi)核鏡像大小、內(nèi)核占用RAM空間大小、系統(tǒng)啟動時間相對Linux2.4而言都存在不同程度的不足,但在硬件條件日益進步的現(xiàn)今可以接受,而且一部分也是由于功能加強必然帶來的 。雖然Linux并非一個真正的實時操作系統(tǒng),但2.6內(nèi)核的改進能夠滿足大部分的應(yīng)用需求,所以Linux2.6內(nèi)核將會在嵌入式系統(tǒng)領(lǐng)域大展身手 。

推薦閱讀