2912|7

70

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

在EBOOT里面的main.c中有变量g_pBootCfg,请问是在哪里初始化的? [复制链接]

如题,只看到有定义的地方:PBOOT_CFG                g_pBootCfg;
没找到在哪里初始化的,请知道的大侠指点一下吧!
千万不要因为我的问题过于幼稚而将之过滤...

最新回复

要学习一下   详情 回复 发表于 2010-1-5 10:41
点赞 关注

回复
举报

58

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
如果代码里找不到的话,注意一下是不是在bib文件里作为FIXUPVAR初始化的。
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
不过我看你这个参数似乎是一个config data,是什么芯片上面的初始化程序?
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

4
 
引用 2 楼 codewarrior 的回复:
不过我看你这个参数似乎是一个config data,是什么芯片上面的初始化程序?

就是WinCE5.0下三星2440的EBOOT里面的,有对这个参数的使用,我找不到在哪里初始化的,所以一头雾水啊
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

5
 
在EBOOT目录下的nand.cpp文件中的BootConfigInit()函数有对该变量的定义,楼主不妨看看你的EBOOT下有没有。
// Set default boot configuration values
static void BootConfigInit(DWORD dwIndex)
{

    EdbgOutputDebugString("+BootConfigInit\r\n");

    g_pBootCfg = &g_pTOC->BootCfg;

    memset(g_pBootCfg, 0, sizeof(BOOT_CFG));

    g_pBootCfg->ImageIndex   = dwIndex;

    g_pBootCfg->ConfigFlags  = BOOT_TYPE_MULTISTAGE;        //CONFIG_FLAGS_DEBUGGER

    g_pBootCfg->BootDelay    = CONFIG_BOOTDELAY_DEFAULT;

        g_pBootCfg->EdbgAddr.wMAC[0] = 0x0000;
        g_pBootCfg->EdbgAddr.wMAC[1] = 0x1232;
        g_pBootCfg->EdbgAddr.wMAC[2] = 0x1233;

    g_pBootCfg->SubnetMask = inet_addr("255.255.255.0");

    EdbgOutputDebugString("-BootConfigInit\r\n");
    return;
}
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

6
 
应该是由FLASH存储,EBOOT启动后调用上楼的函数赋初值的,改变后就需要更新FLASH,下次启动就是读入新的数据并更新。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

7
 
我的EBOOT就有这个函数(传入的参数就是楼主关心的全局变量的指针):
static BOOL LoadEBootCFG(EBOOT_CFG *EBootCFG)
{

    if (!FlashRead(EBOOT_FLASH_CFG_START, (PUCHAR)EBootCFG, sizeof(EBOOT_CFG)))
    {
        EdbgOutputDebugString("ERROR: LoadEBootCFG: failed to load configuration.\r\n");
        return(FALSE);
    }

    // Is the CFG data valid?  Check for the magic number that was written the last time
    // the CFG block was updated.  If Eboot has never been run, there will be no configuration
    // information, so the magic number will likely not be found.  In this case, setup the
    // factory defaults and store them into Flash.
    //
    if (EBootCFG->ConfigMagicNumber != EBOOT_CFG_MAGIC_NUMBER)
    {
        ResetDefaultEBootCFG(EBootCFG);
    }

    // Make sure a valid debug serial port address (physical) was found.
    //
    if (g_EbootCFG.dwDbgSerPhysAddr == 0)
    {
        g_EbootCFG.dwDbgSerPhysAddr = BULVERDE_BASE_REG_PA_FFUART;
    }

    return(TRUE);
}
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

8
 
要学习一下
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表