打印
[ZLG-ARM]

LPC2378网卡问题

[复制链接]
1626|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhaoyk1981|  楼主 | 2008-11-28 13:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
LPC2378网卡问题 

初始化网卡时,如果执行   
COMMAND             =   COMMAND_RESET_REG   |                       /* Reset all datapaths and host registers                   */
                            COMMAND_RESET_TX    |
                            COMMAND_RESET_RX;
这句代码后,再初始化其他寄存器时,总是出现死机的错误。
如果去掉这句话,程序就可以初始化其他寄存器。
代码段如下:
    MAC1                =   MAC1_RESET_TX       |                       /* [15],[14],[11:8] -> soft resets all MAC internal modules */
                            MAC1_RESET_MCS_TX   |
                            MAC1_RESET_RX       |
                            MAC1_RESET_MCS_RX   |
                            MAC1_RESET_SIM      |
                            MAC1_RESET_SOFT;

    COMMAND             =   COMMAND_RESET_REG   |                       /* Reset all datapaths and host registers                   */
                            COMMAND_RESET_TX    |
                            COMMAND_RESET_RX;


    NetBSP_DlyMs(2);                                                    /* Delay for a few milliseconds after reset                 */

    MAC1                =   0;                                          /* Deassert all prior resets                                */

    EMAC_TxDis();                                                       /* Disable the transmitter                                  */
    EMAC_RxDis();                                                       /* Disable the receiver                                     */
说明:执行程序执行时,执行MAC1 = 0语句时,程序跑飞;
去掉    COMMAND             =   COMMAND_RESET_REG   |                       /* Reset all datapaths and host registers                   */
                            COMMAND_RESET_TX    |
                            COMMAND_RESET_RX; 
这句程序,下面的程序能正常执行。

相关帖子

沙发
db10| | 2008-11-28 15:55 | 只看该作者

。。。。

 LS,你语句具体是什么,不太明白,如COMMAND_RESET_TX ,COMMAND_RESET_RX等具体值。。。

 你是用哪个物理芯片?dm9161ae.dp83848?还是别的?
你是用ads,还是keil,还有你的启动汇编和中断程序是什么样子?这些都是有关系的。。。

 我有ADS下,dm9161ae.dp83848都可以的初始化程序。

使用特权

评论回复
板凳
zhaoyk1981|  楼主 | 2008-12-1 16:10 | 只看该作者

解决了

解决了 是
#define  NEW_SILICON         0              
               /* For LPC2378 silicon revisions ending in AY set to 1      */
               /* Previous revisions, ending in -X or -Y set to 0          */
               /* When 0, RMII GPIO work around is enabled for old silicon */

P1.6, ENET-TX_CLK, has to be set for EMAC to address a BUG in early revisions of the LPC2378.
*                  This pin must be set even if RMII is not used.  The bug has been fixed on newer revisions of
*                  the chip and can be used for GPIO in some cicumstances.

把 #define  NEW_SILICON         0     改为//#define  NEW_SILICON         1    就好了!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

28

帖子

1

粉丝