硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1170|回复: 1
收起左侧

[FileX] SD卡有4个分区,使用_fx_partition_offset_calculate计算出4个DBR,但只有第一个DBR可以media_open成功

[复制链接]

2

主题

2

回帖

8

积分

新手上路

积分
8
发表于 2024-8-28 16:25:11 | 显示全部楼层 |阅读模式
如题,我使用_fx_partition_offset_calculate函数读出DBR,第一个分区是可以正常读写的,后面分区使用media_open时,会返回错误 FX_MEDIA_INVALID,我的用法如下:
1.读取MBR到media->fx_media_driver_buffer中
2.调用该函数:


   _fx_partition_offset_calculate(media->fx_media_driver_buffer, 0, &start, &size)我看了代码,这个函数第二个参数代表就是DBR中描述的第几个主分区的起始扇区,上述使用时是可以在第0个分区正常读写的,但是改为如下:   _fx_partition_offset_calculate(media->fx_media_driver_buffer, 1, &start, &size)或者:   _fx_partition_offset_calculate(media->fx_media_driver_buffer, 2, &start, &size)这样应该是计算的第1个主分区和第2个主分区的DBR地址?
只有访问第0个分区时是可行的,后续分区的访问都会报错FX_MEDIA_INVALID 这是什么原因?是我的用法有错误吗?


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-8-29 09:30:09 | 显示全部楼层
帮顶下,多分区功能没有研究过。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 06:52 , Processed in 0.050957 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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