Freescale Semiconductor Microcontrollers User Manual

Page 313

Advertising
background image

HC08 Full Chip Simulation

Configuration Procedure

313

Microcontrollers Debugger Manual

db $26,$FF,$00 ; Logical Maximum ($FF)
db $75,$08 ; Report Size (8 bits)
db $95,$01 ; Report Count (1 field)
db $81,$02 ; Input (Data, Variable, Absolute)

db $C0 ; End Collection
RDesc_End:

***************************************************************
* Init_USB - Disables receive and transmit for all endpoints. *
* The USB state is set to powered, where the part *
* is waiting for an USB reset and for it to be *
* addressed and configured. *
***************************************************************
Init_USB:
clr control ; waiting for control packets
mov #$00,USBSR ; Reset all USB flags
mov #$2d,USIMR ; Enable interrupts for config change,
; setup, reset, and suspend events
mov #$d0,UEP1CSR ; enable EP1 as interrupt, IN direction,
; buffer size of 8
mov #$80,UEP2CSR ; enable EP2 as bulk, OUT direction,
; buffer size of 8
mov #$20,UEP12BPR ; set base address pointer for EP1 to
; $1000, EP2 to $1010
mov #$00,UINTFCR ; set interface number for EP1,EP2 to 0
mov #$4e,USBCR ; turn on USB clocking, enable
; interrupts for endpoint 0,1,2 transfers
mov #$ce,USBCR ; enable USB module
rts

****************************************************************
* FORCE_STALL - A packet is received in the control stage that *
* is not supported. So the device stalls until *
* new SETUP packet arrives at endpoint 0. *
****************************************************************
FORCE_STALL:
lda USIMR ; request not handled
ora #40 ; set EP0_STALL
sta USIMR ; new SETUP packet clears STALL
rts ; bits automatically

****************************************************************
* GETDESC_PROC - This procedure handles the standard request *
* to get the device's descriptors. *
****************************************************************
GETDESC_PROC:

Advertising