天嵌 ARM开发社区

 找回密码
 注册
查看: 2532|回复: 7

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

[复制链接]
guethh 发表于 2012-1-9 22:05:41 | 显示全部楼层 |阅读模式
应用程序网络编程是基于socket接口的,好像完全屏蔽了底层,不能像字符设备那样应用程序可以调用open、read、write等驱动函数,请问系统是在哪里调用了驱动程序里的函数,什么时候调用?比如dm9000_open,dm9000_ioctl,dm9000_phy_read,dm9000_phy_write等函数我想用它,怎么调用?

请高手指点
 楼主| guethh 发表于 2012-1-10 15:59:53 | 显示全部楼层
有没有人能指点一下?
亚瑟王 发表于 2012-1-10 17:40:42 | 显示全部楼层
亲,网络协议的作用就是将硬件和软件分离,做应用程序的人只需要知道操作socket的相关api即可,至于驱动如何工作的,做应用程序的人根本不用理会,做一个应用程序,凡是符合socket编程的地方都能使用,不管是什么硬件。
你现在的想法是要让做应用程序的人做的一个程序只能在一个地方工作,换个环境,就要重新编程了。
如果你想直接操作dm9000下的相关函数,你可以修改网络协议,绕开网络协议来操作它,不过工作量不小哦。
 楼主| guethh 发表于 2012-1-10 19:48:05 | 显示全部楼层
亚瑟王 发表于 2012-1-10 17:40
亲,网络协议的作用就是将硬件和软件分离,做应用程序的人只需要知道操作socket的相关api即可,至于驱动如何 ...

管理员,谢你的解答!我现在想在应用程序执行的过程中读写PHY寄存器里的值,而 socket的API没见有这样的操作函数,该怎样去实现呢?
亚瑟王 发表于 2012-1-11 10:12:13 | 显示全部楼层
亲,如果你是想调试dm9000这颗芯片,你可以考虑在读写函数里面把物理寄存器的值打印出来。如果你是想在应用程序里面利用物理寄存器的值,我暂时还没有想到办法。
 楼主| guethh 发表于 2012-1-11 11:09:27 | 显示全部楼层
亚瑟王 发表于 2012-1-11 10:12
亲,如果你是想调试dm9000这颗芯片,你可以考虑在读写函数里面把物理寄存器的值打印出来。如果你是想在应用 ...

感谢你的解答,我正是想在应用程序利用PHY物理寄存器的值呢,不知怎么操作!
亚瑟王 发表于 2012-1-12 11:37:40 | 显示全部楼层
亲,想问一下,你的应用程序想实现什么功能?
xsh5000 发表于 2012-1-12 14:05:44 | 显示全部楼层
学习学习了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-6-16 19:57 , Processed in 1.031250 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表