+ -
当前位置:首页 → 问答吧 → 做过linux的dm9000a移植的请帮忙看看!

做过linux的dm9000a移植的请帮忙看看!

时间:2010-08-02

来源:互联网

如题,dm9000已经可以识别,但是接收老是有问题
dm9000_rx(...)
{
       ....
       do{
              ior(db,0xf4);
              ior(db,0xf5); //这两句加或不加都试过

              ior(db,DM9000_MRCMDX);

              rxbyte = readb(db->io_data);

              if(rxbyte>DM9000_PKT_RDY){    //在这出的问题,只要rxbyte大于1了就永远大于1,括号内的两句一点作用都没起
                     dev_warn(db->dev,"status check fail: %d \n",rxbyte);
                     iow(db,DM9000_RCR,0x00);
                     iow(db,DM9000_ISR, IMR_PAR);
                     return;
              }
         ............
}

以上注释部分就是问题所在了,哪位高手帮忙解答下

作者: dinglinxiang   发布时间: 2010-08-02

郁闷啊~~~~~~~~~~~~~~~~~~~~~~~~~~

作者: dinglinxiang   发布时间: 2010-08-02

是uboot的吗?
DM9000_PKT_RDY是多少啊?那你干脆把那段代码注释试试。

作者: klanet   发布时间: 2010-08-02

回复 klanet


    谢谢回复,那个数每次都不太一样,反正就是0-256之间吧
   试过了,但是数据就完全不对了,包长60000多

作者: dinglinxiang   发布时间: 2010-08-02

回复 klanet


    不是uboot, linux-2.6.30内核

作者: dinglinxiang   发布时间: 2010-08-02