📄 dbgu.lst
字号:
\ 00000000 .... LDR R0,??DataTable5 ;; 0xfffff200
\ 00000002 .... B ?Subroutine9
71 }
\ In segment CODE, align 4, keep-with-next
\ ?Subroutine9:
\ 00000000 1021 MOV R1,#+0x10
\ 00000002 0160 STR R1,[R0, #+0]
\ 00000004 7047 BX LR ;; return
\ 00000006 C046 NOP
\ ??Subroutine9_0:
\ 00000008 70F4FFFF DC32 0xfffff470
\ 0000000C 74F4FFFF DC32 0xfffff474
\ 00000010 04F4FFFF DC32 0xfffff404
72
\ In segment CODE, align 4, keep-with-next
73 void DBGU_RX_TX_RST_DIS(void)
74 {
75 AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ;
76 pDbgu->DBGU_CR = 0x000000AC;
\ DBGU_RX_TX_RST_DIS:
\ 00000000 .... LDR R0,??DataTable5 ;; 0xfffff200
\ 00000002 AC21 MOV R1,#+0xAC
\ 00000004 0160 STR R1,[R0, #+0]
77 }
\ 00000006 7047 BX LR ;; return
78
\ In segment CODE, align 4, keep-with-next
79 void DBGU_Parity_Cfg(unsigned int par)
80 {
81 AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ;
82
83 pDbgu->DBGU_MR = par << 9;
\ DBGU_Parity_Cfg:
\ 00000000 .... LDR R1,??DataTable7 ;; 0xfffff204
\ 00000002 4002 LSL R0,R0,#+0x9
\ 00000004 0860 STR R0,[R1, #+0]
84 }
\ 00000006 7047 BX LR ;; return
85
86
\ In segment CODE, align 4, keep-with-next
87 void Init_DBGU(void)
88 {
89 AT91F_DBGU_CfgPIO();
\ Init_DBGU:
\ 00000000 C020 MOV R0,#+0xC0
\ 00000002 4005 LSL R0,R0,#+0x15 ;; #+0x18000000
\ 00000004 .... LDR R1,??Subroutine9_0 ;; 0xfffff470
\ 00000006 0860 STR R0,[R1, #+0]
\ 00000008 .... LDR R1,??Subroutine9_0+0x4 ;; 0xfffff474
\ 0000000A 0022 MOV R2,#+0
\ 0000000C 0A60 STR R2,[R1, #+0]
\ 0000000E .... LDR R1,??Subroutine9_0+0x8 ;; 0xfffff404
\ 00000010 0860 STR R0,[R1, #+0]
90 DBGU_RX_TX_RST_DIS();
\ 00000012 .... LDR R0,??DataTable5 ;; 0xfffff200
\ 00000014 AC21 MOV R1,#+0xAC
\ 00000016 0160 STR R1,[R0, #+0]
91 Init_DBGU_BGR(26); //26 <=> 115kBd
\ 00000018 .... LDR R1,??DataTable6 ;; 0xfffff220
\ 0000001A 1A22 MOV R2,#+0x1A
\ 0000001C 0A60 STR R2,[R1, #+0]
92 DBGU_Parity_Cfg(4);
\ 0000001E .... LDR R1,??DataTable7 ;; 0xfffff204
\ 00000020 8022 MOV R2,#+0x80
\ 00000022 1201 LSL R2,R2,#+0x4 ;; #+0x800
\ 00000024 0A60 STR R2,[R1, #+0]
93 DBGU_TX_Enable();
\ 00000026 4021 MOV R1,#+0x40
\ 00000028 0160 STR R1,[R0, #+0]
\ 0000002A C046 NOP
94 DBGU_RX_Enable();
\ 0000002C REQUIRE ?Subroutine9
\ 0000002C ;; // Fall through to label ?Subroutine9
95 }
96
\ In segment CODE, align 4, keep-with-next
97 void uprintf(char *fmt,...)
98 {
\ uprintf:
\ 00000000 0EB4 PUSH {R1-R3}
\ 00000002 00B5 PUSH {LR}
\ 00000004 C0B0 SUB SP,#+0x100
99 va_list ap;
100 char string[256];
101 va_start(ap,fmt);
\ 00000006 41AA ADD R2,SP,#+0x104
102 vsprintf(string,fmt,ap);
\ 00000008 011C MOV R1,R0
\ 0000000A 6846 MOV R0,SP
\ 0000000C ........ _BLF vsprintf,vsprintf??rT
103 AT91F_DBGU_Printk(string);
\ 00000010 6846 MOV R0,SP
\ 00000012 ........ BL AT91F_DBGU_Printk
104 va_end(ap);
105 }
\ 00000016 40B0 ADD SP,#+0x100
\ 00000018 0FBC POP {R0-R3}
\ 0000001A 0047 BX R0 ;; return
\ In segment CODE, align 4, keep-with-next
\ ??DataTable5:
\ 00000000 00F2FFFF DC32 0xfffff200
\ In segment CODE, align 4, keep-with-next
\ ??DataTable6:
\ 00000000 20F2FFFF DC32 0xfffff220
\ In segment CODE, align 4, keep-with-next
\ ??DataTable7:
\ 00000000 04F2FFFF DC32 0xfffff204
Maximum stack usage in bytes:
Function CSTACK
-------- ------
AT91F_DBGU_Printk 4
DBGU_Parity_Cfg 0
DBGU_RX_Enable 0
DBGU_RX_TX_RST_DIS 0
DBGU_TX_Enable 0
Init_DBGU 0
Init_DBGU_BGR 0
Init_DBGU_CLK 0
uprintf 260
Segment part sizes:
Function/Label Bytes
-------------- -----
AT91F_DBGU_Printk 48
Init_DBGU_CLK 12
Init_DBGU_BGR 6
DBGU_TX_Enable 8
DBGU_RX_Enable 4
?Subroutine9 20
DBGU_RX_TX_RST_DIS 8
DBGU_Parity_Cfg 8
Init_DBGU 44
uprintf 28
??DataTable5 4
??DataTable6 4
??DataTable7 4
Others 80
278 bytes in segment CODE
198 bytes of CODE memory (+ 80 bytes shared)
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -