当前位置: 技术问答>linux和unix
关于应用程序直接读写Flash的问题
来源: 互联网 发布时间:2016-09-19
本文导语: RT,我用如下方式读写flash的: //打开设备 if((fd = open(FALSH_DEVICE,O_RDWR)) == -1) { perror("open Flash"); exit(1); } //填充MTD设备容量结构体 if(ioctl(fd,MEMGETINFO,&meminfo) != 0) { perror("MEMGETINFO"); close(fd); exit(1); } /...
RT,我用如下方式读写flash的:
我现在想问的就是在写之前和写之后,每个page的OOB相同么?我在写之前读取OOB,在写之后再按原样写进去??
请教高手??
//打开设备
if((fd = open(FALSH_DEVICE,O_RDWR)) == -1)
{
perror("open Flash");
exit(1);
}
//填充MTD设备容量结构体
if(ioctl(fd,MEMGETINFO,&meminfo) != 0)
{
perror("MEMGETINFO");
close(fd);
exit(1);
}
//write
byte_write = pwrite(fd,writeBuf,WEITE_BUFFER_SIZE,0);
//read
byte_read = pread(fd,readBuf,READ_BUFFER_SIZE,0);
我现在想问的就是在写之前和写之后,每个page的OOB相同么?我在写之前读取OOB,在写之后再按原样写进去??
请教高手??
|
不会, 坏块的标准是 :
当该块不能被擦除时, 才会标记为坏块,跟 oob 信息关系不大。
在每个块的第一个page的 oob 信息中标记坏块,
但是如果你自己去写oob 信息,刚好又写到了第一个page的oob 信息,那就。。。。
当该块不能被擦除时, 才会标记为坏块,跟 oob 信息关系不大。
在每个块的第一个page的 oob 信息中标记坏块,
但是如果你自己去写oob 信息,刚好又写到了第一个page的oob 信息,那就。。。。
|
1. 每个page的OOB相同,不同的page size, 有不同的OOB size.