日期:2014-05-16  浏览次数:20760 次

【linux驱动分析】之dm9000驱动分析(二):定义在板文件中的资源和设备以及几个宏

【linux驱动分析】之dm9000驱动分析(一):dm9000原理及硬件分析 

【linux驱动分析】之dm9000驱动分析(二):定义在板文件中的资源和设备以及几个宏 

【linux驱动分析】之dm9000驱动分析(三):sk_buff结构分析 

【linux驱动分析】之dm9000驱动分析(四):net_device结构体 

【linux驱动分析】之dm9000驱动分析(五):另外几个重要的结构体 

【linux驱动分析】之dm9000驱动分析(六):dm9000_init和dm9000_probe的实现 

【linux驱动分析】之dm9000驱动分析(七):dm9000的卸载挂起和恢复以及打开和停止


硬件平台:友善之臂Tiny6410核心板 + DM9000EP
软件平台:linux-2.6.38
交叉编译器:Friendly ARM提供的arm-linux-gcc 4.5.1
一、源代码(mach-mini6410.c)
 1 /* Ethernet */
 2 #ifdef CONFIG_DM9000
 3 #define S3C64XX_PA_DM9000    (0x18000000)
 4 #define S3C64XX_SZ_DM9000    SZ_1M
 5 #define S3C64XX_VA_DM9000    S3C_ADDR(0x03b00300)
 6 
 7 static struct resource dm9000_resources[] = {
 8     [0] = {
 9         .start        = S3C64XX_P