usb125asm(usbfirmware)

所属分类:USB编程
开发工具:Asm
文件大小:102KB
下载次数:150
上传日期:2007-04-03 14:41:02
上 传 者网络新客
说明:  USB 固件开发源码,汇编写的,内含源代码和说明文档
(USB firmware development source, the compilation was made containing the source code and documentation)

文件列表:
16c745.lkr (1786, 2002-03-20)
16c765.lkr (1786, 2002-03-20)
descript.asm (13160, 2002-04-23)
hidclass.asm (8270, 2002-04-23)
MOVECURS.HEX (12830, 2002-04-23)
movecurs.pjt (3181, 2002-04-23)
USB-UGv125asm.doc (141824, 2002-04-23)
usb_ch9.asm (56305, 2002-04-23)
usb_defs.inc (15910, 2002-03-15)
usb_main.asm (10616, 2002-04-23)
项目合作.htm (3591, 2005-12-28)

USB 16C745/765 firmware files V1.25 23 April 2002 V1.25 - Changes from V1.24 1. Added interrupt enabled as a condition to calling all ISR functions. 2. Changed the order in which USB interrupts are serviced. The Activity interrupt is now serviced before the Reset interrupt. V1.24 - Changes from V1.23 1. USBActivity was changed so that the UCTRL: bit is cleared. Before this change, the microcontroller would not re-enumerate when reset by the host after the host rebooted. V1.23 - Changes from V1.22 1. Made code consistent with C version of USB support firmware. 2. Corrected and error in HID_SET_REPORT function in which BD0OST was being written to illegally by the firmware after control of this register was given to the SIE. 3. Corrected USBSleep and USBActivity to suspend and unsuspend the SIE respectively. V1.22 - Changes from V1.21: 1. Correctly set DATA0/1 bit (BDndST:<6>) in Set_Configuration. It wasn't being set before. V1.21 - Changes from V1.20: 1. Implemented SHOW_ENUM_STATUS to show enumeration status on the PORTB LEDs: 0- Powered, 1- Default, 2- addressed, 3- configured, 4- sleep, 5- EP0 Activity, 6- EP1 Activity, 7- EP2 Activity Comment out "#define SHOW_ENUM_STATUS" in usb_ch9.asm to disable status. 2. Separate macros have been defined for GetEP1, GetEP2, PutEP1, and PutEP2. These macros are defined in usb_defs.inc and instances of them have been created in usb_ch9.asm. These functions were converted to macros so that developers can optimize space in there programs by simply deleting the instances they don't use in usb_ch9.asm 3. Various paging and banking issues have been resolved. 4. The cursor now makes the shape of an octogon rather than a square. 5. Added Report_desc_index in order to allow developers to have more than one report descriptor. V1.20 - Changes from V1.12: 1. Set page bits correctly in GetEPn. 2. ConfigUSB now clears the WDT. 3. HIDclass specific - reversed 0x2x's and Ax2x's V1.12 - Changes from V1.10: 1. Better parsing of HID class specific requests 2. Set Protocol returns a zero length packet instead of a protocol stall. 3. fixed bug in string descriptors (extra character returned on short packets) 4. include 16C745 linker script. This linker script is customized from the one provided with MPLAB to give more room to the vectors area. This allows us to completely save process context before jumping off to the ISR. V1.10 - changes from V1.00: 1. Simplified Get/PutUSB. The old version required passing the endpoint number in Wreg. The new version sets the endpoint number at assemble time by a SET assignment just above the Get function. The function can use either End point 1 or 2. The names have been changed to differentiate the new functions from the old ones. The new functions are called GetEP1 (or GetEP2) and PutEP1 (or PutEP2). 2. Descriptor pointers are now 16 bits long. This eliminates the 256 byte restriction on descriptors and also eliminates paging issues. 3. USBIF cleared before TOK_DNE 4. EP1 and EP2 now initialized in Set Config, instead of USBReset. USB V1.1 spec paragraph 5.3.1.2 requires that the non-control endpoints must not respond to requests until the device is configured. 5. HID class requests are more formally parsed out. 6. Minor code cleanups - remove dead code. Introduction These files provide a complete demo program. Just build the project and run it on the emulator or burn it into a part. The demo doesn't require any special hardware, just a connector for the USB part. The demo enumerates as a mouse device and moves the cursor in a small square pattern on the screen. You can use this as a starting point to develop your application, or you can link in USB_CH9.ASM, and HIDCLASS.ASM. You'll also need a file with descriptors such as DESCRIPT.ASM. See USB-UG.DOC for more details on the USB functions provided The project contains the following files: USB_MAIN.ASM - Main program including interrupt service code USB_CH9.ASM - Chapter 9 command support HIDCLASS.ASM - HID class specific command support DESCRIPT.ASM - Descriptors 16C765.LKR - Linker script

近期下载者

相关文件


收藏者