高通Android DDR分区报错无法启动
目录
1.背景
2.查询ddr分区
3.Dump出ddr分区内容
4.手动清空ddr分区
1.背景
高通QCM2290平台,由于eMMC损坏,EE更换了新的eMMC,EE使用了QFIL往新焊接好的eMMC进行烧录,发现系统无法进入正常系统,发现卡在了ddr上面。后来调查发现QFIL里面没有勾选erase all。勾选之后重新烧录即可,或者使用下面的方式去手动删除ddr分区数据
高通平台在第一次开机启动过程中,会进行do_ddr_training动作,然后do_ddr_training之后的数据保存在了eMMC的某个分区里面,一般名字是ddr分区,这个分区的数据
2.查询ddr分区
ddr分区对应的block块可以通过下面命令查询到,在哪个block中
ls -l /dev/block/platform/soc/4744000.sdhci/by-name/ddr
![]()
/sys/block/mmcblk0/mmcblk0p30

3.Dump出ddr分区内容
adb shell "dd if=/dev/block/by-name/ddr of=/data/vendor/ddr.img"
4.手动清空ddr分区
dd if=/dev/zero of=/dev/block/by-name/ddr conv=fsync
1.执行上面的命令,清空ddr分区。
2.重启,可以看到会有do_ddr_training动作。
3.一般重新擦写eMMC也会默认清空DDR
