<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ARM的嵌入式文件系統(tǒng)YAFFS的移植

          基于ARM的嵌入式文件系統(tǒng)YAFFS的移植

          作者: 時間:2012-04-12 來源:網絡 收藏

          6 配置和編譯內核

          1.選中對MTD(memory technology device內存技術設備)的支持.
          Memory Technology Device (MTD)
          support --->
          [~] MTD concatenating support
          • MTD partitioning support
          [~] RedBoot partition table parsing
          [~] Command line partition table parsing
          User Modules And Translation Layers
          • Direct char device access to MTD devices
          • Caching block device access to MTD devices

          MTD 主要是用于訪問memory設備(ROM、flash)的Linux的子.MTD可以使新的memory設備的驅動更加簡單,為此它在硬件和上層之間提供了一個抽象的接口.

          2.選中NAND Device Support
          • NAND Device Support --->
          [~] Verify NAND page writes
          • NAND Flash support for S3C2410/S3C2440 SoC
          • S3C2410 NAND driver debug
          [~] S3C2410 NAND Hardware ECC

          這樣就完成了內核對NAND FLASH的支持.

          3.由于添加了2,所以在內核的配置菜單 [File systems] 中的 [miscellaneous filesystems] 中增加了 [Yaffs2 file systems support] 選項.這個選項就是 2的配置內容.
          File systems ---> Miscellaneous filesystems --->
          2 file system support
          --- 512 byte / page devices
          • Lets Yaffs do its own ECC
          • Use the same ecc byte order as Steven Hill's nand_ecc.c
          --- 2048 byte (or larger) / page devices
          • Autoselect yaffs2 format
          • Disable lazy loading
          • Turn off wide tnodes
          • Turn off debug chunk erase check
          • Cache short names in RAM

          選擇這個選項的全部內容,保存配置,然后退到終端,輸入make zImage,重新編譯內核,這樣就就完成了對YAFFS的定制.

          7 測試掛載的YAFFS系統(tǒng)

          1.用imagewrite命令將YAFFS文件系統(tǒng)的映像文件燒寫到mtdblock3分區(qū).
          2.在ramdisk根文件系統(tǒng)中創(chuàng)建掛載目錄,使用命令mkdir /mnt/yaffs.
          3. 執(zhí)行mount –t yaffs /dev/mtdblock/3 /mnt/yaffs來掛載YAFFS文件系統(tǒng).
          4. 由于內核配置了proc文件系統(tǒng),用cat /proc/mounts 可以查看已經成功掛載了YAFFS文件系統(tǒng),用ls /mnt/yaffs可以查看YAFFS文件系統(tǒng)的內容.

          8 結束語

          本文為開發(fā)者提供了在9平臺上YAFFS文件系統(tǒng)的方法和過程的參考,創(chuàng)新之處是在當前應用中比較新的2.6內核上測試完成的.測試過程中 YAFFS穩(wěn)定性能比JFFS2文件系統(tǒng)要穩(wěn)定的多,而且mount分區(qū)的時間也比JFFS2文件系統(tǒng)少的多。需要注意一點是,即使NAND FLASH 是512+16B的,不需要使用YAFFS2,也必須將對2kpage的NAND FLASH的支持這一項選上,否則編譯無法通過.由于- S3C2410不支持大容量的NAND FLASH,所以flash是512+16B / page的,即使你選擇的是YAFFS2文件系統(tǒng),內核也會自動選擇掛載為YAFFS1文件系統(tǒng),由于實驗系統(tǒng)的局限性,本文只在-S3C2410平臺上實現(xiàn)了YAFFS1文件系統(tǒng)的,在功能更強大ARM 芯片系列中已經加入了對大容量(512M)的NAND FLASH的支持,支持YAFFS2文件系統(tǒng),方法與YAFFS文件系統(tǒng)移植方法大致相同.

          參考文獻:
          [1] 杜春雷,ARM體系結構與編程[M]。北京:清華大學出版社,2003
          [2] 潘巨龍,黃寧,ARM9系統(tǒng)構建與應用[M]。北京:北京航空航天大學出版社,2006
          [3] 陳 春,ARM9技術及Linux高級實踐教程[M]。北京:北京航空航天大學出版社,2005
          [4] Wookey and Tak—Shing,Porting the Linux Kernel to a New ARM Platform,SOLUTIONS JOURNAL,2002,4:52—57
          [5] 郝淑風等.ARM的uCLinux啟動引導實現(xiàn)的分析[J].微計算機信息,2005,8-2:50—52

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

          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();