zoukankan      html  css  js  c++  java
  • 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.在mediatekuild oolsemigenMT6573MemoryDeviceList_MT6573.xls中添加一行第2步中copy出来的数据.

    4.修改mediatekcustomckt73_gbpreloaderinccustom_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参数文件:

    mediatekcustomckt73_gbpreloaderinccustom_emi.h

    mediatekcustomckt73_gbpreloadercustom_emi.c

    6.修改mediatekuild oolsemigenMT6573 andgen.pl

    6573平台与6516平台修改nand参数的方式不同. 6573用nandgen.pl生成nand参数文件mediatekcustomckt73_gbcommon and_device_list.h

    修改nandgen.pl:

           $advance_option = 0;
           # if ($PROJECT_FIELD[$iter] eq $PROJECT)
           {
               print "$PAGE_SIZE $PAGESIZE_FIELD[$iter]
    " ;
               #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.


  • 相关阅读:
    SparseArray<E>详解
    Android项目实战(十二):解决OOM的一种偷懒又有效的办法
    浅谈GridLayout(网格布局)
    Android项目实战(十一):moveTaskToBack(boolean ) 方法的使用
    Android Studio 项目代码全部消失--出现原因及解决方法
    Installation failed with message INSTALL_FAILED_UID_CHANGED.--APK安装失败解决方法
    Android项目实战(三十):Fresco加载gif图片并播放
    Android项目实战(十):自定义倒计时的TextView
    坚持一段时间了,达不到原有的目的,就应该放弃了——考研每日总结
    191006
  • 原文地址:https://www.cnblogs.com/liang123/p/6325491.html
Copyright © 2011-2022 走看看