2011-11-02 —— In-dash —— MLC 模式下用 SD1 卡槽进行 SD 卡升级 Logo 设置

文章详细解析了在SD_BOOT模式下使用SD1进行SD卡更新Logo的操作,以及在NAND_MLC模式下升级NBOOT、EBOOT和NK时遇到的问题。重点在于解释了SD卡升级LOGO时的槽位使用逻辑,以及不同模式下对SD卡的不同处理方式。

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

In-dash板在 SD_BOOT 模式下用 SD1 进行 SD 卡更新 Logo 正常,但升级 MLC 模式下的 NBOOT、EBOOT 和 NK 后,提示没有 SD 卡。

需要进行如下操作: 在 BspFunc.c (c:\wince600\platform\tt4x0bd\src\bootloader\eboot) 中

DWORD BspSdhcSlotCanUse(VOID)
{
//bit 0 =1 -- use slot 0 bit 0 =0 --- not use slot0
//bit 1 =1 -- use slot 1 bit 1 =0 ---not use slot1
//both the two SD slot can be used
return 0x2;//return 0x3;

}


解析:

在Sd_def.h (c:\wince600\platform\common\src\soc\prima_sirf_v2\tt4x0a\src\bootloader\eboot) 中有:

#define _SD_MODULE_BASE_X (BspSdhcSlotCanUse() & 0x1 ? _SD_MODULE_BASE : (_SD_MODULE_BASE + 0x100000))

因此当函数BspSdhcSlotCanUse() 返回 0x3 和 0x1 时,_SD_MODULE_BASE_X 均被定义成_SD_MODULE_BASE,即 SD0 的地址,所以对于 SD 卡升级 LOGO 而言,both the two SD slot can be used 这句注解是忽悠人的

当 BOOT_MEDIA = SD_BOOT 时,SD0 和 iNand 共用一个 pin,对此 In-dash 里都会做出处理,就 SD 卡升级 LOGO 而言, 函数EbootSdmlcSwitch 会主动把_SD_MODULE_BASE_X 如果是 SD0 改成 SD1

当 BOOT_MEDIA = NAND_MLC 时,没有和 SD_BOOT 一样的处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值