当前位置: 代码迷 >> 驱动开发 >> 请问Linux下dm9000网卡驱动程序有关问题
  详细解决方案

请问Linux下dm9000网卡驱动程序有关问题

热度:117   发布时间:2016-04-28 11:24:27.0
请教Linux下dm9000网卡驱动程序问题
应用程序网络编程是基于socket接口的,好像完全屏蔽了底层,不能像字符设备那样应用程序可以调用open、read、write等

驱动函数,请问系统是在哪里调用了驱动程序里的函数,什么时候调用?比如dm9000_open,dm9000_ioctl,

dm9000_phy_read,dm9000_phy_write等函数我想用它,怎么调用?

请高手指点

------解决方案--------------------
探讨
应用程序网络编程是基于socket接口的,好像完全屏蔽了底层,不能像字符设备那样应用程序可以调用open、read、write等

驱动函数,请问系统是在哪里调用了驱动程序里的函数,什么时候调用?比如dm9000_open,dm9000_ioctl,

dm9000_phy_read,dm9000_phy_write等函数我想用它,怎么调用?

请高手指点

------解决方案--------------------
探讨

多谢指点,我看见网络应用程序编程都是用socket,没见有直接调用的,系统肯定调用了这些函数,不知道在哪里调用了?

------解决方案--------------------
驱动属于设备层的,与块和字符设备属于同级别,但的确没有这些设备的这样上层函数,这是个主要区别。
如果能使网卡,系统会自动调用这些函数,包括事件的处理。 至于socket网络层函数属于上层函数,可以认为没有直接的控制关系,只有是在查找路由等时候,才要查找相应的设备接口和调用收发函数。
------解决方案--------------------
socket发送数据,会查找相应的interface,并调用发送函数,当然不是socket直接调,要用过tcp/ip协议栈去调。
接收函数是自动发送给tcp/ip栈,然后socket可以读。 至于初始化和配置函数,是网卡自动加载时候进行的,属于设备自身的管理,跟socket没关
本站暂不开放注册!
内测阶段只得通过邀请码进行注册!
 
  • 最近登录:Sun Aug 20 10:08:13 CST 2017
  • 最近登录:Sun Aug 20 10:08:13 CST 2017
  • 最近登录:Sun Aug 20 10:08:13 CST 2017
  • 最近登录:Sun Aug 20 10:08:13 CST 2017
  • 最近登录:Sun Aug 20 10:08:13 CST 2017