激情五月天婷婷,亚洲愉拍一区二区三区,日韩视频一区,a√天堂中文官网8

<ul id="buwfs"><strike id="buwfs"><strong id="buwfs"></strong></strike></ul>
    <output id="buwfs"></output>
  • <dfn id="buwfs"><source id="buwfs"></source></dfn>
      <dfn id="buwfs"><td id="buwfs"></td></dfn>
      <div id="buwfs"><small id="buwfs"></small></div>
      <dfn id="buwfs"><source id="buwfs"></source></dfn>
      1. <dfn id="buwfs"><td id="buwfs"></td></dfn>
        始創(chuàng)于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業(yè)
        • 60秒人工響應(yīng)
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        全部產(chǎn)品
        您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

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

        發(fā)布時間:  2012/9/8 16:24:47

        二、應(yīng)用研究

         

        在S3C2410開發(fā)板上移植嵌入式Linux 2.6.11.7內(nèi)核系統(tǒng)(QQ:小默862693539),應(yīng)用于構(gòu)建H.264多媒體系統(tǒng)(QQ:小默862693539)。

         

        1、建立交叉編譯環(huán)境

         

        在RedHat9的主機上進行內(nèi)核移植開發(fā),首先需要建立交叉編譯環(huán)境。由于2.6內(nèi)核中采用了一些新的特性和指令,需要采用較新的工具集,采用binutils-2.15、gcc-3.4.2、glibc-2.2.5、linux-2.6.8、glibc-linuxthreads-2.2.5來建立交叉編譯工具鏈,建立之后將工具鏈路徑加入系統(tǒng)(QQ:小默862693539)路徑$PATH中。

         

        2、內(nèi)核修改

         

        Linux 2.6.11.7內(nèi)核加入了對S3C2410芯片的支持,不再需要任何補丁文件。修改內(nèi)核源碼中Makefile的交叉編譯選項ARCH=arm,CROSS_COMPILE=arm-linux-.針對硬件配置,需要在arch/arm/mach-s3c2410/devs.c或者smdk2410.c中添加FLASH的分區(qū)信息s3c_nand_info,如表1.

         

        表1 NAND FLASH分區(qū)表

         

        分區(qū)名 起始地址 大 小

         

        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,使內(nèi)核在啟動時初始化NAND FLASH信息。

         

        3、內(nèi)核編譯加載

         

        對內(nèi)核進行適當?shù)呐渲檬且粋量體裁衣的過程。由于2.6內(nèi)核會根據(jù)本地系統(tǒng)(QQ:小默862693539)配置進行初始設(shè)置,可以導入內(nèi)核源碼默認s3c2410的配置文件,方便加載內(nèi)核基本配置,然后再選擇所需選項。對MTD配置選擇支持MTD設(shè)備驅(qū)動以及NAND FLASH驅(qū)動;選擇支持要用到的各類文件系統(tǒng)(QQ:小默862693539)(DEVFS、TMPFS、CRAMFS、YAFFS、EXT2、NFS)以及網(wǎng)絡(luò)設(shè)備和協(xié)議,本系統(tǒng)(QQ:小默862693539)加載了網(wǎng)絡(luò)芯片CS8900以及USB支持;在H.264多媒體系統(tǒng)(QQ:小默862693539)中還需要加載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

         

        4、文件系統(tǒng)(QQ:小默862693539)

         

        Linux采用文件系統(tǒng)(QQ:小默862693539)組織系統(tǒng)(QQ:小默862693539)中的文件和設(shè)備,為設(shè)備和用戶程序提供統(tǒng)一接口。Linux 支持多種文件系統(tǒng)(QQ:小默862693539),本系統(tǒng)(QQ:小默862693539)使用CRAMFS格式的只讀根文件系統(tǒng)(QQ:小默862693539),而將FLASH中的USER區(qū)使用支持可讀寫的YA FFS文件系統(tǒng)(QQ:小默862693539)格式,方便添加自己的應(yīng)用程序。

         

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

         

        mkcramfs rootfs rootfs.ramfs

         

        YAFFS文件系統(tǒng)(QQ:小默862693539)格式的支持需要將驅(qū)動加入到內(nèi)核代碼樹下fs/yaffs/,修改內(nèi)核配置文件,就可以在內(nèi)核編譯中加載對該文件系統(tǒng)(QQ:小默862693539)的支持。使用mkyaffs工具將NAND FLASH分區(qū)格式化為YAFFS分區(qū),將mkyaffsimage生成的應(yīng)用程序鏡像燒寫進YAFFS分區(qū),在啟動時通過寫入fstab自動加載YAFFS分區(qū)即可。

         

        5、網(wǎng)絡(luò)設(shè)備驅(qū)動

         

        系統(tǒng)(QQ:小默862693539)中采用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ū)動。

         

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


        本文出自:億恩科技【mszdt.com】

        服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

      2. 您可能在找
      3. 億恩北京公司:
      4. 經(jīng)營性ICP/ISP證:京B2-20150015
      5. 億恩鄭州公司:
      6. 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
      7. 億恩南昌公司:
      8. 經(jīng)營性ICP/ISP證:贛B2-20080012
      9. 服務(wù)器/云主機 24小時售后服務(wù)電話:0371-60135900
      10. 虛擬主機/智能建站 24小時售后服務(wù)電話:0371-60135900
      11. 專注服務(wù)器托管17年
        掃掃關(guān)注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
          0
         
         
         
         

        0371-60135900
        7*24小時客服服務(wù)熱線