歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> u-boot-2011.06在基於s3c2440開發板的移植之支持YAFFS2

u-boot-2011.06在基於s3c2440開發板的移植之支持YAFFS2

日期:2017/3/1 10:10:00   编辑:Linux編程

YAFFS和YAFFS2是由AlephOne公司開發的NAND Flash文件系統。YAFFS和YAFFS2主要差異在於PAGE讀寫size的大小,YAFFS2可支持到2Kper page,遠高於YAFFS的512 Bytes,因此YAFFS2對於大容量NANDflash來說更具優勢。

就u-boot來說,主要是能夠使它支持下載YAFFS文件,以供操作系統使用,因此只要能夠實現YAFFS的寫入功能即可,無需實現讀取功能。

u-boot-2011.06是支持寫入YAFFS文件的,但默認情況下,該功能沒有開啟。要想開啟該功能,就必須在include/configs/zhaocj2440.h文件內定義CONFIG_CMD_NAND_YAFFS宏,即:

#define CONFIG_CMD_NAND_YAFFS

至於到底是YAFFS,還是YAFFS2,u-boot-2011.06會根據NANDFlash頁的大小,自動實現。

在定義了CONFIG_CMD_NAND_YAFFS宏以後,u-boot-2011.06會多出一個nand write.yaffs命令,用該命令就可以把YAFFS文件寫入到NANDFlash中,它的格式與nand write相似。

在這裡,我們再隨便介紹一下如何制作YAFFS2文件。

首先輸入下列網址,下載yaffs2-source.tar:

http://fatplus.googlecode.com/files/yaffs2-source.tar

解壓後,進入utils目錄,然後執行make命令編譯文件。該命令執行完後,會在該目錄下生成mkyaffs2image文件,以根用戶的身份再把該文件復制到/usr/bin目錄下,並改變它的屬性,具體操作如下:

$ su
# cp mkyaffs2image /usr/bin/
# chmod 777 /usr/bin/mkyaffs2image

回到普通用戶下,檢查mkyaffs2image是否安裝成功:

$ mkyaffs2image
mkyaffs2image: image building tool for YAFFS2 built Jul 18 2012
usage: mkyaffs2image dir image_file [convert]
dir thedirectory tree to be converted
image_file the output file to hold theimage
'convert' produce a big-endianimage from a little-endian machine

表明安裝成功,其中第二行顯示了該命令的用法:

mkyaffs2image dir image_file

第一個參數為被轉換的目錄,第二個參數為最終輸出的鏡像文件。

相關閱讀:

U-Boot源代碼下載地址 http://www.linuxidc.com/Linux/2011-07/38897.htm

U-Boot-2011.06啟動流程分析 http://www.linuxidc.com/Linux/2011-07/39310.htm

u-boot-2011.06在基於s3c2440開發板的移植之編譯配置 http://www.linuxidc.com/Linux/2011-10/45455.htm

u-boot-2011.06在基於s3c2440開發板的移植之NorFlash啟動 http://www.linuxidc.com/Linux/2011-10/45456.htm

u-boot-2011.06在基於S3C2440開發板的移植之解決raise: Signal # 8 caught http://www.linuxidc.com/Linux/2011-10/454554.htm

u-boot-2011.06在基於s3c2440開發板的移植之支持NandFlash讀寫 http://www.linuxidc.com/Linux/2011-10/45457.htm

u-boot-2011.06在基於s3c2440開發板的移植之硬件ECC http://www.linuxidc.com/Linux/2011-10/454558.htm

u-boot-2011.06在基於s3c2440開發板的移植之DM9000 http://www.linuxidc.com/Linux/2012-09/70507.htm

u-boot-2011.06在基於s3c2440開發板的移植之nandflash啟動 http://www.linuxidc.com/Linux/2012-09/70508.htm

u-boot-2011.06在基於s3c2440開發板的移植之支持YAFFS2 http://www.linuxidc.com/Linux/2012-09/70509.htm

u-boot-2011.06在基於s3c2440開發板的移植之引導內核與加載根文件系統 http://www.linuxidc.com/Linux/2012-09/70510.htm

u-boot-2011.06在基於s3c2440開發板的移植之結束篇 http://www.linuxidc.com/Linux/2012-09/70511.htm

Copyright © Linux教程網 All Rights Reserved