0
点赞
收藏
分享

微信扫一扫

norflash制作fatfs失败

由于项目硬件资源有限,norflash被当成主控扩展Flash供应用程序使用,而主控本身Flash只有128K,项目需要用存放定制音乐文件。无奈之下,笔者只能将norflash制作成可读文件系统,写操作均为boot中实现。 项目使用的norflash为W25QXX系列,容量最大为16M,特定如下:

  • 页:256字节;
  • 扇区:4K字节;
  • 块:64K字节;

因此,其要作为文件系统,则只能使用FAT16格式,FAT16分区和簇关系如下:

分区大小 FAT16簇大小
16MB-127MB 2KB
128MB-255MB 4KB
256MB-511MB 8KB
512MB-1023MB 16KB
1024MB-2047MB 32KB

问题

笔者将底层IO读写操作定为4K,则norflash格式能成功,挂载也能成功,但是只能写无法读,写入几次后也无法写入。

遇到这种问题,可以使用简单的方法验证小容量以4K作为扇区是否可行,利用主控片上RAM来实现文件系统,笔者利用64K RAM作为测试,很显然最后无法格式化成功。

因此,笔者将IO读写操作定位512字节后,读写都能正常了。

注意:底层IO读写扇区为512,在格式化时,簇大小不能为4K,否则会格式化失败,笔者使用512字节作为簇。可能需要参照上述表格,笔者没验证过2K是否可行。

举报

相关推荐

0 条评论