一、sd卡
memory -load %pd_raw2 u_sd_card.dut.mem -file 1.bin -start 0x1080
- 目前模型是64bit位宽
- start对应的值是66 * 512 / 8 = 0x1080, 也就是地址偏移1,对应的是真实地址是8
- 1.bin为需要加载的文件,可用于bootrom验证
二、emmc
1、加载emmc的ext_csd寄存器内容
source script/emmc_v51_4g_EXT_CSD_reg.fs
2、静态加载数据到emmc数据空间
emmc默认有大小端问题需要转换bin文件,且emmc是128bit位宽
memory -load %pd_raw2 u_emmc.inst.mem -file 1.bin -start 0x840 (66*512/16)
memory -dump %pd_raw2 u_emmc.inst.mem -file 1_endin.bin -start 0x840 -end xxx (file_size/16+1+0x840) -little_endian
获取到l_endin.bin 后,把这个作为最终的bin然后再次load即可
3、静态加载整个linux内容到模型,然后从emmc启动linux
通过上面步骤2的类似方法,分别把启动中的pcs/bl2/uboot/linux_ramdisk加载到模型中即可