主题 : 【2440看门狗重启后,网卡PING不通】 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 20846
精华: 0
发帖: 19
金钱: 95 两
威望: 19 点
综合积分: 38 分
注册时间: 2010-05-08
最后登录: 2014-07-19
楼主  发表于: 2010-11-10 11:06

 【2440看门狗重启后,网卡PING不通】

最近用micro2440时发现的问题,看门狗重启后,出现此问题。而且在本论坛上发现以前也有人问过这个问题:http://www.aiothome.net/read.php?tid-5456-fpage-0-toread--page-1.html 但没有解决方法。我又用两块mini2440试了一下,也是同样的问题

请问一下客服,现在这个问题解决了吗?我该如何解决?
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2010-11-10 11:33
没有办法,dm9000的复位电路是独立的,不受CPU控制
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 新手上路
UID: 20846
精华: 0
发帖: 19
金钱: 95 两
威望: 19 点
综合积分: 38 分
注册时间: 2010-05-08
最后登录: 2014-07-19
2楼  发表于: 2010-11-11 09:04
mindee 感谢你的回答

那我现在如何让看门狗重启后,我的板子网络能通呢?

我看那个帖子的人说用IO复位。
我的想法是通过GPA15来控制DM9000软重启,有什么问题吗?或者软重启本身也不能解决这个问题?

void ResetNetWork()     // reset network adapter by GPIO GPA15  
{
    volatile IOPreg *v_pIORegs;
    v_pIORegs = (volatile IOPreg *)VirtualAlloc(0, sizeof(IOPreg), MEM_RESERVE, PAGE_NOACCESS);
    if(v_pIORegs)
    {
        if(VirtualCopy((PVOID)v_pIORegs, (PVOID)IOP_BASE, sizeof(IOPreg), PAGE_READWRITE | PAGE_NOCACHE))
        {
            v_pIORegs->rGPACON |= 1<<15;            //set the 15th bit value of GPACON to 1, then let nGCS[4] avail
            v_pIORegs->rGPADAT  |= 1;                    //combine  GPADATA and 1 with a logical OR
            Sleep(50);
            v_pIORegs->rGPADAT &=0xFFFE;
        }

        VirtualFree((LPVOID)v_pIORegs, 0, MEM_RELEASE);
        v_pIORegs = NULL;
    }
}
级别: 新手上路
UID: 16823
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
综合积分: 22 分
注册时间: 2010-03-22
最后登录: 2017-09-13
3楼  发表于: 2015-03-18 09:16
N年前,有这种想法,并实践过。记得好像行不通。