pdiusbd12固件程序主要分成如下几部分:
1、
应用层。该层主要在main.c文件中实现,实现usb设备固件程序的具体功能。
2、
协议处理层。该层又可以分为标准协议层、自定义协议层以及usb事务处理层。主要在usb_protocol.c,vendor_request.c,d12_isr.c文件中实现。
a)
标准协议层。该层主要在usb_protocol.c文件中实现,提供usb请求处理的方法。该层与具体的硬件和应用都没有任何关系,因此,该层可以很容易的移植到其它处理器上,基本无需改动。固件程序要使用协议层时,在应用层软件中首先需要注册协议层处理函数。注册函数的模版为struct usb_total_descriptor_s。
b)
自定义协议层。该层主要在vendor_request.c文件中实现,封装了用户自定义的请求处理方法。
c)
事务处理层。该层主要实现了控制传输的相关机制,提供了中断传输、批量传输的事务接口。该层主要在d12_isr.c文件中实现。
3、
硬件抽象层。该层与具体的硬件相关,主要在sys_hal.c文件实现,封装了硬件系统的初始化等函数。
4、
D12操作层。该层为Pdiusbd12的驱动程序,实现pdiusbd12控制器的各种操作。
usb_d12固件程序已经实际的硬件平台上得到了验证。
用户311886 2011-5-26 09:54
用户52478 2008-11-21 23:35
用户411565 2008-7-7 09:14