首页 文章

如何通过文件名获取NAND中的实际文件偏移量?

提问于
浏览
0

使用linux,我可以使用对NAND的原始访问或通过文件系统访问文件 . 所以,当我需要知道,我的文件真正位于NAND中时,我该怎么办?我找不到任何提供此功能的实用程序 . 而且,除了用大量的“printk”破解内核之外,我无法发现任何这种可能性(我认为这不是很好的方式) . 有人可以开导我这个吗? (我正在使用YAFFS2和JFFS2文件系统)

1 回答

  • 2

    您可以使用 nanddump 制作任何分区的副本 . 将分区转储传输到PC . nandsim实用程序可用于在PC上安装分区 .

    modprobe nandsim first_id_byte=0x2c second_id_byte=0xda \
       third_id_byte=0x90 fourth_id_byte=0x95 parts=2,64,64
    flash_erase /dev/mtd3 0 0
    ubiformat /dev/mtd3 -f rootfs.ubi
    

    此命令模拟具有四个分区的Micron 256MB NAND闪存 . 如果您只捕获单个分区而不是整个设备,请不要设置部件 . 您还可以在每个分区上执行 nanddump ,然后将它们全部连接起来 . 此代码以UbiFs分区为目标 mtd3 . 对于 JFFS2YAFFS2 ,您可以在PC上尝试 nandwrite 或其他适当的闪烁实用程序 .

    如何通过文件名获取NAND中的实际文件偏移量?

    这些文件可能跨越几个NAND扇区,它们几乎从不连续 . 将文件数据保持在一起没有太大的好处,因为没有需要物理时间来寻找的磁头 . 有些闪存的顺序读取效率略高;而其他闪存将为来自另一个擦除块的读取提供更好的性能 .

    我会在MTD层或文件系统中打开调试 . 在实时系统中,即使写入文件,文件的位置也可能随着时间的推移而在闪存中迁移 . 这是主动磨损均衡 .

相关问题