<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Linux內核的嵌入式系統應用

Linux內核的嵌入式系統應用

作者: 時(shí)間:2012-04-06 來(lái)源:網(wǎng)絡(luò ) 收藏
  

1.4 POSIX線(xiàn)程及NPTL

新的線(xiàn)程模型基于一個(gè)1:1的線(xiàn)程模型(一個(gè)內核線(xiàn)程對應一個(gè)用戶(hù)線(xiàn)程),包括內核對新的 NPTL(Native POSIX Threading Library)的支持,這是對以前內核線(xiàn)程方法的明顯改進(jìn)。2.6內核同時(shí)還提供POSIX signals和POSIX high-resolution timers。POSIX signals不會(huì )丟失,并且可以攜帶線(xiàn)程間或處理器間的通信信息。要求系統按時(shí)間表執行任務(wù),POSIX timer可以提供1kHz的觸發(fā)器使這一切變得簡(jiǎn)單,從而可以有效地控制進(jìn)度。   

1.5 微控制器的支持

Linux2.6 內核加入了多種微控制器的支持。無(wú)MMU的處理器以前只能利用一些改進(jìn)的分支版本,如uClinux,而2.6內核已經(jīng)將其整合進(jìn)了新的內核中,開(kāi)始支持多種流行的無(wú)MMU微控制器,如Dragonball、ColdFire、Hitachi H8/300。Linux在無(wú)MMU控制器上仍舊支持多任務(wù)處理,但沒(méi)有內存保護功能。同時(shí)也加入了許多流行的控制器的支持,如S3C2410等。   

1.6 面向應用

嵌入式應用有用戶(hù)定制的特點(diǎn),硬件設計都針對特定應用開(kāi)發(fā),這給系統帶來(lái)對非標準化設計支持的問(wèn)題(如IRQ的管理)。為了更好地實(shí)現,可以采用部件化的操作系統。Linux2.6采用的子系統架構將功能模塊化,可以定制而對其他部分影響最小。同時(shí)Linux2.6提供了多種新技術(shù)的支持以實(shí)現各種應用開(kāi)發(fā),如Advanced Linux Sound Architecture(ALSA)和Video4Linux等,對多媒體信息處理更加方便;對USB2.0的支持,提供更高速的傳輸,增加藍牙無(wú)線(xiàn)接口、音頻數據鏈接和面向鏈接的數據傳輸L2CAP,滿(mǎn)足短距離的無(wú)線(xiàn)連接的需要;而且在2.6內核中還可以配置成無(wú)輸入和顯示的純粹無(wú)用戶(hù)接口系統。

在根文件系統中,為保護系統的基本設置不被更改,采用CRAMFS格式。采用DEVFS來(lái)實(shí)現基本設備的建立掛載,同時(shí)使用BusyBox也是一個(gè)縮小根文件系統的辦法,提供了系統的基本指令;還需要建立一些必備的目錄,添加所需配置文件,如fstab、inittab等;還有一個(gè)重要的工作就是添加系統應用必備的動(dòng)態(tài)函數庫。使用生成工具mkcramfs 將整個(gè)根文件目錄里的內容制作成映像文件。   

mkcramfs rootfs rootfs.ramfs   

YAFFS文件系統格式的支持需要將驅動(dòng)加入到內核代碼樹(shù)下fs/yaffs/,修改內核配置文件,就可以在內核編譯中加載對該文件系統的支持。使用 mkyaffs工具將NAND FLASH分區格式化為YAFFS分區,將mkyaffsimage生成的應用程序鏡像燒寫(xiě)進(jìn)YAFFS分區,在啟動(dòng)時(shí)通過(guò)寫(xiě)入fstab自動(dòng)加載 YAFFS分區即可。   

2.5 網(wǎng)絡(luò )設備驅動(dòng)

系統中采用CS8900A的10M網(wǎng)絡(luò )芯片, 它使用S3C2410的nGCS3和IRQ_EINT9,相應修改 Linux/arch/arm/mach-s3c2410/irq.c,并在mach-smdk2410.c的smdk2410_iodesc[]中增加 {SMDK2410_ETH_IO,S3C2410_CS2, SZ_1M, MT_DEVICE},內核源碼中加入芯片的驅動(dòng)程序drivers/net/arm/cs8900.h和cs8900.c,并且配置網(wǎng)絡(luò )設備驅動(dòng)的 Makefile和Kconfig文件,加入CS8900A的配置選項,這樣可以在內核編譯時(shí)加載網(wǎng)絡(luò )設備的驅動(dòng)。   

在Linux2.6應用的同時(shí),也要看到其與以前版本內核比較存在的一些問(wèn)題。在內核的編譯時(shí)間、內核鏡像大小、內核占用RAM空間大小、系統啟動(dòng)時(shí)間相對Linux2.4而言都存在不同程度的不足,但在硬件條件日益進(jìn)步的現今可以接受,而且一部分也是由于功能加強必然帶來(lái)的。雖然Linux并非一個(gè)真正的實(shí)時(shí)操作系統,但2.6內核的改進(jìn)能夠滿(mǎn)足大部分的應用需求,所以L(fǎng)inux2.6內核將會(huì )在領(lǐng)域大展身手。


參考文獻
1 Alessandro Rubini,Jonathan Corbet著(zhù),魏永明,駱剛,姜 君譯.Linux設備驅動(dòng)[M].北京:中國電力出版社,2004
2 Anand K Santhanam. 走向Linux2.6[EB/OL]. Dec. 2003.http://www-128.ibm.com/deve loperworks/cn/linux/ l-inside/index.html
3 S3C2410X 32-Bit RISC Microprocessor User′s Manual[Z]. SAMSUNG Electronics. Revision 1.2
4 Brandon White. Linux 2.6: A Breakthrough for Embedded Systems[EB/OL].http://linuxdevices.com/articles/AT7751365763.html Sep.9,2003
5 Karim Yaghmour. Building Embedded Linux Systems[M]. O’Reilly. April, 2003


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>