📄 pmc.lst
字号:
\ 00000008 C00FC0E3 BIC R0,R0,#0x300
\ 0000000C F013E0E3 MVN R1,#-1073741821
\ 00000010 001080E5 STR R1,[R0, #+0]
145 while( (AT91C_BASE_PMC->PMC_PCSR & MASK_STATUS) != MASK_STATUS);
\ ??PMC_EnableAllPeripherals_0:
\ 00000014 E700E0E3 MVN R0,#+231
\ 00000018 C00FC0E3 BIC R0,R0,#0x300
\ 0000001C 000090E5 LDR R0,[R0, #+0]
\ 00000020 F003C0E3 BIC R0,R0,#0xC0000003
\ 00000024 010050E1 CMP R0,R1
\ 00000028 F9FFFF1A BNE ??PMC_EnableAllPeripherals_0
146 TRACE_INFO("Enable all periph clocks\n\r");
\ 0000002C 04009FE5 LDR R0,??PMC_EnableAllPeripherals_1 ;; `?<Constant "-I- Enable all periph...">`
147 }
\ 00000030 0050BDE8 POP {R12,LR}
\ 00000034 ........ B printf ;; tailcall
\ ??PMC_EnableAllPeripherals_1:
\ 00000038 ........ DC32 `?<Constant "-I- Enable all periph...">`
148
149 //------------------------------------------------------------------------------
150 /// Disable all the periph clock via PMC
151 /// (Becareful of the last 2 bits, it is not periph clock)
152 //------------------------------------------------------------------------------
\ In section .text, align 4, keep-with-next
153 void PMC_DisableAllPeripherals(void)
154 {
\ PMC_DisableAllPeripherals:
\ 00000000 01402DE9 PUSH {R0,LR}
155 AT91C_BASE_PMC->PMC_PCDR = MASK_STATUS;
\ 00000004 EB00E0E3 MVN R0,#+235
\ 00000008 C00FC0E3 BIC R0,R0,#0x300
\ 0000000C F013E0E3 MVN R1,#-1073741821
\ 00000010 001080E5 STR R1,[R0, #+0]
156 while((AT91C_BASE_PMC->PMC_PCSR & MASK_STATUS) != 0);
\ ??PMC_DisableAllPeripherals_0:
\ 00000014 E700E0E3 MVN R0,#+231
\ 00000018 C00FC0E3 BIC R0,R0,#0x300
\ 0000001C 000090E5 LDR R0,[R0, #+0]
\ 00000020 F003D0E3 BICS R0,R0,#0xC0000003
\ 00000024 FAFFFF1A BNE ??PMC_DisableAllPeripherals_0
157 TRACE_INFO("Disable all periph clocks\n\r");
\ 00000028 04009FE5 LDR R0,??PMC_DisableAllPeripherals_1 ;; `?<Constant "-I- Disable all perip...">`
158 }
\ 0000002C 0050BDE8 POP {R12,LR}
\ 00000030 ........ B printf ;; tailcall
\ ??PMC_DisableAllPeripherals_1:
\ 00000034 ........ DC32 `?<Constant "-I- Disable all perip...">`
159
160 //-----------------------------------------------------------------------------
161 /// Get Periph Status
162 //-----------------------------------------------------------------------------
\ In section .text, align 4, keep-with-next
163 unsigned int PMC_IsAllPeriphEnabled(void)
164 {
165 return (AT91C_BASE_PMC->PMC_PCSR == MASK_STATUS);
\ PMC_IsAllPeriphEnabled:
\ 00000000 E700E0E3 MVN R0,#+231
\ 00000004 C00FC0E3 BIC R0,R0,#0x300
\ 00000008 000090E5 LDR R0,[R0, #+0]
\ 0000000C F013E0E3 MVN R1,#-1073741821
\ 00000010 010050E1 CMP R0,R1
\ 00000014 0000A013 MOVNE R0,#+0
\ 00000018 0100A003 MOVEQ R0,#+1
\ 0000001C 1EFF2FE1 BX LR
166 }
167
168 //-----------------------------------------------------------------------------
169 /// Get Periph Status
170 //-----------------------------------------------------------------------------
\ In section .text, align 4, keep-with-next
171 unsigned int PMC_IsPeriphEnabled(unsigned int id)
172 {
173 return (AT91C_BASE_PMC->PMC_PCSR & (1 << id));
\ PMC_IsPeriphEnabled:
\ 00000000 E710E0E3 MVN R1,#+231
\ 00000004 C01FC1E3 BIC R1,R1,#0x300
\ 00000008 001091E5 LDR R1,[R1, #+0]
\ 0000000C 0120A0E3 MOV R2,#+1
\ 00000010 120001E0 AND R0,R1,R2, LSL R0
\ 00000014 1EFF2FE1 BX LR ;; return
174 }
175 //------------------------------------------------------------------------------
176 /// Put the CPU in Idle Mode for lower consumption
177 //------------------------------------------------------------------------------
\ In section .text, align 4, keep-with-next
178 void PMC_CPUInIdleMode(void)
179 {
\ PMC_CPUInIdleMode:
\ 00000000 01402DE9 PUSH {R0,LR}
180 PMC_DisableProcessorClock();
181 #ifdef CP15_PRESENT
182 _waitForInterrupt();
183 #endif
184 }
\ 00000004 0050BDE8 POP {R12,LR}
\ 00000008 ........ B PMC_DisableProcessorClock ;; tailcall
\ In section .text, align 4, keep-with-next
\ ??DataTable3:
\ 00000000 ........ DC32 `?<Constant "-F- ASSERT: ">`
\ In section .text, align 4, keep-with-next
\ ??DataTable4:
\ 00000000 ........ DC32 `?<Constant "D:\\\\basic-dataflash-pr...">`
\ In section .text, align 4, keep-with-next
\ ??DataTable5:
\ 00000000 ........ DC32 `?<Constant "Sanity check failed a...">`
\ In section .rodata, align 4
\ `?<Constant "-F- ASSERT: ">`:
\ 00000000 2D462D204153 DC8 "-F- ASSERT: "
\ 534552543A20
\ 00
\ 0000000D 000000 DC8 0, 0, 0
\ In section .rodata, align 4
\ `?<Constant "Sanity check failed a...">`:
\ 00000000 53616E697479 DC8 "Sanity check failed at %s:%d\012\015"
\ 20636865636B
\ 206661696C65
\ 642061742025
\ 733A25640A0D
\ 00
\ 0000001F 00 DC8 0
\ In section .rodata, align 4
\ `?<Constant "D:\\\\basic-dataflash-pr...">`:
\ 00000000 443A5C626173 DC8 44H, 3AH, 5CH, 62H, 61H, 73H, 69H, 63H
\ 6963
\ 00000008 2D6461746166 DC8 2DH, 64H, 61H, 74H, 61H, 66H, 6CH, 61H
\ 6C61
\ 00000010 73682D70726F DC8 73H, 68H, 2DH, 70H, 72H, 6FH, 6AH, 65H
\ 6A65
\ 00000018 63742D617439 DC8 63H, 74H, 2DH, 61H, 74H, 39H, 31H, 73H
\ 3173
\ 00000020 616D3773652D DC8 61H, 6DH, 37H, 73H, 65H, 2DH, 65H, 6BH
\ 656B
\ 00000028 5C617439316C DC8 5CH, 61H, 74H, 39H, 31H, 6CH, 69H, 62H
\ 6962
\ 00000030 5C7065726970 DC8 5CH, 70H, 65H, 72H, 69H, 70H, 68H, 65H
\ 6865
\ 00000038 72616C735C70 DC8 72H, 61H, 6CH, 73H, 5CH, 70H, 6DH, 63H
\ 6D63
\ 00000040 5C706D632E63 DC8 5CH, 70H, 6DH, 63H, 2EH, 63H, 0
\ 00
\ 00000047 00 DC8 0
\ In section .rodata, align 4
\ `?<Constant "-I- PMC_EnablePeriphe...">`:
\ 00000000 2D492D20504D DC8 2DH, 49H, 2DH, 20H, 50H, 4DH, 43H, 5FH
\ 435F
\ 00000008 456E61626C65 DC8 45H, 6EH, 61H, 62H, 6CH, 65H, 50H, 65H
\ 5065
\ 00000010 726970686572 DC8 72H, 69H, 70H, 68H, 65H, 72H, 61H, 6CH
\ 616C
\ 00000018 3A20636C6F63 DC8 3AH, 20H, 63H, 6CH, 6FH, 63H, 6BH, 20H
\ 6B20
\ 00000020 6F6620706572 DC8 6FH, 66H, 20H, 70H, 65H, 72H, 69H, 70H
\ 6970
\ 00000028 686572616C20 DC8 68H, 65H, 72H, 61H, 6CH, 20H, 25H, 75H
\ 2575
\ 00000030 20697320616C DC8 20H, 69H, 73H, 20H, 61H, 6CH, 72H, 65H
\ 7265
\ 00000038 61647920656E DC8 61H, 64H, 79H, 20H, 65H, 6EH, 61H, 62H
\ 6162
\ 00000040 6C65640A0D00 DC8 6CH, 65H, 64H, 0AH, 0DH, 0
\ 00000046 0000 DC8 0, 0
\ In section .rodata, align 4
\ `?<Constant "-I- PMC_DisablePeriph...">`:
\ 00000000 2D492D20504D DC8 2DH, 49H, 2DH, 20H, 50H, 4DH, 43H, 5FH
\ 435F
\ 00000008 44697361626C DC8 44H, 69H, 73H, 61H, 62H, 6CH, 65H, 50H
\ 6550
\ 00000010 657269706865 DC8 65H, 72H, 69H, 70H, 68H, 65H, 72H, 61H
\ 7261
\ 00000018 6C3A20636C6F DC8 6CH, 3AH, 20H, 63H, 6CH, 6FH, 63H, 6BH
\ 636B
\ 00000020 206F66207065 DC8 20H, 6FH, 66H, 20H, 70H, 65H, 72H, 69H
\ 7269
\ 00000028 70686572616C DC8 70H, 68H, 65H, 72H, 61H, 6CH, 20H, 25H
\ 2025
\ 00000030 75206973206E DC8 75H, 20H, 69H, 73H, 20H, 6EH, 6FH, 74H
\ 6F74
\ 00000038 20656E61626C DC8 20H, 65H, 6EH, 61H, 62H, 6CH, 65H, 64H
\ 6564
\ 00000040 0A0D00 DC8 0AH, 0DH, 0
\ 00000043 00 DC8 0
\ In section .rodata, align 4
\ `?<Constant "-I- Enable all periph...">`:
\ 00000000 2D492D20456E DC8 "-I- Enable all periph clocks\012\015"
\ 61626C652061
\ 6C6C20706572
\ 69706820636C
\ 6F636B730A0D
\ 00
\ 0000001F 00 DC8 0
\ In section .rodata, align 4
\ `?<Constant "-I- Disable all perip...">`:
\ 00000000 2D492D204469 DC8 "-I- Disable all periph clocks\012\015"
\ 7361626C6520
\ 616C6C207065
\ 726970682063
\ 6C6F636B730A
\ 0D00
185
186
Maximum stack usage in bytes:
Function .cstack
-------- -------
PMC_CPUInIdleMode 8
PMC_DisableAllPeripherals 8
PMC_DisablePeripheral 8
PMC_DisableProcessorClock 0
PMC_EnableAllPeripherals 8
PMC_EnablePeripheral 8
PMC_IsAllPeriphEnabled 0
PMC_IsPeriphEnabled 0
Section sizes:
Function/Label Bytes
-------------- -----
PMC_DisableProcessorClock 40
PMC_EnablePeripheral 104
PMC_DisablePeripheral 104
PMC_EnableAllPeripherals 60
PMC_DisableAllPeripherals 56
PMC_IsAllPeriphEnabled 32
PMC_IsPeriphEnabled 24
PMC_CPUInIdleMode 12
??DataTable3 4
??DataTable4 4
??DataTable5 4
?<Constant "-F- ASSERT: "> 16
?<Constant "Sanity check failed a...">
32
?<Constant "D:\\basic-dataflash-pr...">
72
?<Constant "-I- PMC_EnablePeriphe...">
72
?<Constant "-I- PMC_DisablePeriph...">
68
?<Constant "-I- Enable all periph...">
32
?<Constant "-I- Disable all perip...">
32
324 bytes in section .rodata
444 bytes in section .text
444 bytes of CODE memory
324 bytes of CONST memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -