080004e0 : { 80004e0: b410 push {r4} USB_CNTR = 1; // disable reset and int 80004e2: 4935 ldr r1, [pc, #212] @ (80005b8 ) suspended = false; 80004e4: 4c35 ldr r4, [pc, #212] @ (80005bc ) CMD.Configuration = 0; // nothing before CONFIGURED 80004e6: 4836 ldr r0, [pc, #216] @ (80005c0 ) 80004e8: 2200 movs r2, #0 USB_CNTR = 1; // disable reset and int 80004ea: 2301 movs r3, #1 CMD.TransferLen = 0; // nothing to transfer 80004ec: ed9f 7b30 vldr d7, [pc, #192] @ 80005b0 USB_CNTR = 1; // disable reset and int 80004f0: f8c1 3c40 str.w r3, [r1, #3136] @ 0xc40 USB_CNTR = 0; // all int off 80004f4: f8c1 2c40 str.w r2, [r1, #3136] @ 0xc40 suspended = false; 80004f8: 7022 strb r2, [r4, #0] configurationSet = false; 80004fa: 4c32 ldr r4, [pc, #200] @ (80005c4 ) CMD.Configuration = 0; // nothing before CONFIGURED 80004fc: 7582 strb r2, [r0, #22] configurationSet = false; 80004fe: 7022 strb r2, [r4, #0] CMD.TransferPtr = 0; 8000500: 6102 str r2, [r0, #16] CMD.TransferLen = 0; // nothing to transfer 8000502: ed80 7b02 vstr d7, [r0, #8] transmitting = false; 8000506: 4c30 ldr r4, [pc, #192] @ (80005c8 ) receiving = false; 8000508: 4830 ldr r0, [pc, #192] @ (80005cc ) EpTable[0].TxOffset = Ep0TxOffset; 800050a: 4b31 ldr r3, [pc, #196] @ (80005d0 ) transmitting = false; 800050c: 7022 strb r2, [r4, #0] receiving = false; 800050e: 7002 strb r2, [r0, #0] EpTable[0].RxCount = EpCtrlLenId; 8000510: f44f 4004 mov.w r0, #33792 @ 0x8400 8000514: f8a3 0096 strh.w r0, [r3, #150] @ 0x96 EpTable[1].RxCount = EpBulkLenId; 8000518: f8a3 009e strh.w r0, [r3, #158] @ 0x9e EpTable[2].TxCount = EpBulkLenId; 800051c: f8a3 00a2 strh.w r0, [r3, #162] @ 0xa2 EpTable[2].RxCount = EpBulkLenId; 8000520: f8a3 00a6 strh.w r0, [r3, #166] @ 0xa6 EpTable[3].TxOffset = Ep3TxOffset; 8000524: f44f 70c0 mov.w r0, #384 @ 0x180 8000528: f8a3 00a8 strh.w r0, [r3, #168] @ 0xa8 EpTable[3].TxCount = EpIntLenId; 800052c: f44f 5080 mov.w r0, #4096 @ 0x1000 8000530: f8a3 00aa strh.w r0, [r3, #170] @ 0xaa EpTable[3].RxCount = EpIntLenId; 8000534: f8a3 00ae strh.w r0, [r3, #174] @ 0xae EpTable[1].TxOffset = Ep1TxAOffset; 8000538: 2480 movs r4, #128 @ 0x80 USB_BTABLE = EpTableOffset; 800053a: f44f 70c8 mov.w r0, #400 @ 0x190 EpTable[0].RxOffset = Ep0RxOffset; 800053e: f04f 0c40 mov.w ip, #64 @ 0x40 EpTable[0].TxOffset = Ep0TxOffset; 8000542: f8a3 2090 strh.w r2, [r3, #144] @ 0x90 EpTable[0].TxCount = 0; 8000546: f8a3 2092 strh.w r2, [r3, #146] @ 0x92 EpTable[1].TxOffset = Ep1TxAOffset; 800054a: f8a3 4098 strh.w r4, [r3, #152] @ 0x98 EpTable[1].TxCount = 0; 800054e: f8a3 209a strh.w r2, [r3, #154] @ 0x9a EpTable[0].RxOffset = Ep0RxOffset; 8000552: f8a3 c094 strh.w ip, [r3, #148] @ 0x94 USB_BTABLE = EpTableOffset; 8000556: f8c1 0c50 str.w r0, [r1, #3152] @ 0xc50 USB_EP0R = 800055a: f243 2020 movw r0, #12832 @ 0x3220 800055e: f8c1 0c00 str.w r0, [r1, #3072] @ 0xc00 USB_EP1R = 8000562: 2021 movs r0, #33 @ 0x21 8000564: f8c1 0c04 str.w r0, [r1, #3076] @ 0xc04 USB_EP2R = 8000568: f243 0002 movw r0, #12290 @ 0x3002 800056c: f8c1 0c08 str.w r0, [r1, #3080] @ 0xc08 USB_EP3R = 8000570: f243 6023 movw r0, #13859 @ 0x3623 8000574: f8c1 0c0c str.w r0, [r1, #3084] @ 0xc0c USB_ISTR = 0; // remove pending interrupts 8000578: f8c1 2c44 str.w r2, [r1, #3140] @ 0xc44 USB_CNTR = 800057c: f44f 401f mov.w r0, #40704 @ 0x9f00 EpTable[2].TxOffset = Ep2RxAOffset; 8000580: f44f 7280 mov.w r2, #256 @ 0x100 USB_CNTR = 8000584: f8c1 0c40 str.w r0, [r1, #3136] @ 0xc40 EpTable[2].TxOffset = Ep2RxAOffset; 8000588: f8a3 20a0 strh.w r2, [r3, #160] @ 0xa0 EpTable[1].RxOffset = Ep1TxBOffset; // here 2nd tx buffer 800058c: 20c0 movs r0, #192 @ 0xc0 EpTable[2].RxOffset = Ep2RxBOffset; 800058e: f44f 72a0 mov.w r2, #320 @ 0x140 EpTable[1].RxOffset = Ep1TxBOffset; // here 2nd tx buffer 8000592: f8a3 009c strh.w r0, [r3, #156] @ 0x9c EpTable[2].RxOffset = Ep2RxBOffset; 8000596: f8a3 20a4 strh.w r2, [r3, #164] @ 0xa4 EpTable[3].RxOffset = Ep3RxOffset; 800059a: f44f 72c4 mov.w r2, #392 @ 0x188 800059e: f8a3 20ac strh.w r2, [r3, #172] @ 0xac USB_DADDR = 0x80 | adr; 80005a2: f8c1 4c4c str.w r4, [r1, #3148] @ 0xc4c } 80005a6: f85d 4b04 ldr.w r4, [sp], #4 80005aa: 4770 bx lr 80005ac: f3af 8000 nop.w ... 80005b8: 40005000 .word 0x40005000 80005bc: 20000055 .word 0x20000055 80005c0: 20000038 .word 0x20000038 80005c4: 20000054 .word 0x20000054 80005c8: 20000056 .word 0x20000056 80005cc: 20000057 .word 0x20000057 80005d0: 40006100 .word 0x40006100