项目过程中使用的是Amlogic A113x芯片, 配置emmc dts 时候,有些参数解释比较模糊,这里着重解释下
代码语言:javascript复制partitions: partitions{
parts = <3>;
part-0 = <&logo>;
part-1 = <&cache>;
part-2 = <&reserve>;
logo:logo{
pname = "logo";
size = <0x0 0x200000>;
mask = <1>;
};
cache:cache
{
pname = "cache";
size = <0x0 0x1E00000>;
mask = <2>;
};
reserve:reserve
{
pname = "reserve";
size = <0xffffffff 0xffffffff>;
mask = <4>;
};
};
其中重点解释 mask 的含义 :
mask的含义:
代码语言:javascript复制// 对应的头文件 include/linux/mmc/emmc_partitions.h
#define STORE_CODE 1
#define STORE_CACHE (1<<1)
#define STORE_DATA (1<<2)
mask的值表明该分区所处的NTFL区域
NFTL全称是 NAND Flash Translation Layer(NAND Flash 转换层,NFTL)在NAND Flash芯片上实现了一个虚拟块设备。然后必须使用一个磁盘形式的文件系统,例如FAT或者ext2,通过受NFTL管理的MTD设备存取数据。 -> 百度百科解释
NFTL主要有3个,code/cache/data,其各自具备如下的属性,新增分区请根据其读写特性选择对应的NFTL
代码语言:javascript复制1. Code-NFTL:RO,只读分区
2. Cache-NFTL:RW,写入数据量较少的情况
3. Data-NFTL:RW,写入数据量较多的情况