📄 main.lst
字号:
347 //------------------------------------------------------------------------------
348 /// Invoked whenever a SETUP request is received from the host. Forwards the
349 /// request to the standard handler.
350 //------------------------------------------------------------------------------
\ In section .text, align 4, keep-with-next
351 void USBDCallbacks_RequestReceived(const USBGenericRequest *request)
352 {
\ USBDCallbacks_RequestReceived:
\ 00000000 10402DE9 PUSH {R4,LR}
\ 00000004 0040B0E1 MOVS R4,R0
353 USBDDriver_RequestHandler(&usbdDriver, request);
\ 00000008 0410B0E1 MOVS R1,R4
\ 0000000C ........ LDR R0,??DataTable8 ;; usbdDriver
\ 00000010 ........ BL USBDDriver_RequestHandler
354 }
\ 00000014 1040BDE8 POP {R4,LR}
\ 00000018 1EFF2FE1 BX LR ;; return
355
356 //------------------------------------------------------------------------------
357 // Global functions
358 //------------------------------------------------------------------------------
359
360 //------------------------------------------------------------------------------
361 /// Initializes the system, connects the USB and waits indefinitely.
362 //------------------------------------------------------------------------------
\ In section .text, align 4, keep-with-next
363 int main()
364 {
\ main:
\ 00000000 07402DE9 PUSH {R0-R2,LR}
365 trace_CONFIGURE(DBGU_STANDARD, 115200, BOARD_MCK);
\ 00000004 0D00B0E1 MOVS R0,SP
\ 00000008 84109FE5 LDR R1,??main_0 ;; `?<Constant {{1536, (AT91S_PIO *)4294964224, 2,`
\ 0000000C 0C1091E8 LDM R1,{R2,R3,R12}
\ 00000010 0C1080E8 STM R0,{R2,R3,R12}
\ 00000014 0110A0E3 MOV R1,#+1
\ 00000018 0D00B0E1 MOVS R0,SP
\ 0000001C ........ BL PIO_Configure
\ 00000020 B727A0E3 MOV R2,#+47972352
\ 00000024 6C2C82E3 ORR R2,R2,#0x6C00
\ 00000028 401BA0E3 MOV R1,#+65536
\ 0000002C C21C81E3 ORR R1,R1,#0xC200
\ 00000030 800EA0E3 MOV R0,#+2048
\ 00000034 ........ BL DBGU_Configure
366
367 trace_LOG(trace_INFO, "\n*******************************************************\n");
\ 00000038 58009FE5 LDR R0,??main_0+0x4 ;; `?<Constant "\\n********************...">`
\ 0000003C ........ BL printf
368 trace_LOG(trace_INFO, " USB设备驱动工程Ver1.3\n");
\ 00000040 54009FE5 LDR R0,??main_0+0x8 ;; `?<Constant " USB\\311\\350\\261..."`
\ 00000044 ........ BL printf
369 trace_LOG(trace_INFO, "*********************************************************\n");
\ 00000048 50009FE5 LDR R0,??main_0+0xC ;; `?<Constant "*********************...">`
\ 0000004C ........ BL printf
370
371 // If they are present, configure Vbus & Wake-up pins
372 PIO_InitializeInterrupts(0);
\ 00000050 0000A0E3 MOV R0,#+0
\ 00000054 ........ BL PIO_InitializeInterrupts
373
374 // VBus configuration
375 VBUS_CONFIGURE();
\ 00000058 ........ BL VBus_Configure
376
377 // USB initialization
378 trace_LOG(trace_INFO, "USB初始化\n\r");
\ 0000005C 40009FE5 LDR R0,??main_0+0x10 ;; `?<Constant "USB\\263\\365\\312\\274\\273\\257\\n\\r">`
\ 00000060 ........ BL printf
379 USBDDriver_Initialize(&usbdDriver, &usbdDriverDescriptors, 0);
\ 00000064 0020A0E3 MOV R2,#+0
\ 00000068 38109FE5 LDR R1,??main_0+0x14 ;; usbdDriverDescriptors
\ 0000006C ........ LDR R0,??DataTable8 ;; usbdDriver
\ 00000070 ........ BL USBDDriver_Initialize
380 USBD_Init();
\ 00000074 ........ BL USBD_Init
381
382 // Device connection
383 trace_LOG(trace_INFO, "连接设备\n\r");
\ 00000078 2C009FE5 LDR R0,??main_0+0x18 ;; `?<Constant "\\301\\254\\275\\323\\311\\350\\261\\270\\n`
\ 0000007C ........ BL printf
384 USBD_Connect();
\ 00000080 ........ BL USBD_Connect
385 while (USBD_GetState() < USBD_STATE_CONFIGURED);
\ ??main_1:
\ 00000084 ........ BL USBD_GetState
\ 00000088 050050E3 CMP R0,#+5
\ 0000008C FCFFFF3A BCC ??main_1
386
387 // Infinite loop
388 while (1);
\ ??main_2:
\ 00000090 FEFFFFEA B ??main_2
\ ??main_0:
\ 00000094 ........ DC32 `?<Constant {{1536, (AT91S_PIO *)4294964224, 2,`
\ 00000098 ........ DC32 `?<Constant "\\n********************...">`
\ 0000009C ........ DC32 `?<Constant " USB\\311\\350\\261..."`
\ 000000A0 ........ DC32 `?<Constant "*********************...">`
\ 000000A4 ........ DC32 `?<Constant "USB\\263\\365\\312\\274\\273\\257\\n\\r">`
\ 000000A8 ........ DC32 usbdDriverDescriptors
\ 000000AC ........ DC32 `?<Constant "\\301\\254\\275\\323\\311\\350\\261\\270\\n`
389
390 return 0;
^
Warning[Pe111]: statement is unreachable
391 }
\ In section .text, align 4, keep-with-next
\ ??DataTable5:
\ 00000000 ........ DC32 pinVbus
\ In section .text, align 4, keep-with-next
\ ??DataTable6:
\ 00000000 ........ DC32 `?<Constant "conn\\n\\r">`
\ In section .text, align 4, keep-with-next
\ ??DataTable8:
\ 00000000 ........ DC32 usbdDriver
\ In section .rodata, align 4
\ `?<Constant "VBUS ">`:
\ 00000000 564255532000 DC8 "VBUS "
\ 00000006 0000 DC8 0, 0
\ In section .rodata, align 4
\ `?<Constant "conn\\n\\r">`:
\ 00000000 636F6E6E0A0D DC8 "conn\012\015"
\ 00
\ 00000007 00 DC8 0
\ In section .rodata, align 4
\ `?<Constant "discon\\n\\r">`:
\ 00000000 646973636F6E DC8 "discon\012\015"
\ 0A0D00
\ 00000009 000000 DC8 0, 0, 0
\ In section .rodata, align 4
\ `?<Constant "VBus \\305\\344\\326\\303\\n\\r">`:
\ 00000000 5642757320C5 DC8 "VBus \305\344\326\303\012\015"
\ E4D6C30A0D00
\ In section .rodata, align 4
\ `?<Constant {{1536, (AT91S_PIO *)4294964224, 2,`:
\ 00000000 0006000000F4 DC32 1536, 0FFFFF400H
\ FFFF
\ 00000008 02000000 DC8 2, 0, 0, 0
\ In section .rodata, align 4
\ `?<Constant "\\n********************...">`:
\ 00000000 0A2A2A2A2A2A DC8 0AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH
\ 2A2A
\ 00000008 2A2A2A2A2A2A DC8 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH
\ 2A2A
\ 00000010 2A2A2A2A2A2A DC8 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH
\ 2A2A
\ 00000018 2A2A2A2A2A2A DC8 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH
\ 2A2A
\ 00000020 2A2A2A2A2A2A DC8 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH
\ 2A2A
\ 00000028 2A2A2A2A2A2A DC8 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH
\ 2A2A
\ 00000030 2A2A2A2A2A2A DC8 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH
\ 2A2A
\ 00000038 0A00 DC8 0AH, 0
\ 0000003A 0000 DC8 0, 0
\ In section .rodata, align 4
\ `?<Constant " USB\\311\\350\\261..."`:
\ 00000000 202020202020 DC8 " USB\311\350\261\270\307\375\266\257\271\244\263\314Ver1.3\012"
\ 202020202020
\ 202020555342
\ C9E8B1B8C7FD
\ B6AFB9A4B3CC
\ 566572312E33
\ 0A00
\ 00000026 0000 DC8 0, 0
\ In section .rodata, align 4
\ `?<Constant "*********************...">`:
\ 00000000 2A2A2A2A2A2A DC8 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH
\ 2A2A
\ 00000008 2A2A2A2A2A2A DC8 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH
\ 2A2A
\ 00000010 2A2A2A2A2A2A DC8 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH
\ 2A2A
\ 00000018 2A2A2A2A2A2A DC8 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH
\ 2A2A
\ 00000020 2A2A2A2A2A2A DC8 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH
\ 2A2A
\ 00000028 2A2A2A2A2A2A DC8 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH
\ 2A2A
\ 00000030 2A2A2A2A2A2A DC8 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH
\ 2A2A
\ 00000038 2A0A00 DC8 2AH, 0AH, 0
\ 0000003B 00 DC8 0
\ In section .rodata, align 4
\ `?<Constant "USB\\263\\365\\312\\274\\273\\257\\n\\r">`:
\ 00000000 555342B3F5CA DC8 "USB\263\365\312\274\273\257\012\015"
\ BCBBAF0A0D00
\ In section .rodata, align 4
\ `?<Constant "\\301\\254\\275\\323\\311\\350\\261\\270\\n`:
\ 00000000 C1ACBDD3C9E8 DC8 "\301\254\275\323\311\350\261\270\012\015"
\ B1B80A0D00
\ 0000000B 00 DC8 0
392
Maximum stack usage in bytes:
Function .cstack
-------- -------
ISR_Vbus 8
USBDCallbacks_RequestReceived 8
VBus_Configure 8
main 16
Section sizes:
Function/Label Bytes
-------------- -----
usbDeviceDescriptor 20
usbDeviceQualifierDescriptor 12
configurationDescriptors 48
languageIdDescriptor 4
manufacturerDescriptor 24
productDescriptor 44
serialNumberDescriptor 28
stringDescriptors 16
usbdDriverDescriptors 40
usbdDriver 12
pinVbus 12
ISR_Vbus 76
VBus_Configure 88
USBDCallbacks_RequestReceived 28
main 176
??DataTable5 4
??DataTable6 4
??DataTable8 4
?<Constant "VBUS "> 8
?<Constant "conn\n\r"> 8
?<Constant "discon\n\r"> 12
?<Constant "VBus \305\344\326\303\n\r">
12
?<Constant {{1536, (AT91S_PIO *)4294964224, 2,
12
?<Constant "\n********************...">
60
?<Constant " USB\311\350\261..."
40
?<Constant "*********************...">
60
?<Constant "USB\263\365\312\274\273\257\n\r">
12
?<Constant "\301\254\275\323\311\350\261\270\n
12
12 bytes in section .bss
16 bytes in section .data
468 bytes in section .rodata
380 bytes in section .text
380 bytes of CODE memory
468 bytes of CONST memory
28 bytes of DATA memory
Errors: none
Warnings: 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -