06-网络设备与媒介层
16.1.4 网络设备与媒介层
网络设备与媒介层直接对应于实际的硬件设备。为了给设备的物理配置和寄存器操作一个更一般的描述,我们可以定义一组宏和一组访问设备内部寄存器的函数,具体的宏和函数与特定的硬件紧密相关。代码清单16.2所示为相应的设计范例。
代码清单16.2 网络设备底层硬件操作
1 / 寄存器定义 /
2 #define DATA_REG 0x0004
3 #define CMD_REG 0x0008
4
5 / 寄存器读写函数 /
6 static u16 xxx_readword(u32 base_addr, int portno)
7 {
8 ... /读取寄存器的值并返回/
9 }
10
11 static void xxx_writeword(u32 base_addr, int portno, u16 value)
12 {
13 ... /向寄存器写入数值/
14 }