日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 工業(yè)控制 > 電子設(shè)計自動化
[導(dǎo)讀]作者:孫曉明,華清遠(yuǎn)見嵌入式學(xué)院講師。 uboot源碼默認(rèn)是不支持yaffs文件系統(tǒng)的,所以我們需要自己修改源碼進(jìn)行支持。 首先我們進(jìn)入U-Boot源碼目錄添加對yaffs鏡像燒寫的支持. 在common/cmd_nand.c里仿照jffs2來寫一

作者:孫曉明,華清遠(yuǎn)見嵌入式學(xué)院講師。

uboot源碼默認(rèn)是不支持yaffs文件系統(tǒng)的,所以我們需要自己修改源碼進(jìn)行支持。

首先我們進(jìn)入U-Boot源碼目錄添加對yaffs鏡像燒寫的支持.

在common/cmd_nand.c里仿照jffs2來寫一些yaffs的內(nèi)容:

在:

U_BOOT_CMD(nand, 5, 1, do_nand,

"nand - NAND sub-systemn",

"info - show available NAND devicesn"

"nand device [dev] - show or set current devicen"

"nand read[.jffs2] - addr off|partition sizen"

"nand write[.jffs2] - addr off|partition size - read/write `size' bytes startingn"

" at offset `off' to/from memory address `addr'n"

之后添加nand read.yaffs 的使用說明:

"nand read.yaffs - addr off|partition sizen"

"nand write.yaffs - addr off|partition size - read/write `size' bytes startingn"

然后在nand命令的處理函數(shù)里do_nand中增加對write.yaffs的支持,do_nand在common/cmd_nand.c中實現(xiàn):

在:

if (s != NULL &&

(!strcmp(s, ".jffs2") || !strcmp(s, ".e") || !strcmp(s, ".i"))) {

…….

的判斷后面加:

else if (s != NULL &&

(!strcmp(s, ".yaffs") || !strcmp(s, ".e") || !strcmp(s, ".i"))) {

if (read) {

/* read */

nand_read_options_t opts;

memset(&opts, 0, sizeof(opts));

opts.buffer = (u_char*) addr;

opts.length = size;

opts.offset = off;

opts.readoob = 1;

opts.quiet = quiet;

ret = nand_read_opts(nand, &opts);

} else {

/* write */

nand_write_options_t opts;

memset(&opts, 0, sizeof(opts));

opts.buffer = (u_char*) addr;

opts.length = size;

opts.offset = off;

/* opts.forcejffs2 = 1; */

//opts.pad = 1;

opts.noecc = 1;

opts.writeoob = 1;

opts.blockalign = 1;

opts.quiet = quiet;

ret = nand_write_opts(nand, &opts);

}

}

由于前面設(shè)置了opts.noecc = 1,不使用ecc校驗碼,燒寫過程中會提示這個信息:

Writing data without ECC to NAND-FLASH is not recommended

Writing data without ECC to NAND-FLASH is not recommended

Writing data without ECC to NAND-FLASH is not recommended

Writing data without ECC to NAND-FLASH is not recommended

Writing data without ECC to NAND-FLASH is not recommended

可以修改driver/mtd/nand/nand_base.c文件的nand_write_page函數(shù),將它去掉,修改如下:

case NAND_ECC_NONE:

//printk (KERN_WARNING "Writing data without ECC to NAND-FLASH is not ecommendedn");

this->write_buf(mtd, this->data_poi, mtd->oobblock);

break;

修改完這些,U-BOOT就可以支持yaffs文件鏡像的燒寫了。

“本文由華清遠(yuǎn)見http://www.embedu.org/index.htm提供”



來源:華清遠(yuǎn)見0次

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉