[ Linux驱动炼成记 ] 14 - 存储器EMMC配置DTS中一些参数含义

2019-02-21 16:53:39 浏览数 (1)

项目过程中使用的是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,写入数据量较多的情况

0 人点赞