On 2014-04-18 04:22, 284847706 wrote: > hello everyone On 2014-04-18 04:22, 284847706 wrote: > hello everyone I'm very so sorry to waste your time. there is a problem in my own code. fd = yaffs_open ("/ram2k/abc", O_RDWR|O_CREAT, 0); should be fd = yaffs_open ("/ram2k/abc", O_RDWR|O_CREAT, S_IREAD | S_IWRITE); after correction , it works well. and two some small problem 1) in yaffs_nand.c at line 97 int yaffs_query_init_block_state(struct yaffs_dev *dev, int block_no, enum yaffs_block_state *state, u32 *seq_number) { block_no -= dev->block_offset; printf ("seq_number : %d\n", seq_number); return dev->tagger.query_block_fn(dev, block_no, state, seq_number); } is it should be "printf ("seq_number : %d\n", *seq_number);" 2) in yaffs_tagsmarshall.c at line 169 if (retval == 0) return YAFFS_OK; else return YAFFS_FAIL; should it be "return retval;"? With kind regards ------------------------------- ΜοΦΗΦή TEL : 15501024303 E-mail : 284847706@qq.com Address : Haidian,Beijing,100091,China