SD卡如何保留部分空间

2019-07-20 19:06发布

各位好,

我想在4G的SD卡中保留10M空间来存储字符之类的数据,剩余作为一个通用存储,并在通过USB连上电脑时模拟一个U盘,这样可行吗?目前使用整个SD卡来做一个U盘是没问题了,可我不知道保留部分空间如何操作,还请指教
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
shuaigew88
1楼-- · 2019-07-21 16:04
yanzhongsan 发表于 2016-10-31 09:34
多谢你的回答,我的SD卡是固定在板上的,所以不存在取下来直接用读卡器的问题;现在我的操作是在STORAGE_ ...

总地址的最后区域。
yanzhongsan
2楼-- · 2019-07-21 17:30
shuaigew88 发表于 2016-10-28 16:28
很简单,如SD卡容量128M,扇区是512字节这是固定的,那么128M的卡实际容量大概在120M左右如果你想腾出5M ...

"在FATFS中格式化的时候容量参数写115M/512BYTE=235520 SectorNumber",这句话不是很懂,FATFS中格式化的函数是f_mkfs, 其原型为:
FRESULT f_mkfs (
        const TCHAR* path,        /* Logical drive number */
        BYTE sfd,                        /* Partitioning rule 0:FDISK, 1:SFD */
        UINT au                                /* Size of allocation unit in unit of byte or sector */
)
你是指将第三个参数设置为保留后的大小?

另外我尝试修改 STORAGE_GetCapacity_FS 函数,将block_num修改为保留空间后的大小后,插入电脑端发现总容量大小居然没有变化,请问这是什么情况?难道不是这个函数返回给电脑端U盘的容量大小?
shuaigew88
3楼-- · 2019-07-21 18:12
yanzhongsan 发表于 2016-10-31 14:43
"在FATFS中格式化的时候容量参数写115M/512BYTE=235520 SectorNumber",这句话不是很懂,FATFS中格式化的 ...

第三个参数应该是簇的大小,跟容量没关系。
yanzhongsan
4楼-- · 2019-07-21 18:53
shuaigew88 发表于 2016-10-31 17:04
第三个参数应该是簇的大小,跟容量没关系。

刚刚在单片机内重新格式化了一遍,发现电脑端跟着发生了变化,估计电脑端的容量是根据文件SD卡内的文件系统表来获取的,所以我改那个USB端口获取容量的函数没有效果,现在应该已经保留了部分内容;我再想办法写些数据到保留区测试下,多谢
shuaigew88
5楼-- · 2019-07-21 21:13
 精彩回答 2  元偷偷看……

一周热门 更多>