wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
40楼#
发布于:2005-01-31 14:42
pb这边选config然后找到你的目标板没有?要选择一下你的目标板,然后downlaod三

用仿真器下确实比较慢,不过可以忍受:)))
根据地的兄弟们,团结就是力量
zouyingmyfriend
驱动牛犊
驱动牛犊
  • 注册日期2003-11-09
  • 最后登录2007-09-14
  • 粉丝0
  • 关注0
  • 积分83分
  • 威望12点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
41楼#
发布于:2005-01-31 17:49
现在是Eboot有问题,但是找不到。在配置里面找不到设备,因而无法下载啊,好郁闷啊,回家过不了好年啦55555555555555555
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
42楼#
发布于:2005-02-01 13:03
哈哈,稳住稳住,革命总有一天会胜利的。对了,BLCOMMON的源代码里面有个地方写错了,不知道对你们的东西有没有影响,你先试试再说
根据地的兄弟们,团结就是力量
zouyingmyfriend
驱动牛犊
驱动牛犊
  • 注册日期2003-11-09
  • 最后登录2007-09-14
  • 粉丝0
  • 关注0
  • 积分83分
  • 威望12点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
43楼#
发布于:2005-02-01 14:39
是什么错误啊,能不能指出来?
目前这个函数处出了问题:代码如下
BOOL EbootSendBootmeAndWaitForTftp (EDBG_ADDR *pEdbgAddr, UCHAR VersionMajor, UCHAR VersionMinor,
                             char *szPlatformString, char *szDeviceName,
                             UCHAR CPUId, DWORD dwBootFlags)
{
    DWORD dwCurSec = OEMEthGetSecs () - BOOTME_INTERVAL;
    USHORT wLen, wDestPort, wSrcPort, wUDPDataLen, *pwUDPData;
    int nRetries = 0;
    EdbgOutputDebugString ("+EbootSendBootmeAndWaitForTftp\r\n");
    while (!fTftpLinked) {---看这里看这里看这里!!
        if ((nRetries < MAX_BOOTME_CNT) && (OEMEthGetSecs () - dwCurSec >= BOOTME_INTERVAL)) {
            nRetries ++;
            dwCurSec += BOOTME_INTERVAL;
            // send a bootme message
            EbootSendBootme (pEdbgAddr, VersionMajor, VersionMinor, szPlatformString, szDeviceName, CPUId, dwBootFlags);
        }
        // get another frame and pass it to TFTP handler
        wLen = sizeof (gFrameBuffer);
        if (OEMEthGetFrame (gFrameBuffer, &wLen)) {       // frame available?
            switch (FRAMETYPE (gFrameBuffer)) {
            case 0x0800:    // IP packet
                if (!EbootCheckUDP(pEdbgAddr, gFrameBuffer, &wDestPort, &wSrcPort, &pwUDPData, &wUDPDataLen)) {  // UDP?
                    // EDBG command? (should only occur if eshell asked us to jump to existing image)
                    if (!EbootProcessEDBG (pEdbgAddr, &gHostAddr, gFrameBuffer, pwUDPData, wUDPDataLen, &fTftpLinked, &gpCfgData)) {
                        // no, pass it to TFTP
                        EbootTFtpReceiver (pEdbgAddr, gFrameBuffer, wDestPort, wSrcPort, pwUDPData, wUDPDataLen);
                    }
                }
                break;
            case 0x0806:    // ARP packet
                if (EbootProcessARP (pEdbgAddr, gFrameBuffer) == PROCESS_ARP_RESPONSE) {
                    EdbgOutputDebugString( "Some other station has IP Address: %s !!! Aborting.\r\n", inet_ntoa(pEdbgAddr->dwIP));
                    return FALSE;
                }
                break;
            default:
                break;
            }
        }
    }
    EdbgOutputDebugString ("-EbootSendBootmeAndWaitForTftp\r\n");
    return TRUE;
}
Eboot的这个函数里的fTftpLinked一直为假,所以一直循环不停的向外发送“Sent BOOTME to 255.255.255.255”只有当该值为真的时候才能跳出循环,进而连接主机UDP。但是从以太网抓包的情况来看设备一直在不停的发这个包,主机接收到了之后回了一个,但是设备根本不响应,原因在于fTftpLinked没有能够置真,搜索了所有代码也不能看出如何跳出这个循环的,是不是用了中断啊,在哪里用的呢,不能结束这个循环就不能建立连接,郁闷啊。这是怎么回事啊?
zouyingmyfriend
驱动牛犊
驱动牛犊
  • 注册日期2003-11-09
  • 最后登录2007-09-14
  • 粉丝0
  • 关注0
  • 积分83分
  • 威望12点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
44楼#
发布于:2005-02-01 14:48
在PB下载image的时候主机是如何和设备连接的啊?从这种情况来看,设备是一个循环发送的过程,设备和主机如何建立UDP呢,现在真的有点晕了。
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
45楼#
发布于:2005-02-01 15:18
喔,这样啊,好像兄弟伙到这儿都要遭一次喃:))),

这样,你先检查一下你的xxxgetframe和xxxsendframe是不是正确接收到包了,并且返回了什么(特别注意返回值哈,返回0成功还是1成功)。
根据地的兄弟们,团结就是力量
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
46楼#
发布于:2005-02-02 10:35
在PB下载image的时候主机是如何和设备连接的啊?从这种情况来看,设备是一个循环发送的过程,设备和主机如何建立UDP呢,现在真的有点晕了。


检查一下你的主机和目标机的ip是不是在一个子网内啊?
Come on, let us drive the world.
zouyingmyfriend
驱动牛犊
驱动牛犊
  • 注册日期2003-11-09
  • 最后登录2007-09-14
  • 粉丝0
  • 关注0
  • 积分83分
  • 威望12点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
47楼#
发布于:2005-02-02 10:44
情况如图所示。
上一页 下一页
游客

返回顶部