MTK android flash配置

关于6573集成MCP nandflash的方法,driver_allinone 和Memory Customer Document pdf的说明里面漏了很多细节.在此补上.

1.首先确认flash型号.如sumsung的KA100O015E_BJTT.

2.查看MTK_MVG_Release的MemoryDeviceList_MT7673.xls,看一看这颗flash是否经过mtk验证.如果有,则把这一行数据copy出来.如果没有,则要提交给mtk来调试.

3.在mediatek\build\tools\emigen\MT6573\MemoryDeviceList_MT6573.xls中添加一行第2步中copy出来的数据.

4.修改\mediatek\custom\ckt73_gb\preloader\inc\custom_MemoryDevice.h

//#define BOARD_ID                 ZTEMT73V2

  1. define BOARD_ID                MT6573_EVB  //修改为MemoryDeviceList_MT7673.xls中的BOARD_ID要与此处一致.

//NAND_ID for MT29C4G96MAZAPCJA_5IT is 0x2CBC

  1. define CS0_PART_NUMBER[0]       MT29C4G96MAZAPCJA_5IT
  2. define CS1_PART_NUMBER[0]       MT29C4G96MAZAPCJA_5IT

//NAND_ID for KA100O015E_BJTT is 0xECBC

  1. define CS0_PART_NUMBER[1]       KA100O015E_BJTT  //问基带工程师我们的MCP的bank分配.一般分为bank0 bank1,对应CS0,CS1.
  2. define CS1_PART_NUMBER[1]       KA100O015E_BJTT  //

5.这时你可以执行./mk ./mk -t projectname emigen 去生成对应的emi参数文件:

mediatek\custom\ckt73_gb\preloader\inc\custom_emi.h

mediatek\custom\ckt73_gb\preloader\custom_emi.c

6.修改\mediatek\build\tools\emigen\MT6573\nandgen.pl

6573平台与6516平台修改nand参数的方式不同. 6573用nandgen.pl生成nand参数文件\mediatek\custom\ckt73_gb\common\nand_device_list.h

修改nandgen.pl:

       $advance_option = 0;
       # if ($PROJECT_FIELD[$iter] eq $PROJECT)
       {
           print "$PAGE_SIZE $PAGESIZE_FIELD[$iter]\n" ;
           #if (($PAGE_SIZE eq "4K" && $PAGESIZE_FIELD[$iter] eq 4096) || ($PAGE_SIZE eq "2K" && $PAGESIZE_FIELD[$iter] eq 2048))
           if(1)
           {
           ...
           }

把上面if条件改为1. 不去判断pagesize.

7.修改ProjectConfig.mk .

有两项CUSTOM_DRAM_SIZE和MTK_NAND_PAGE_SIZE

查看MemoryDeviceList_MT7673.xls中此flash对应TotalSize大小,如512M,则CUSTOM_DRAM_SIZE 为 512M*8 =4G

查看MemoryDeviceList_MT7673.xls中此flash对应的PageSize大小.如4096,则MTK_NAND_PAGE_SIZE 为 4K.

8.修改partition_table.xls

查看MemoryDeviceList_MT7673.xls中此flash对应的BlockSize大小.partition_table中连续partiton的大小都要为BlockSize的整数倍.

修改Size (KB)这一项,其它start addr和end addr都会自动修改.

注意要修改对应的pagesize的页面,如pagesize是4K,则修改mt6573 no 4k这一页.

修改完成后使用./mk ptgen可以产生新的scatfile和parttion table参数文件.


其它:

1.上述中使用emigen和nandgen命令,在new时都会自动执行.

2.关于nandgen这个命令,可以在makeMtk中加入nandgen到actions说明内,就可以用./mk 得到nandgen的说明: @actions =  qw(

  new n bm_new remake r bm_remake clean c listproject listp
  drvgen codegen nandgen emigen custgen javaoptgen ptgen
  check-modem update-modem sign-image sign-modem check-dep
  dump-memusage dump-comp-bld-info gen-relkey
 );


   3.如果要换的nandflash不是MCP,则第3,4步有不同之处,具体看driver_allinone pdf或者Memory Customer Document pdf.


posted on 2014-08-09 11:53  王亮1  阅读(266)  评论(0编辑  收藏  举报

导航