阅读:1573回复:2
关于EZUSB的描述表的取到
EZUSB的描述表,是跟51处理程序一起下载到片子里的,在持续
供电中,再由驱动程序发出控制字节,特定的8个字节的setup包,就 能取到片子中的指定的描述表。这是如何实现的,是否就是根据下载 的描述表文件中的标志号,片子能自动找到该地址,而且应该是硬件实现? 因为RAM中,并没有这样响应这种setup包的中断服务程序。 经过这一段时间的学习,再加上以前的基础,大概能够全部工作都承接下来,如果能完成这样一个项目,收获想来会很大。:) |
|
最新喜欢:Jkw_De...
|
沙发#
发布于:2001-08-20 17:47
hoho,还是我自己来回答了。
当EZ-USB处理控制传输的时候,提供了硬件的支持,比如对于 get descriptor,chip的core读到setup中的8个固定的字节,那么 就把一个指针(两个专用的register)赋值,指向所要求的描述表 的首地址,(可能是通过写进片子里中的标号首地址或者段首地址等寻到,猜的,那么在写描述表的时候,注意不要改动EZ-USB提供例程的标号即可),接下来的服务程序,都是由chip的硬件来完成,送指定的字节到host,供底层驱动程序调用。 EZ-USB对于每个端点,每一个传输的阶段,setup,data,ack段,都提供了中断,比较方便。但是对于端点0的控制传输,一般情况应该把中断封闭,因为对于许多控制传输,已经有硬件支持来完成。而且,对于一般的驱动程序,由于USBDI的存在,并不能控制到具体控制字节,(好像winDriver可以),因此对setup首尾的中断,关闭。 不知是否认识正确,请高人指点。 |
|
|