野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8011|回复: 9

FLASH挂载FATFS文件系统为何要在4字节地址模式呢?

[复制链接]
发表于 2021-10-24 09:41:05 | 显示全部楼层 |阅读模式
如题:FLASH挂载FATFS文件系统为何要在4字节地址模式呢?

在没有进入4字节地址模式前,默认位3字节地址模式,就一直挂载不了,进入4字节地址模式才能挂载文件系统。

这是为啥?有人知道吗?
回复

使用道具 举报

 楼主| 发表于 2021-10-24 14:59:39 | 显示全部楼层
板子是F429挑战者V2的板子,大神帮忙答疑下,谢谢~
回复 支持 反对

使用道具 举报

发表于 2021-10-25 08:57:46 | 显示全部楼层
文件系统要求的
回复 支持 反对

使用道具 举报

发表于 2021-10-25 09:11:53 | 显示全部楼层
因为3字节地址最大能访问到的空间是128Mbit,如果flash容量超过128Mbit就必须用4字节地址来访问
回复 支持 反对

使用道具 举报

发表于 2021-10-25 09:46:36 | 显示全部楼层
32位操作当然就是每次读4字节的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-26 21:27:04 | 显示全部楼层
瞎眼灯 发表于 2021-10-25 09:11
因为3字节地址最大能访问到的空间是128Mbit,如果flash容量超过128Mbit就必须用4字节地址来访问 ...

野火这块V2的板,FLASH容量只有32M大小呀
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-26 21:28:47 | 显示全部楼层

在哪里可以看到?可是文件系统读写FLASH不也是使用我自己的读写函数吗?我的读写函数用的是3地址,我觉得读写应该没问题呀
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-26 21:30:18 | 显示全部楼层
LF_laffy 发表于 2021-10-25 09:46
32位操作当然就是每次读4字节的

我读写函数里使用3字节地址是可以读FLASH内容呢,文件系统读写FLASH用的不是我写的读写函数吗
回复 支持 反对

使用道具 举报

发表于 2021-10-27 09:00:45 | 显示全部楼层
本帖最后由 瞎眼灯 于 2021-10-27 09:03 编辑
CJQ小白 发表于 2021-10-26 21:27
野火这块V2的板,FLASH容量只有32M大小呀

这个是因为单位不一样,通常说的32M一般指的是32M字节(Byte),flash里面地址空间是以位(bit)为单位,1 Byte = 8 bit,所以32M Bytes = 256M bits,对应flash型号也就是W25Q256
也就是说在这个型号的flash上如果用3字节地址模式,最多只能访问到前16M字节,后16MB是没法访问的
所以在3字节地址模式下,当文件系统代码里定义了32MB的总磁盘大小,或者是磁盘扇区起始地址定义在了后16M字节,就会挂载不上

回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-2 18:42:37 | 显示全部楼层
瞎眼灯 发表于 2021-10-27 09:00
这个是因为单位不一样,通常说的32M一般指的是32M字节(Byte),flash里面地址空间是以位(bit)为单位,1 ...

好的,谢谢~~这个还真没了解到,现在跟着视频尽快把知识框架搭起来,后面这些细节再慢慢研究
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 08:42 , Processed in 0.029994 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表