高通mdm9x25的启动流程如图所示:
rpm pbl, apps pbl和modem pbl都是rom固化的。
sbl是可见的,入口在/boot_images/core/boot/secboot3/hw/mdm9x25/sbl1/sbl1.s,c入口是sbl1_main_ctl().
差异化的LPDDR2主要改动点在CDT: Configuration Data Table.
可以用cdt_generator.py将xml文件转化成c的table格式:
/boot_images/core/boot/secboot3/scripts/boot_cdt_array.xml
/boot_images/core/boot/secboot3/hw/mdm9x25/boot_cdt_array.c
Nandflash的差异化工作是根据datasheet添加nand device,主要code在:
/boot_images/core/storage/flash/src/dal/flash_decode_nandids.c
/boot_images/core/storage/flash/src/dal/flash_decode_nandconfig.c
appsbl的flash相关code是:
/apps_proc/bootable/bootloader/lk/platform/msm_shared/qpic_nand.c
分区表partition.mbn
配置文件在/common/build/partition_nand.xml。
与msm7k平台不同,mdm9x25使用secboot3版本的download流程,引如hsusb qdload,
支持pbl下的firehose协议,sbl下的sahara协议。
ddr的压力测试
/boot_images/core/boot/ddr/scripts/mdm9x25/ddr_test.cmm
nandflash的压力测试
/boot_images/core/storage/flash/tools/src/nand/nand_diagnose.cmm