📄 dm9000.h
字号:
#ifndef DM9000_H
#define DM9000_H
//********************** Including Libs **********************
#include <string.h>
#include "comdef.h"
#include "2410.h"
//********************** Macro Definition **********************
/*
DM9000_BASE设为0x19000300, 是由于网卡CS为nGCS3译码所得。
nGCS3存贮空间为0x18000000--0x20000000
因此,DM9000_BASE可为:(0x18000000--0x20000000) + 0x300
*/
#define DM9000_BASE 0x19000300
#define DM9000_VID_L 0x28
#define DM9000_VID_H 0x29
#define DM9000_PID_L 0x2A
#define DM9000_PID_H 0x2B
#define DM9000_ID 0x90000A46
#define DM9000_INT_MII 0x00
#define DM9000_PPTR *(volatile u16 *)(DM9000_BASE) // 命令寄存器地址
#define DM9000_PDATA *(volatile u16 *)(DM9000_BASE + 4) // 数据寄存器地址
// 注: 命令寄存器地址=0x19000300, 0x300为默认,0x19000300 为XC95144译码所得
// 数据包参数
#define PKTSIZE 1518
#define PKTSIZE_ALIGN 1536
#define PKTBUFSRX 4
#define PKTALIGN 32
// 网卡配置参数
#define CFG_HZ 1562500
#define CONFIG_DRIVER_DM9000 1
#define CONFIG_ETHADDR 08:01:3e:26:0a:5b
#define CONFIG_NETMASK 255.255.255.0
#define CONFIG_IPADDR 10.10.10.118
#define CONFIG_SERVERIP 10.10.10.26
//********************** Local Function **********************
#ifdef __DM9000
#define EXTERN
#else
#define EXTERN extern
#endif
EXTERN u32 GetDM9000ID (void);
EXTERN void DM9000_init (void);
EXTERN int eth_rx (void);
EXTERN int eth_send (volatile void *packet, int length);
#undef EXTERN
//********************** Extern Variable **********************
//********************** Extern Function **********************
void NetReceiveProcess (volatile uchar * pkt, int len);
ulong get_timer(int t);
//*****************************************************************
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -