在emmc的开发中怎么知道当前操作的是哪一个区

在emmc的开发中怎么知道当前操作的是哪一个区

EMMC存储卡对应的的寄存器

读取扩展CSD寄存器的179字节。
在这里插入图片描述
低3bit就是当前在访问的分区。

在这里插入图片描述
其中0就是默认分区,也就是用户分区。

emmc手册里有讲各个分区大小,其中用户分区最大,也是常操作的分区。
在这里插入图片描述

S32K358具体代码示例

S32K358里面,操作分区的切换函数:

Sd_Emmc_Ip_MmcSwitchPartitionAccess(&EmmcCfg_0, SD_IP_MMC_PARTITION_DEFAULT);

上面的代码就是切换到了用户区。

那么切换过去,有没有什么标志?

在代码里可以写:

Sd_Emmc_Ip_CardInformationType CardInformation;
Sd_Emmc_Ip_GetCardInformation(&CardInformation);

以此获取卡片信息,之后在这个结构体里有一个成员说的是当前在使用的分区。
在这里插入图片描述
在这里插入图片描述
这个成员就是获取到的第179字节的信息。如果低3比特是0,那么就是说在用户区。

当然,可以使用函数将当前分区切换,之后再看看这里的变量,就知道效果了。

疑问

为啥手册里没说下图中的分区?
在这里插入图片描述
因为这些分区是用户自己在User 分区里分配的,存储器出厂的时候不会有这些。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值