eMMC学习记录(1)分区

2 篇文章 0 订阅

eMMC通常有四个分区:boot, RPMB, UDA, general purpose
1.BOOT 分区
boot分区在协议规定中有两个,分别是boot1和boot2,分区大小为BOOT_SIZE_MULT[226] X 128KB,通常为4M,大小如图1所示,boot分区主要用于启动。
图1,分区大小
分区切换:通过Cmd6(Switch), 将PARTITION_CONFIG (before BOOT_CONFIG) [179]中PARTITION_ACCESS [2:0]的值设置成0x1(0x2)即可访问BOOT1(BOOT2)分区。
boot区的读写命令的处理和UDA区相同,通过Cmd23, Cmd18, Cmd25, Cmd12的方式进行数据传输,不允许使用命令class6和class7。
2.RPMB分区
RPMB分区的大小也为128K的整数倍,通常为4M,用于存放受保护的数据。
分区切换:通过Cmd6(Switch), 将PARTITION_CONFIG (before BOOT_CONFIG) [179]中PARTITION_ACCESS [2:0]的值设置成0x3即可访问RPMB分区。
RPMB分区,采用Request + Response的方式进行数据传输,支持Cmd23,Cmd18, Cmd25。Cmd23的Block Cnt只能为1和2(RPMB Data)。
3.UDA分区
UDA(user data area),即用户数据区,是整个eMMC中最大的分区,
4.general purpose partitions
general purpose partitions(GPP)主要用于存储系统和应用数据,一般emmc中可支持最多4个GPP,它的分区大小计算入下式所示:
Size = (GP_SIZE_MULT_x_2 * 2^16 + GP_SIZE_MULT_x_1 * 2^8 + GP_SIZE_MULT_x_0 * 2^0) * (Write protect group size)
Write protect group size = 512KB * HC_ERASE_GRP_SIZE * HC_WP_GRP_SIZE

式子中的GP_SIZE_MULT_x_1 /2/3定义在扩展CSD寄存器中。
GPP 允许使用class0、2、4、5、6命令。

未完待续。。。。。。。。。。。。。

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值