Android 系统(205)---MTK平台分区回读

 

MTK平台分区回读

有时遇到各种开机卡死或重启问题,往往我们依靠分区回读的方法来验证是否为软件问题。

在MTK平台我们利用flash_tool工具来回读分区,简单归结为一下步骤。

1、首先选择Download一栏选择对应的项目软件【软件不一定与出问题软件对应】

2、选择Readback-------->选择Add------>选择对应的Start Address和Length,该数值请查看out\target\product\rlk6737m_65_n(项目编译项)\MT6737M_Android_scatter.txt文件,如:system分区

- partition_index: SYS21
  partition_name: system
  file_name: system.img
  is_download: true
  type: EXT4_IMG
  linear_start_addr: 0xb000000
  physical_start_addr: 0xb000000
  partition_size: 0x100000000
  region: EMMC_USER
  storage: HW_STORAGE_EMMC
  boundary_check: true
  is_reserved: false
  operation_type: UPDATE
  empty_boot_needed: false
  reserve: 0x00

但有些原始分区,并不是通过flash_tool工具加载进去的,如nvdata、efuse、metadata、radio等,它们占有EMMC的内存地址,但里面有可能是空的[未加载任何东西]而是在系统启动过程中挂在文件系统过程中动态加载进去data数据的。   我们目前想做的就是把这些分区也能通过flash_tool工具加载进去,这个很简单,修改MT6737M_Android_scatter.txt文件即可。

如何把某个原始分区下载进去

修改MT6737M_Android_scatter.txt文件即可,然后用flash tool,如我要把nvdata烧写进去

- partition_index: SYS19

  partition_name: nvdata

  file_name: NONE

  is_download: false

  type: EXT4_IMG

  linear_start_addr: 0x6b00000

  physical_start_addr:0x6b00000

  partition_size: 0x2000000

  region: EMMC_USER

  storage: HW_STORAGE_EMMC

  boundary_check: true

  is_reserved: false

  operation_type: INVISIBLE

  empty_boot_needed: false

  reserve: 0x00

修改成:

- partition_index: SYS19

  partition_name: nvdata

  file_name:nvdata.img

  is_download: true

  type: EXT4_IMG

  linear_start_addr: 0x6b00000

  physical_start_addr:0x6b00000

  partition_size: 0x2000000

  region: EMMC_USER

  storage: HW_STORAGE_EMMC

  boundary_check: true

  is_reserved: false

  operation_type: INVISIBLE   //此项可改可不改

  empty_boot_needed: false

  reserve: 0x00

补充理解:

/nvram 分区不存在其他备份,因为/nvram 分区只有在厂里校准备份时写入,出场后使用者没有写入的操作,只有在恢复出场设置后第一次会有读取的动

之前沟通说,在正常模式下,写到nvdata分区不能调用备份接口,能否解释下原因和这两个分区对写NV的内部机制和逻辑,感谢
=>正常模式下备份有权限问题,所以备份要求都统一在meta mode 下执行
proinfo 这个分区比较特殊,是直接写入proinfo 分区, 所以恢复出厂设置不被擦除
其他保存在 /nvdata 分区的数据,恢复出厂设置会wipe /data /cache /nvdata 几个分区, 所以会被擦除
擦除后开机过程会作还原的动作,如果之前有用meta tool 备份,就会从/nvram 这个备份分区还原到/nvdata

猜你喜欢

转载自blog.csdn.net/zhangbijun1230/article/details/81141797