MTK6577+Android内存由512MB升级为1GB的修改
MTK6577采用的内存芯片为H9TP32A4GDMCPR,包括4GB的eNAND和512MB的 LPDDR2,先升级为H9TP32A8JDMCPR,包括4GB的eNAND和1GB的LPDDR2
1. MCP简介
Mcp =Multi-Chip-Package
即多制层封装芯片,在手机等手持智能终端设备上有广泛的应用。
手机MCP市场可以分成两个主要部分,一部分是基于NOR闪存的MCP,可以完成芯片内执行XIP功能;另一部分是NAND闪存解决方案与移动DRAM相结合,可以执行存储下载SnD任务。
2. 升级前后的MCP
2.1 升级前采用的MCP
\mediatek\custom\hsimobile77_ics2\preloader\inc\custom_MemoryDevice.h
根据此目录下定义:
#defineCS_PART_NUMBER[0] H9TP32A4GDMCPR
可知升级前采用的MCP型号是H9TP32A4GDMCPR,集成了4GB的e-NAND和4Gb的LPDDR2
e-NAND和LPDDR2的引脚说明如下
图1
系统跑起来后通过Settings--->Apps--->RUNNING
图2
通过这里可以看到系统已使用的内容和空闲内存,也就可以知道总的内存。
2.2 升级后采用的MCP
升级后的MCP为H9TP32A8JDMCPR=4GB的e-NAND + 8Gb的LPDDR2,也就是相对于之前的LPDDR2扩大一般,现在为8Gb,下面给出相关部分,红色部分是和之前的MCP有差别的引脚
图3
由此可见新的MCP的LPDDR2是有两片4Gb的LPDDR2组成的。
图4
由此可见MT6577最多支持2个外部存储器,而且每个最大是512MB,也就是说MT6577最大只支持1GB的内存,恰好我们这次升级为1GB的内存,恰好等于它最大可寻址空间。
接下来要确认现在采用的MCP是否在MTK官方公布(MTK_MVG_Rlease)支持的列表中,\mediatek\build\tools\emigen\MT6577\MemoryDeviceList_MT6577.xls中比部分内容如下:
图5
MTK_MVG_Release,MVG是Memory Verification Group(内存验证组)的简称,从图5可知,MTK6577在发布这个文件的时候是还没有验证过H9TP32A8JDMCPR的。因为H9TP32A8JDMCPR只是在H9TP32A4GDMCPR基础上DDR2扩大了一倍的容量,应该问题不大,下面自己尝试去修改看是否可以正常运行,但如果差别较大,而且自己搞不定,可以需要寄给MTK帮忙调试(当然了,你必须有足够的量)
此文件含三个页面:
MT6577(page one):配置Flash Vendor Id 对应的硬件参数。
NAND(page two):
emmc_region(pagethree)
因为图5中并没有我们要采用的H9TP32A8JDMCPR,所以只能在这个xls文件中增加H9TP32A8JDMCPR对应的信息,而且务必保证是正确的,我可以到网上下载更新的MemoryDeviceList_MT6577.xls文件,比如在http://www.16rd.com/thread-8499-1-1.html较新,就包括了H9TP32A8JDMCPR。
3. 支持H9TP32A8JDMCPR的修改
(1) \mediatek\custom\hsimobile77_ics2\preloader\inc\custom_MemoryDevice.h下的修改.
//8192 #defineCS_PART_NUMBER[0] H9TP32A8JDMCPR_KGM //#defineCS_PART_NUMBER[0] H9TP32A8JDMCPR ///#defineCS_PART_NUMBER[1] H9TP32A8JDMCPR //#defineCS_PART_NUMBER[0] H9TP32A4GDMCPR //#defineCS_PART_NUMBER[1] H9TP32A4GDMCPR
(2) \mediatek\build\tools\emigen\MT6577\MemoryDeviceList_MT6577.xls
在此文件的Mt6577子表格增加下面的内容:
图6
此文件的emmc_region子表格增加下面的内容:
图7
(3) ./mk rpl,更新编译生成新的preloader_hsimobile77_ics2.bin即可
其他我们不一定要进入系统之后才能知道系统有效识别到多大的内容,可通过Flash_too烧录工具下面的界面可以看出来:
图8
参考链接:
Qualcomm MTK平台ddr driverhal比较
http://blog.csdn.net/u013531497/article/details/18711001
MTK android flash配置
http://blog.csdn.net/loongembedded/article/details/38455265
mtk android mcp camera更改
http://blog.csdn.net/mirkerson/article/details/21283689
Android_MTK_flash更换
http://www.eefocus.com/270843114/blog/12-05/249199_b9b67.html
LCSH6573组件修改说明文档
http://blog.csdn.net/jiangjingui2011/article/details/7098067
MTK Android Driver:memory
http://blog.csdn.net/cbk861110/article/details/17439141