主题:[求助]ESM6800系统ch438_startup: iobase = 0x38问题

  共有17459人关注过本帖    
客人
1楼


[求助]ESM6800系统ch438_startup: iobase = 0x38问题  发帖心情 Post By:2020-4-13 14:26:00   [只看该作者]

你好,ESM6800跑我们自己的程序,总是报下面的提示,然后一段时间后系统就会重启,请问是什么原因?

[  328.699958] ->ch438_startup: iobase = 0x38


我怀疑和看门狗有关,但没有其他证据证明这一点,下面是我的和看门狗有关的代码


    dword dog_fd;//看门狗
    dword dog_num = 0;

    //打开看门狗
    if((dog_fd = open("/dev/watchdog", O_RDONLY)) < 0) {
        logError("open watchdog failed, (%d)%s", errno, strerror(errno));
    }else{
        logDebug("open watchdog success");
    }


    while (True) {
        sleep(1);
        //刷新看门狗,大约每10秒刷新一次
        if (dog_num >= 10) {
            dog_num = 0;
            if(ioctl(dog_fd, WDIOC_KEEPALIVE, 0) == -1) {
                logError("refresh watchdog failed, (%d)%s", errno, strerror(errno));
            }else{
                logTrace("refresh watchdog success");
            }
        }else{
            dog_num++;
        }

    }


logError、logDebug和logTrace是我自己的写日志函数。



  单帖管理 | 引用 | 回复 回到顶部
客人
2楼


  发帖心情 Post By:2020-4-13 14:28:00   [只看该作者]

dword是我们自己定义的类型:

typedef int dword;



  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
hzc
3楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2020-4-14 0:36:00   [只看该作者]

你好,系统打印的信息是正常的,每次打开扩展串口,就会打印这个信息,说以这里只是说明程序中打开了串口。

重启的问题和这一条打印信息应该没有关系,除了超时喂狗,还建议检查一下是不是电源不稳定,主板上有电源管理芯片,当电压跌落超过5%就会输出复位信号。


  单帖管理 | 引用 | 回复 回到顶部

返回首页

[求助]ESM6800系统ch438_startup: iobase = 0x38问题

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: