`
hunxiejun
  • 浏览: 1147504 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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 一样的处理

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics