emu上如何静态加载sdhc的模型数据

文章详细阐述了如何对SD卡和EMMC进行数据加载。对于SD卡,64位宽的模型中,从0x1080地址开始加载file1.bin用于bootrom验证。而对于EMMC,涉及加载ext_csd寄存器内容,处理大小端问题,并将数据转换为128位宽格式加载到数据空间。此外,还介绍了如何静态加载pcs/bl2/uboot/linux_ramdisk到模型中,以从EMMC启动Linux。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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加载到模型中即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值