欧美日韩国产综合网_欧美精品大片_亚洲一区二区三区高清不卡_一区二区三区免费看_亚洲综合好骚_亚洲欧美影院_国产视频不卡_亚洲高清视频一区_免费精品视频_欧美精品一级

  • Linux 2.6 內核的嵌入式系統應用
    21ic

    摘 要:在分析Linux2.6內核新特性的基礎上,在S3C2410開發板上移植了2.6內核和新的文件系統,并成功地對H.264編解碼多媒體系統提供了支持。

    關鍵詞:Linux 內核 嵌入式系統 S3C2410
      隨著多媒體技術與通訊技術相結合的信息技術的快速發展和互聯網的廣泛應用,PC 時代也過渡到了后PC時代。在數字信息技術和網絡技術高速發展的后PC時代,嵌入式技術越來越與人們的生活緊密結合。
      操作系統為用戶使用計算機及其外部設備提供最基本的接口程序,管理計算機上的資源。隨著應用領域的擴大,為了適應不同的應用場合,考慮到系統的靈活性、可伸縮性以及可裁剪性,一種以應用為中心、以計算機技術為基礎、軟硬件可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗要求嚴格的專用計算機系統——嵌入式操作系統隨之延生。
      Linux 操作系統是一種性能優良、源碼公開且被廣泛應用的免費操作系統,由于其體積小、可裁減、運行速度高、良好的網絡性能等優點,可以作為嵌入式操作系統。隨著2.6內核的發布,Linux向現有主流的RTOS提供商在嵌入式系統市場提出了巨大挑戰,例如VxWorks和WinCE,具有許多新特性,將成為更優秀的嵌入式操作系統。
      Linux的低成本和開放性,為其在嵌入式系統領域的應用營造了肥沃的土壤。本文著重介紹Linux 2.6內核的新特性及其嵌入式應用中的優勢,并將其移植到嵌入式平臺中,成功支持H.264編解碼多媒體系統。
    1 Linux 2.6內核針對嵌入式開發顯著特點
      實時可靠性是嵌入式應用較為普遍的要求,盡管Linux 2.6 并不是一個真正的實時操作系統,但其改進的特性能夠滿足響應需求。Linux 2.6 已經在內核主體中加入了提高中斷性能和調度響應時間的改進,其中有三個最顯著的改進:采用可搶占內核、更加有效的調度算法以及同步性的提高[4]。在企業服務器以及嵌入式系統應用領域,Linux 2.6 都是一個巨大的進步。在嵌入式領域,Linux 2.6 除了提高其實時性能,系統的移植更加方便,同時添加了新的體系結構和處理器類型——包括對沒有硬件控制內存管理方案的 MMU-less系統的支持,可以支持大容量內存模型、微控制器,同時還改善了I/O子系統,增添更多的多媒體應用功能[4]
    1.1 可搶占內核
      在先前的內核版本中(包括2.4內核)不允許搶占以核心態運行的任務(包括通過系統調用進入內核模式的用戶任務),只能等待它們自己主動釋放CPU。這樣必然導致一些重要任務延時以等待系統調用結束。
      一個內核任務可以被搶占,為的是讓重要的用戶應用程序可以繼續運行。這樣做最主要的優勢是極大地增強系統的用戶交互性。
      2.6內核并不是真正的RTOS(Real Time Operation System),其在內核代碼中插入了搶占點,允許調度程序中止當前進程而調用更高優先級的進程,通過對搶占點的測試避免不合理的系統調用延時。2.6內核在一定程度上是可搶占的,比2.4內核具備更好的響應性。但也不是所有的內核代碼段都可以被搶占,可以鎖定內核代碼的關鍵部分,確保CPU的數據結構和狀態始終受到保護而不被搶占。
      軟件需要滿足最終時間限制與虛擬內存請求頁面調度之間是相互矛盾的。慢速的頁錯誤處理將會破壞系統的實時響應性,而2.6內核可以編譯無虛擬內存系統避免這個問題,這是解決問題的關鍵,但要求軟件設計者有足夠的內存來保證任務的執行。
    1.2 有效的調度程序
      2.6版本的 Linux內核使用了由 Ingo Molnar開發的新的調度器算法,稱為O(1)算法,如圖1所示。它在高負載情況下執行得極其出色,并且當有很多處理器并行時也可以很好地擴展[2]。過去的調度程序需要查找整個ready task隊列,并且計算它們的重要性以決定下一步調用的task,需要的時間隨task數量而改變。O(1)算法則不再每次掃描所有的任務,當task就緒時被放入一個活動隊列中,調度程序每次從中調度適合的task,因而每次調度都是一個固定的時間。任務運行時分配一個時間片,當時間片結束,該任務將放棄處理器并根據其優先級轉到過期隊列中。活動隊列中任務全部調度結束后,兩個隊列指針互換,過期隊列成為當前隊列,調度程序繼續以簡單的算法調度當前隊列中的任務。這在多處理器的情況更能提高SMP的效率,平衡處理器的負載,避免進程在處理器間的跳躍。
    1.3 同步原型與共享內存
      多進程應用程序需要共享內存和外設資源,為避免競爭采用了互斥的方法保證資源在同一時刻只被一個任務訪問。Linux內核用一個系統調用來決定一個線程阻塞或是繼續執行來實現互斥,在線程繼續執行時,這個費時的系統調用就沒有必要了。Linux2.6所支持的Fast User-Space Mutexes 可以從用戶空間檢測是不是需要阻塞線程,只在需要時執行系統調用終止線程。它同樣采用調度優先級來確定將要執行的進程[4]。 多處理器嵌入式系統各處理器之間需要共享內存,對稱多處理技術對內存訪問采用同等優先級,在很大程度上限制了系統的可量測性和處理效率。Linux2.6則提供了新的管理方法——NUMA(Non Uniform Memory Access)。NUMA根據處理器和內存的拓撲布局,在發生內存競爭時,給予不同處理器不同級別權限以解決內存搶占瓶頸,提高吞吐量。
    1.4 POSIX線程及NPTL
      新的線程模型基于一個1:1的線程模型(一個內核線程對應一個用戶線程),包括內核對新的 NPTL(Native POSIX Threading Library)的支持,這是對以前內核線程方法的明顯改進。2.6內核同時還提供POSIX signals和POSIX high-resolution timers。POSIX signals不會丟失,并且可以攜帶線程間或處理器間的通信信息。嵌入式系統要求系統按時間表執行任務,POSIX timer可以提供1kHz的觸發器使這一切變得簡單,從而可以有效地控制進度。
    1.5 微控制器的支持
      Linux2.6內核加入了多種微控制器的支持。無MMU的處理器以前只能利用一些改進的分支版本,如uClinux,而2.6內核已經將其整合進了新的內核中,開始支持多種流行的無MMU微控制器,如Dragonball、ColdFire、Hitachi H8/300。Linux在無MMU控制器上仍舊支持多任務處理,但沒有內存保護功能。同時也加入了許多流行的控制器的支持,如S3C2410等。
    1.6 面向應用
      嵌入式應用有用戶定制的特點,硬件設計都針對特定應用開發,這給系統帶來對非標準化設計支持的問題(如IRQ的管理)。為了更好地實現,可以采用部件化的操作系統。Linux2.6采用的子系統架構將功能模塊化,可以定制而對其他部分影響最小。同時Linux2.6提供了多種新技術的支持以實現各種應用開發,如Advanced Linux Sound Architecture(ALSA)和Video4Linux等,對多媒體信息處理更加方便;對USB2.0的支持,提供更高速的傳輸,增加藍牙無線接口、音頻數據鏈接和面向鏈接的數據傳輸L2CAP,滿足短距離的無線連接的需要;而且在2.6內核中還可以配置成無輸入和顯示的純粹無用戶接口系統。
    2 應用研究
      在S3C2410開發板上移植嵌入式Linux 2.6.11.7內核系統,應用于構建H.264多媒體系統。
    2.1 建立交叉編譯環境
      在RedHat9的主機上進行內核移植開發,首先需要建立交叉編譯環境。由于2.6內核中采用了一些新的特性和指令,需要采用較新的工具集,采用binutils-2.15、gcc-3.4.2、glibc-2.2.5、linux-2.6.8、glibc-linuxthreads-2.2.5來建立交叉編譯工具鏈,建立之后將工具鏈路徑加入系統路徑$PATH中。
    2.2 內核修改
      Linux 2.6.11.7內核加入了對S3C2410芯片的支持,不再需要任何補丁文件。修改內核源碼中Makefile的交叉編譯選項ARCH=arm,CROSS_COMPILE=arm-linux-。針對硬件配置,需要在arch/arm/mach-s3c2410/devs.c或者smdk2410.c中添加FLASH的分區信息s3c_nand_info,如表1。

    表1 NAND FLASH分區表

    分區名 起始地址 大 小
    Vivi 0x00000000 0x00020000
    Param 0x00020000 0x00010000
    Kernel 0x00030000 0x001c0000
    Root 0x00200000 0x00200000
    Usr 0x00400000 0x03c00000

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




     
     
    網站首頁  |  關于我們  |  聯系我們  |  廣告服務  |  版權隱私  |  友情鏈接  |  站點導航
     
    欧美日韩国产综合网_欧美精品大片_亚洲一区二区三区高清不卡_一区二区三区免费看_亚洲综合好骚_亚洲欧美影院_国产视频不卡_亚洲高清视频一区_免费精品视频_欧美精品一级
    亚洲一区成人| 亚洲伊人观看| 亚洲午夜电影| 欧美日韩调教| 午夜欧美视频| 国产精品v一区二区三区| 蜜桃久久精品乱码一区二区| av成人毛片| 中文有码久久| 欧美日本韩国一区二区三区| 亚洲精品婷婷| 欧美 日韩 国产在线| 在线观看一区| 亚洲欧美日韩另类精品一区二区三区| 欧美一区高清| 国产精品制服诱惑| 伊人久久婷婷色综合98网| 亚洲一区二区动漫| 亚洲国产专区校园欧美| 欧美一区激情| 久久成人免费| 国产亚洲福利| 在线播放豆国产99亚洲| 久久精品在线| 一区二区国产精品| 亚洲国产精品www| 亚洲欧美综合| 久久久久久久尹人综合网亚洲| 亚洲精品一区二区三区蜜桃久| 欧美激情在线| 欧美女激情福利| 久久亚洲美女| 久久一二三四| 久久午夜影视| 久久亚洲精品欧美| 久久久久久久欧美精品| 亚洲一区二区三区免费在线观看| 亚洲精品欧洲| 一区久久精品| 在线日韩视频| 一区二区高清| 亚洲欧美大片| 噜噜噜躁狠狠躁狠狠精品视频 | 午夜精品视频| 久久一区二区精品| 欧美阿v一级看视频| 久久国产精品免费一区| 国产精品久久国产愉拍| 国产精品久久久一区二区| 亚洲理论在线| 亚洲欧美国产不卡| 久久久久久自在自线| 久久资源在线| 国产在线欧美日韩| 亚洲美女色禁图| 亚洲欧美大片| 欧美日韩午夜| 1000部精品久久久久久久久| 一区二区精品在线| 免费一区二区三区| 欧美三级不卡| 国产欧美日韩一区二区三区在线 | 性色一区二区三区| 久久大香伊蕉在人线观看热2| 国产欧美日韩综合一区在线观看| 亚洲影院一区| 亚洲欧美综合国产精品一区| 亚洲午夜激情| 免费视频一区| 亚洲黄色成人久久久| 国产精品免费看| 午夜精品网站| 一区二区三区四区国产| 久久亚洲风情| 亚洲精品日本| 亚欧美中日韩视频| 黑人一区二区| 乱码第一页成人| 尤物在线精品| 欧美一区免费| 一本色道久久综合| 欧美另类女人| 国产精品免费一区二区三区在线观看| 久久久xxx| 日韩天堂av| 欧美日韩一区二区视频在线观看| 在线视频观看日韩| 欧美黄免费看| 免费在线国产精品| 99精品久久| 欧美日韩亚洲一区三区| 国产亚洲二区| 在线免费高清一区二区三区| 久久亚裔精品欧美| 中文精品视频| 亚洲国产精品毛片| 欧美高清视频一区二区三区在线观看| 日韩午夜av| 欧美日韩网站| 老妇喷水一区二区三区| 国产日韩欧美三级| 亚洲成人直播| 激情综合自拍| 狠狠色综合一区二区| 欧美高清视频一区| 久久人人97超碰人人澡爱香蕉| 一本色道久久综合| 亚洲精品美女91| 亚洲高清二区| 91久久亚洲| 亚洲日韩成人| 一区二区三区高清视频在线观看| 国模一区二区三区| 国产精品av一区二区| 欧美成人亚洲| 欧美精品一区在线发布| 欧美久久综合| 激情欧美日韩| 最新国产乱人伦偷精品免费网站| 很黄很黄激情成人| 亚洲黄色影院| 国产精品久久久久久模特| 国产亚洲欧美一区二区| 一区二区三区四区国产| 国产亚洲毛片在线| 亚洲欧美激情诱惑| 午夜在线观看免费一区| 久久久www| 欧美欧美全黄| 在线欧美日韩| 中文在线一区| 久久午夜精品一区二区| 欧美日韩国产精品一卡| 亚洲福利精品| 亚洲免费婷婷| 国产一区二区三区四区hd| 精品9999| 欧美一级播放| 黄色在线一区| 亚洲免费中文| 欧美 日韩 国产 一区| 久久亚洲欧洲| 久久精品国产综合精品| 蜜桃视频一区| 欧美日韩四区| 欧美日韩一区在线播放| 国产自产在线视频一区| 亚洲精品一区二区三区蜜桃久| 亚洲人体偷拍| 麻豆久久精品| 黑人中文字幕一区二区三区 | 欧美日韩一区二区视频在线| 国产精品观看| 一区二区冒白浆视频| 校园激情久久| 亚洲激情二区| 久久久久欧美精品| 在线视频观看日韩| 一区二区国产精品| 亚洲午夜精品久久久久久app| 精品成人免费| 久久精品日韩欧美| 激情五月***国产精品| 国产精品久久777777毛茸茸| 欧美日韩另类丝袜其他| 国产美女在线精品免费观看| 黑丝一区二区三区| 久久一二三区| 亚洲免费网址| 亚洲三级电影在线观看| 欧美在线三区| 先锋影音一区二区三区| 亚洲高清激情| 欧美日韩在线观看一区二区三区| 国产亚洲在线观看| 亚洲无线视频| 欧美亚韩一区| 欧美成人日韩| 久久午夜精品| 久久国产主播精品| 亚洲一区精品视频| 国产精品久久久久久久久久直播 | 亚洲国产精品久久久久婷婷老年| 国产精品一区在线播放| 亚洲激情网址| 亚洲精品1区2区| 亚洲国产精品第一区二区三区| 欧美精品国产一区二区| 老司机精品久久| 久色成人在线| 欧美日韩在线不卡一区| 欧美精品一区在线| 欧美日韩国产探花| 国产精品二区在线| 国产一区在线免费观看| 欧美日韩亚洲一区二区三区四区| 欧美成熟视频| 精品91在线| 日韩香蕉视频| 亚洲综合日本| 麻豆亚洲精品| 欧美日韩ab| 伊人精品成人久久综合软件| 国语精品中文字幕| 亚洲日本激情| 老鸭窝毛片一区二区三区| 久久久水蜜桃| 黄色欧美日韩| 制服诱惑一区二区| 在线亚洲自拍| 久久亚洲精选| 精品1区2区| 国产精品一区二区欧美| 久热精品在线| 影音先锋亚洲一区| 国产伦精品一区二区三区视频黑人| 先锋影音久久| 国内久久视频| 亚洲欧美日本日韩| 国产精品videosex极品| 日韩一级免费| 欧美xxx在线观看| 亚洲美女视频在线免费观看| 免费日韩一区二区| 伊人蜜桃色噜噜激情综合| 国产九区一区在线| 极品裸体白嫩激情啪啪国产精品| 国产伦一区二区三区色一情| 欧美日韩一区在线播放| 99精品国产在热久久婷婷| 欧美~级网站不卡| 国产亚洲精品v| 激情综合在线| 欧美二区视频| 亚洲欧美日本日韩| 在线日韩av| 欧美精品国产一区二区| 一本色道婷婷久久欧美| 国产精品mm| 欧美黄在线观看| 欧美亚洲一区二区三区| 91久久极品少妇xxxxⅹ软件| 欧美激情四色| 麻豆成人小视频| 国产亚洲亚洲| 亚洲精品欧美精品| 国产综合欧美在线看| 久久国产主播| 亚洲一区二区三区精品动漫| 影音先锋久久精品| 欧美日韩一区二区国产| 欧美 日韩 国产在线 | 欧美一级专区| 一区二区三区导航| 极品尤物久久久av免费看| 亚洲欧美一区二区原创| 久久精品天堂| 美女精品一区| 国产农村妇女精品一区二区| 日韩亚洲不卡在线| 91久久久久| 国产精品第十页| 欧美色图首页| 国产综合激情| 136国产福利精品导航网址| 国产综合久久| 狠狠综合久久| 亚洲国产精品久久久久久女王 | 欧美成ee人免费视频| 国产九区一区在线| 国产亚洲精品v| 国产精品久久九九| 午夜在线a亚洲v天堂网2018| 亚洲一区免费| 久久午夜精品| 欧美久色视频| 黄页网站一区| 亚洲精品专区| 国产伦精品一区| 久久国产日本精品| 午夜日韩电影| 亚洲国产精品一区| 国产欧美日本在线| 亚洲欧美视频一区二区三区| 久久天天综合| 激情久久久久久久| 国产日韩一区| 欧美a级在线| 亚洲激情午夜| 免费看亚洲片| 欧美精品首页| 亚洲精品日本| 欧美一区1区三区3区公司 | 欧美精品午夜| 1024成人| 奶水喷射视频一区| 国产精品v欧美精品∨日韩| 亚洲成人在线| 久久久久高清| 在线视频观看日韩| 亚洲女同在线| 欧美日韩一区二区三区在线观看免 | 亚洲国产精品www| 国产亚洲精品v| 久久三级视频| 99综合在线| 久久青草久久| 一区二区福利| 国内视频精品| 久久午夜av| 国产欧美日韩一区二区三区在线| 老**午夜毛片一区二区三区 | 国产一区二区三区自拍| 国产日韩亚洲| 影音先锋久久| 欧美日韩1区2区3区| 国产深夜精品| 亚洲第一毛片| 国产一区高清视频| 美女精品在线| av不卡免费看| 在线欧美三区| 韩国精品一区二区三区| 久久一区二区精品| 国产精品久久九九| 亚洲精品精选| 亚洲福利国产| 国产自产精品| 欧美女人交a| 你懂的国产精品永久在线| 国产精品免费看| 99视频+国产日韩欧美| 极品av少妇一区二区| 欧美日韩亚洲一区二区三区在线| 香蕉国产精品偷在线观看不卡| 亚洲精品欧洲精品| 亚洲高清二区| 亚洲国产日韩欧美| 在线观看欧美一区| 伊人久久久大香线蕉综合直播| 欧美日韩国产高清| 欧美日韩另类综合| 国产精品地址| 悠悠资源网久久精品| 精品91在线| 亚洲欧洲精品一区二区| 伊人久久综合| 亚洲高清电影| 一区二区高清| 亚洲欧美清纯在线制服| 性欧美videos另类喷潮| 免费视频一区| 欧美激情第10页| 精品91免费| 国产精品夜夜夜| 久久久久综合| 欧美日韩亚洲在线| 最新成人av网站| 亚久久调教视频| 欧美日韩一区二区三区在线视频| 亚洲天堂偷拍| 国产精品乱码一区二区三区| 美女黄网久久| 精品9999| 欧美亚洲免费| 狠狠色综合网站久久久久久久| 亚洲三级网站| 久久天天综合| 一区国产精品| 免费试看一区| 精品白丝av| 久久久久网站| 亚洲免费黄色| 欧美激情91| 一区二区三区精品视频在线观看 | 亚洲欧美综合一区| 黄色亚洲在线| 亚洲一区图片| 亚洲午夜黄色| 久久精品卡一| 亚洲国产免费看| 久久久久久九九九九| 伊人天天综合| 老司机久久99久久精品播放免费| 亚洲私人影院| 蘑菇福利视频一区播放| 影音先锋久久| 欧美成人一品| 亚洲一区二区网站| 国产精品大片免费观看| 国产女优一区| 亚洲欧洲日韩综合二区| 久久这里有精品15一区二区三区| 91久久精品国产91久久性色tv| 蜜乳av另类精品一区二区| 最新国产乱人伦偷精品免费网站| 久久精品电影| 国产精品久久久久毛片大屁完整版 | 午夜影院日韩| 亚洲精品在线观看免费|