📄 main.lst
字号:
\ 00000006 1E1C MOV R6,R3
\ 00000008 069F LDR R7,[SP, #+0x18]
\ 0000000A 0020 MOV R0,#+0
\ 0000000C C043 MVN R0,R0 ;; #-1
\ 0000000E E060 STR R0,[R4, #+0xC]
\ 00000010 AC20 MOV R0,#+0xAC
\ 00000012 2060 STR R0,[R4, #+0]
\ 00000014 321C MOV R2,R6
\ 00000016 0099 LDR R1,[SP, #+0]
\ 00000018 201C MOV R0,R4
\ 0000001A ........ _BLF AT91F_US_SetBaudrate,AT91F_US_SetBaudrate??rT
\ 0000001E 391C MOV R1,R7
\ 00000020 201C MOV R0,R4
\ 00000022 ........ _BLF AT91F_US_SetTimeguard,AT91F_US_SetTimeguard??rT
\ 00000026 8020 MOV R0,#+0x80
\ 00000028 4000 LSL R0,R0,#+0x1 ;; #+0x100
\ 0000002A 2018 ADD R0,R4,R0
\ 0000002C ........ _BLF AT91F_PDC_Open,AT91F_PDC_Open??rT
\ 00000030 6560 STR R5,[R4, #+0x4]
\ 00000032 01B0 ADD SP,#+0x4
\ 00000034 F0BC POP {R4-R7}
\ 00000036 01BC POP {R0}
\ 00000038 0047 BX R0 ;; return
\ In segment CODE, align 4, keep-with-next
\ __??Code16?? __code __interwork __atpcs void AT91F_US_EnableTx(AT91PS_USART)
\ AT91F_US_EnableTx:
\ 00000000 4021 MOV R1,#+0x40
\ 00000002 0160 STR R1,[R0, #+0]
\ 00000004 7047 BX LR ;; return
\ In segment CODE, align 4, keep-with-next
\ __??Code16?? __code __interwork __atpcs void AT91F_DBGU_CfgPMC(void)
\ AT91F_DBGU_CfgPMC:
\ 00000000 00B5 PUSH {LR}
\ 00000002 0221 MOV R1,#+0x2
\ 00000004 0248 LDR R0,??AT91F_DBGU_CfgPMC_0 ;; 0xfffffc00
\ 00000006 ........ _BLF AT91F_PMC_EnablePeriphClock,AT91F_PMC_EnablePeriphClock??rT
\ 0000000A 01BC POP {R0}
\ 0000000C 0047 BX R0 ;; return
\ 0000000E C046 NOP
\ ??AT91F_DBGU_CfgPMC_0:
\ 00000010 00FCFFFF DC32 0xfffffc00
\ In segment CODE, align 4, keep-with-next
\ __??Code16?? __code __interwork __atpcs void AT91F_DBGU_CfgPIO(void)
\ AT91F_DBGU_CfgPIO:
\ 00000000 00B5 PUSH {LR}
\ 00000002 0022 MOV R2,#+0
\ 00000004 C021 MOV R1,#+0xC0
\ 00000006 0906 LSL R1,R1,#+0x18 ;; #-1073741824
\ 00000008 0248 LDR R0,??AT91F_DBGU_CfgPIO_0 ;; 0xfffff400
\ 0000000A ........ _BLF AT91F_PIO_CfgPeriph,AT91F_PIO_CfgPeriph??rT
\ 0000000E 01BC POP {R0}
\ 00000010 0047 BX R0 ;; return
\ 00000012 C046 NOP
\ ??AT91F_DBGU_CfgPIO_0:
\ 00000014 00F4FFFF DC32 0xfffff400
18 #include "trace.h"
19 //*************************** declare local foundations ************************
20 void DBGU_Init(void) ;
21 //*********************************** end declare ******************************
\ In segment DATA_Z, align 4, align-sorted
22 INT8U *GetBuf ;
\ GetBuf:
\ 00000000 DS8 4
\ In segment CODE, align 4, keep-with-next
23 void main(void)
24 {
\ main:
\ 00000000 00B5 PUSH {LR}
25 DBGU_Init();
\ 00000002 ........ BL DBGU_Init
26 SD_Initialize() ;
\ 00000006 ........ _BLF SD_Initialize,SD_Initialize??rT
27 SD_ActiveInit() ;
\ 0000000A ........ _BLF SD_ActiveInit,SD_ActiveInit??rT
28 SD_GetCardInfo() ;
\ 0000000E ........ _BLF SD_GetCardInfo,SD_GetCardInfo??rT
29 TRACE_INFO("START to READ \r\n") ;
\ 00000012 0A48 LDR R0,??main_0 ;; _Stdout
\ 00000014 0028 CMP R0,#+0
\ 00000016 03D0 BEQ ??main_1
\ 00000018 0949 LDR R1,??main_0+0x4 ;; `?<Constant "START to READ \\r\\n">`
\ 0000001A 0848 LDR R0,??main_0 ;; _Stdout
\ 0000001C ........ _BLF fprintf,fprintf??rT
30 for(;;)
31 {
32 SD_ReadBlock(64, GetBuf);
\ ??main_1:
\ 00000020 0848 LDR R0,??main_0+0x8 ;; GetBuf
\ 00000022 0168 LDR R1,[R0, #+0]
\ 00000024 4020 MOV R0,#+0x40
\ 00000026 ........ _BLF SD_ReadBlock,SD_ReadBlock??rT
33 TRACE_INFO(GetBuf) ;
^
Warning[Pe167]: argument of type "INT8U *" is incompatible with parameter of
type "char const *"
\ 0000002A 0448 LDR R0,??main_0 ;; _Stdout
\ 0000002C 0028 CMP R0,#+0
\ 0000002E F7D0 BEQ ??main_1
\ 00000030 0448 LDR R0,??main_0+0x8 ;; GetBuf
\ 00000032 0168 LDR R1,[R0, #+0]
\ 00000034 0148 LDR R0,??main_0 ;; _Stdout
\ 00000036 ........ _BLF fprintf,fprintf??rT
\ 0000003A F1E7 B ??main_1
\ ??main_0:
\ 0000003C ........ DC32 _Stdout
\ 00000040 ........ DC32 `?<Constant "START to READ \\r\\n">`
\ 00000044 ........ DC32 GetBuf
34 }
35 }
36 //******************************************************************************
\ In segment CODE, align 4, keep-with-next
37 void DBGU_Init(void)
38 {
\ DBGU_Init:
\ 00000000 00B5 PUSH {LR}
39 AT91F_DBGU_CfgPIO() ;
\ 00000002 ........ _BLF AT91F_DBGU_CfgPIO,AT91F_DBGU_CfgPIO??rT
40 AT91F_DBGU_CfgPMC (); //no need
\ 00000006 ........ _BLF AT91F_DBGU_CfgPMC,AT91F_DBGU_CfgPMC??rT
41 AT91F_US_Configure((AT91PS_USART)AT91C_BASE_DBGU,MCK,AT91C_US_ASYNC_MODE,115200,0) ;
\ 0000000A 0020 MOV R0,#+0
\ 0000000C 01B4 PUSH {R0}
\ 0000000E E123 MOV R3,#+0xE1
\ 00000010 5B02 LSL R3,R3,#+0x9 ;; #+0x1C200
\ 00000012 8C22 MOV R2,#+0x8C
\ 00000014 1201 LSL R2,R2,#+0x4 ;; #+0x8C0
\ 00000016 0549 LDR R1,??DBGU_Init_0 ;; 0x2db4000
\ 00000018 0548 LDR R0,??DBGU_Init_0+0x4 ;; 0xfffff200
\ 0000001A ........ _BLF AT91F_US_Configure,AT91F_US_Configure??rT
\ 0000001E 01B0 ADD SP,#+0x4
42 AT91F_US_EnableTx((AT91PS_USART)AT91C_BASE_DBGU) ;
\ 00000020 0348 LDR R0,??DBGU_Init_0+0x4 ;; 0xfffff200
\ 00000022 ........ _BLF AT91F_US_EnableTx,AT91F_US_EnableTx??rT
43 }
\ 00000026 01BC POP {R0}
\ 00000028 0047 BX R0 ;; return
\ 0000002A C046 NOP
\ ??DBGU_Init_0:
\ 0000002C 0040DB02 DC32 0x2db4000
\ 00000030 00F2FFFF DC32 0xfffff200
\ In segment DATA_C, align 4, align-sorted
\ `?<Constant "START to READ \\r\\n">`:
\ 00000000 535441525420 DC8 "START to READ \015\012"
\ 746F20524541
\ 44200D0A00
\ 00000011 000000 DC8 0, 0, 0
44
Maximum stack usage in bytes:
Function CSTACK
-------- ------
AT91F_DBGU_CfgPIO 4
AT91F_DBGU_CfgPMC 4
AT91F_PDC_DisableRx 0
AT91F_PDC_DisableTx 0
AT91F_PDC_EnableRx 0
AT91F_PDC_EnableTx 0
AT91F_PDC_Open 8
AT91F_PDC_SetNextRx 0
AT91F_PDC_SetNextTx 0
AT91F_PDC_SetRx 0
AT91F_PDC_SetTx 0
AT91F_PIO_CfgPeriph 0
AT91F_PMC_EnablePeriphClock 0
AT91F_US_Baudrate 8
AT91F_US_Configure 24
AT91F_US_EnableTx 0
AT91F_US_SetBaudrate 16
AT91F_US_SetTimeguard 0
DBGU_Init 8
main 4
Segment part sizes:
Function/Label Bytes
-------------- -----
AT91F_PDC_SetNextRx 6
AT91F_PDC_SetNextTx 6
AT91F_PDC_SetRx 6
AT91F_PDC_SetTx 6
AT91F_PDC_EnableTx 8
AT91F_PDC_EnableRx 6
AT91F_PDC_DisableTx 8
AT91F_PDC_DisableRx 6
AT91F_PDC_Open 74
AT91F_PIO_CfgPeriph 12
AT91F_PMC_EnablePeriphClock 4
AT91F_US_Baudrate 64
AT91F_US_SetBaudrate 24
AT91F_US_SetTimeguard 4
AT91F_US_Configure 58
AT91F_US_EnableTx 6
AT91F_DBGU_CfgPMC 20
AT91F_DBGU_CfgPIO 24
GetBuf 4
main 72
DBGU_Init 52
?<Constant "START to READ \r\n">
20
Others 244
698 bytes in segment CODE
20 bytes in segment DATA_C
4 bytes in segment DATA_Z
12 bytes in segment INITTAB
124 bytes of CODE memory (+ 586 bytes shared)
20 bytes of CONST memory
4 bytes of DATA memory
Errors: none
Warnings: 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -