📄 pmc.lst
字号:
\ 00000050 040000EA B ??PMC_EnablePeripheral_4
105 }
106 else
107 AT91C_BASE_PMC->PMC_PCER = 1 << id;
\ ??PMC_EnablePeripheral_2:
\ 00000054 0100A0E3 MOV R0,#+1
\ 00000058 1004B0E1 LSLS R0,R0,R4
\ 0000005C EF10E0E3 MVN R1,#+239
\ 00000060 C01FC1E3 BIC R1,R1,#0x300
\ 00000064 000081E5 STR R0,[R1, #+0]
108 }
\ ??PMC_EnablePeripheral_4:
\ 00000068 1080BDE8 POP {R4,PC} ;; return
\ ??PMC_EnablePeripheral_3:
\ 0000006C ........ DC32 `?<Constant "-I- PMC_EnablePeriphe...">`
109
110 //------------------------------------------------------------------------------
111 /// Disables the clock of a peripheral. The peripheral ID (AT91C_ID_xxx) is used
112 /// to identify which peripheral is targetted.
113 /// Note that the ID must NOT be shifted (i.e. 1 << AT91C_ID_xxx).
114 /// \param id Peripheral ID (AT91C_ID_xxx).
115 //------------------------------------------------------------------------------
\ In section .text, align 4, keep-with-next
116 void PMC_DisablePeripheral(unsigned int id)
117 {
\ PMC_DisablePeripheral:
\ 00000000 10402DE9 PUSH {R4,LR}
\ 00000004 0040B0E1 MOVS R4,R0
118 SANITY_CHECK(id < 32);
\ 00000008 200054E3 CMP R4,#+32
\ 0000000C 0400003A BCC ??PMC_DisablePeripheral_0
\ 00000010 7620A0E3 MOV R2,#+118
\ 00000014 ........ LDR R1,??DataTable2 ;; `?<Constant "E:\\\\IAR\\\\at91lib\\\\periph...">`
\ 00000018 ........ LDR R0,??DataTable3 ;; `?<Constant "Sanity check failed a...">`
\ 0000001C ........ BL printf
\ ??PMC_DisablePeripheral_1:
\ 00000020 FEFFFFEA B ??PMC_DisablePeripheral_1
119
120 if ((AT91C_BASE_PMC->PMC_PCSR & (1 << id)) != (1 << id)) {
\ ??PMC_DisablePeripheral_0:
\ 00000024 E700E0E3 MVN R0,#+231
\ 00000028 C00FC0E3 BIC R0,R0,#0x300
\ 0000002C 000090E5 LDR R0,[R0, #+0]
\ 00000030 0110A0E3 MOV R1,#+1
\ 00000034 110410E0 ANDS R0,R0,R1, LSL R4
\ 00000038 0110A0E3 MOV R1,#+1
\ 0000003C 110450E1 CMP R0,R1, LSL R4
\ 00000040 0300000A BEQ ??PMC_DisablePeripheral_2
121
122 trace_LOG(trace_INFO,
123 "-I- PMC_DisablePeripheral: clock of peripheral"
124 " %u is not enabled\n\r",
125 id);
\ 00000044 0410B0E1 MOVS R1,R4
\ 00000048 1C009FE5 LDR R0,??PMC_DisablePeripheral_3 ;; `?<Constant "-I- PMC_DisablePeriph...">`
\ 0000004C ........ BL printf
\ 00000050 040000EA B ??PMC_DisablePeripheral_4
126 }
127 else {
128
129 AT91C_BASE_PMC->PMC_PCDR = 1 << id;
\ ??PMC_DisablePeripheral_2:
\ 00000054 0100A0E3 MOV R0,#+1
\ 00000058 1004B0E1 LSLS R0,R0,R4
\ 0000005C EB10E0E3 MVN R1,#+235
\ 00000060 C01FC1E3 BIC R1,R1,#0x300
\ 00000064 000081E5 STR R0,[R1, #+0]
130 }
131 }
\ ??PMC_DisablePeripheral_4:
\ 00000068 1080BDE8 POP {R4,PC} ;; return
\ ??PMC_DisablePeripheral_3:
\ 0000006C ........ DC32 `?<Constant "-I- PMC_DisablePeriph...">`
\ In section .text, align 4, keep-with-next
\ ??DataTable2:
\ 00000000 ........ DC32 `?<Constant "E:\\\\IAR\\\\at91lib\\\\periph...">`
\ In section .text, align 4, keep-with-next
\ ??DataTable3:
\ 00000000 ........ DC32 `?<Constant "Sanity check failed a...">`
\ 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 "E:\\\\IAR\\\\at91lib\\\\periph...">`:
\ 00000000 453A5C494152 DC8 "E:\\IAR\\at91lib\\peripherals\\pmc\\pmc.c"
\ 5C617439316C
\ 69625C706572
\ 697068657261
\ 6C735C706D63
\ 5C706D632E63
\ 00
\ 00000025 000000 DC8 0, 0, 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
132
Maximum stack usage in bytes:
Function .cstack
-------- -------
PMC_DisablePeripheral 0
PMC_DisableProcessorClock 0
PMC_EnablePeripheral 0
Section sizes:
Function/Label Bytes
-------------- -----
PMC_DisableProcessorClock 40
PMC_EnablePeripheral 112
PMC_DisablePeripheral 112
??DataTable2 4
??DataTable3 4
?<Constant "Sanity check failed a..."> 32
?<Constant "E:\\IAR\\at91lib\\periph..."> 40
?<Constant "-I- PMC_EnablePeriphe..."> 72
?<Constant "-I- PMC_DisablePeriph..."> 68
212 bytes in section .rodata
272 bytes in section .text
272 bytes of CODE memory
212 bytes of CONST memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -