44B0X 处理器(ARM7TDMI),资源丰富。为了方便同学学习和使用,开发针对此开发板的CS8900A的网络驱动Р项目分工Р初始化,探测函数等-毛勇Р打开,关闭,中断-杨劲松Р辅助函数,硬件地址定义-杨彪Р参数设置函数-刘江峰Р驱动程序的设计(结构)Рdev_queue_xmit()Рnetif_rx()Р网络协议接口层Рstruct deviceР网络设备接口层Р数据包发送hard_start_xmit()Р中断处理(数据包接收)Р设备驱动功能层Р网络物理设备媒介Р设备媒介层Р初始化函数Рinit_cs8900a_s3c2410?创建并初始化dev_cs89x0结构?赋给dev_cs89x0结构体中的probe函数指针?为驱动程序分配端口? probe?设置内存控制总线?设置外部中断?在netcard_portlist[]记录的端口调用cs89x0_probe1探测网卡设备。?probe1?真正的探测函数?初始化设备?注册各个接口函数Р需要实现的接口Р必须实现的提供给内核调用的接口Р dev->open = net_open;? dev->stop = net_close;? dev->tx_timeout?= net_timeout;? dev->hard_start_xmit?= net_send_packet;? dev->get_stats = net_get_stats;? dev->set_multicast_list?= set_multicast_list;? dev->set_mac_address = set_mac_address;Р辅助函数Рwriteblock?从网卡读数据到缓冲区?readblock?从缓冲区写数据到网卡Р编译,调试,测试Р交叉编译arm-linux-gccР挂载U盘测试Р模块加载insmodРdmesg 查看打印的调试信息