MTK-6235型号以上手机FLASH的划分

以某项目为例,系统为NAND FLASH。

此项目的FLASH大小为1Gb,即128MB。

custom_memorydevice.h文件中定义了FLASH的分布,

#define NAND_BOOTING_NAND_FS_BASE_ADDRESS         0x03400000              //52M的代码和CONST 数据

#define NAND_BOOTING_NAND_FS_SIZE                 0x04C00000              //系统区和用户区的和:79691776BYTE == 76M 

#define NAND_BOOTING_NAND_FS_FIRST_DRIVE_SECTORS  125000                //用户文件区大小:125000*512 === 64000000BYTE,大概61MB

  |----------------------------------------------------FLASH的大小,总共128M---------------------------------------------------->|

划分|---------(code,CONST数据区)-----------|---------------(系统文件区)------------------|-----------(用户文件区)-------------|

大小|----------------52M-------------------|------(76M-64000000/1024/1024=大概15M)-------|--------(64000000=大概61M)----------|

范围|--------(0——0x03400000)-------------|-----(0x03400000——0x42F7000)-----------------|-------(0x42F7000——0x8000000)-------|

0x42F7000是由0x03400000+((16进制)(79691776-64000000))换算得到的,即CODE区边界值加上系统区的大小。

 

1、CODE区一般是在编译报错的情况下会往大的调整,减少用户文件区的方式可以达到。这个区的大小应该对应生成的几个.bin文件大小的和;

2、系统文件区一般会在某些应用不能使用的情况下进行调整,例如有些JAVA应用无法安装,系统区需要加大,也可以通过调整用户区的方式达到;

只能通过调整NAND_BOOTING_NAND_FS_BASE_ADDRESS的大小来调整此区域。

此区域扩展常用的有两种方法,一是增大NAND_BOOTING_NAND_FS_SIZE的值,向左压缩,减少CODE区实现;二是减小NAND_BOOTING_NAND_FS_FIRST_DRIVE_SECTORS的值,即减小

用户文件区的大小来增加系统区;或者两种方法结合使用。

3、用户文件区指的是从MYDATA中可以看到的那部分的大小,一般大点或小点都无所谓。通过调整NAND_BOOTING_NAND_FS_FIRST_DRIVE_SECTORS的大小来调整此区域。

 

系统文件区的大小为79691776 - 64000000 = 大概14.96484375

用户文件区的大小为64000000=大概61M

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值