当前位置: 技术问答>linux和unix
NAND FLASH读写的问题
来源: 互联网 发布时间:2016-09-08
本文导语: 现在想读写nand-flash 采用 open ( "/dev/mtdblock1", read write lseek close 方式 问题1: read/write/lseek 最小单位是page 还是block, 问题2: 假设一个block 256k (2k/page * 128), 要写一个文件正好256k,写到第n个块,但这个是坏块,或之前...
现在想读写nand-flash
采用
open ( "/dev/mtdblock1",
read
write
lseek
close
方式
问题1:
read/write/lseek 最小单位是page 还是block,
问题2:
假设一个block 256k (2k/page * 128), 要写一个文件正好256k,写到第n个块,但这个是坏块,或之前有坏块,
lseek(, n*256k ), 还是 lseek( (n+1)*256k)
问题3:
/dev/mtdblock1 是yaffs2, /dev/mtdblock2 存放bootloader,无文件系统,读写还这样都可以吗
采用
open ( "/dev/mtdblock1",
read
write
lseek
close
方式
问题1:
read/write/lseek 最小单位是page 还是block,
问题2:
假设一个block 256k (2k/page * 128), 要写一个文件正好256k,写到第n个块,但这个是坏块,或之前有坏块,
lseek(, n*256k ), 还是 lseek( (n+1)*256k)
问题3:
/dev/mtdblock1 是yaffs2, /dev/mtdblock2 存放bootloader,无文件系统,读写还这样都可以吗
|
问题1:
read/write/lseek 最小单位是page 还是block,
问题2:
假设一个block 256k (2k/page * 128), 要写一个文件正好256k,写到第n个块,但这个是坏块,或之前有坏块,
lseek(, n*256k ), 还是 lseek( (n+1)*256k)
问题3:
/dev/mtdblock1 是yaffs2, /dev/mtdblock2 存放bootloader,无文件系统,读写还这样都可以吗
=========================================================
1. 读写的最小单位是 page. 擦除的最小单位是 block.
2. lseek( (n+1)*256k
3. /dev/mtdblock1 是yaffs2 , 这个你不要直接读写, 会损坏 yaffs 文件系统。
/dev/mtdblock2 存放bootloader,无文件系统, 这个可以。
最后,不建议直接通过 MTD 操作 flash.
read/write/lseek 最小单位是page 还是block,
问题2:
假设一个block 256k (2k/page * 128), 要写一个文件正好256k,写到第n个块,但这个是坏块,或之前有坏块,
lseek(, n*256k ), 还是 lseek( (n+1)*256k)
问题3:
/dev/mtdblock1 是yaffs2, /dev/mtdblock2 存放bootloader,无文件系统,读写还这样都可以吗
=========================================================
1. 读写的最小单位是 page. 擦除的最小单位是 block.
2. lseek( (n+1)*256k
3. /dev/mtdblock1 是yaffs2 , 这个你不要直接读写, 会损坏 yaffs 文件系统。
/dev/mtdblock2 存放bootloader,无文件系统, 这个可以。
最后,不建议直接通过 MTD 操作 flash.