关于网卡驱动的三个疑问,请高手援手关于网卡驱动的三个疑问,请高手援手:
1.如果用跳线模式,9346是不是可以直接不要。我理解9346就是提供一个网卡地址和一些与PnP相关的初始设置。而8019工作时,是根据PAR0-PAR5来判断自身地址的。所以每次初始化时,给这组寄存器赋值不就行了。为什么还要接9346呢?
〉
2.1发送数据包时,首先选定一个发送缓冲区,通过远端DMA装入数据。然后启动发送。
但是很多代码中,先是有个最多重复发16次的发送。后面跟着又设置了TPSR,TBCR然后发送。而且是通过CR=0x3e来启动发送的,我觉得应该是0x1e才对阿,怎么理解?
〉
2.2我觉得应该先设置TPSR,TBCR。然后重复发送,直到无误发送成功。发送就结束了。是不是前面的是在loopback和monitor模式下的发送,后面这个才是真的发到网上去了,但前面初始化时已经设成正常模式了阿?
〉
2.3还有将发送缓冲区分成6页+6页的两块,一块装包,一块发包。在程序中又是怎么体现的呢?是不是单线程下,这根本就做不到(好像发送时自动的)?
〉
3.在loopback和monitor模式下的进行初始化有什么好处?为什么不能就在正常模式下初始化呢?