⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pmc.lst

📁 本代bootloader通过usb下载代码首先存放在sdram中
💻 LST
📖 第 1 页 / 共 2 页
字号:
   \   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 + -