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

📄 stm32f10x_rcc.s

📁 完成数据的采集
💻 S
📖 第 1 页 / 共 2 页
字号:
///////////////////////////////////////////////////////////////////////////////
//                                                                            /
//                                                      30/Jul/2008  14:37:36 /
// IAR ARM ANSI C/C++ Compiler V5.11.0.20622/W32 EVALUATION                   /
// Copyright 1999-2007 IAR Systems. All rights reserved.                      /
//                                                                            /
//    Cpu mode     =  thumb                                                   /
//    Endian       =  little                                                  /
//    Source file  =  E:\library\src\stm32f10x_rcc.c                          /
//    Command line =  E:\library\src\stm32f10x_rcc.c -D EMB_FLASH -lCN        /
//                    E:\ELE\yten\pro\Debug\List\ -lb                         /
//                    E:\ELE\yten\pro\Debug\List\ -o                          /
//                    E:\ELE\yten\pro\Debug\Obj\ --no_cse --no_unroll         /
//                    --no_inline --no_code_motion --no_tbaa --no_clustering  /
//                    --no_scheduling --debug --endian little --cpu           /
//                    Cortex-M3 -e --fpu None --dlib_config "C:\Program       /
//                    Files\IAR Systems\Embedded Workbench 5.0                /
//                    Evaluation\ARM\INC\DLib_Config_Normal.h" -I             /
//                    E:\ELE\yten\pro\ -I E:\ELE\yten\pro\..\LIBRARY\INC\ -I  /
//                    "C:\Program Files\IAR Systems\Embedded Workbench 5.0    /
//                    Evaluation\ARM\INC\" --section .text=.XML -On           /
//    List file    =  E:\ELE\yten\pro\Debug\List\stm32f10x_rcc.s              /
//                                                                            /
//                                                                            /
///////////////////////////////////////////////////////////////////////////////

        NAME stm32f10x_rcc

        PUBLIC RCC_ADCCLKConfig
        PUBLIC RCC_AHBPeriphClockCmd
        PUBLIC RCC_APB1PeriphClockCmd
        PUBLIC RCC_APB1PeriphResetCmd
        PUBLIC RCC_APB2PeriphClockCmd
        PUBLIC RCC_APB2PeriphResetCmd
        PUBLIC RCC_AdjustHSICalibrationValue
        PUBLIC RCC_BackupResetCmd
        PUBLIC RCC_ClearFlag
        PUBLIC RCC_ClearITPendingBit
        PUBLIC RCC_ClockSecuritySystemCmd
        PUBLIC RCC_DeInit
        PUBLIC RCC_GetClocksFreq
        PUBLIC RCC_GetFlagStatus
        PUBLIC RCC_GetITStatus
        PUBLIC RCC_GetSYSCLKSource
        PUBLIC RCC_HCLKConfig
        PUBLIC RCC_HSEConfig
        PUBLIC RCC_HSICmd
        PUBLIC RCC_ITConfig
        PUBLIC RCC_LSEConfig
        PUBLIC RCC_LSICmd
        PUBLIC RCC_MCOConfig
        PUBLIC RCC_PCLK1Config
        PUBLIC RCC_PCLK2Config
        PUBLIC RCC_PLLCmd
        PUBLIC RCC_PLLConfig
        PUBLIC RCC_RTCCLKCmd
        PUBLIC RCC_RTCCLKConfig
        PUBLIC RCC_SYSCLKConfig
        PUBLIC RCC_USBCLKConfig
        PUBLIC RCC_WaitForHSEStartUp


        SECTION `.rodata`:CONST:NOROOT(2)
APBAHBPrescTable:
        DATA
        DC8 0, 0, 0, 0, 1, 2, 3, 4, 1, 2, 3, 4, 6, 7, 8, 9

        SECTION `.rodata`:CONST:NOROOT(2)
ADCPrescTable:
        DATA
        DC8 2, 4, 6, 8

        SECTION `.bss`:DATA:NOROOT(0)
HSEStatus:
        DS8 1

        SECTION `.bss`:DATA:NOROOT(2)
StartUpCounter:
        DS8 4

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
RCC_DeInit:
        LDR.N    R0,??DataTable0  ;; 0x4002100c
        MOVS     R1,#+0
        STR      R1,[R0, #+0]
        LDR.N    R0,??DataTable1  ;; 0x40021010
        MOVS     R1,#+0
        STR      R1,[R0, #+0]
        LDR.N    R0,??DataTable2  ;; 0x40021014
        MOVS     R1,#+20
        STR      R1,[R0, #+0]
        LDR.N    R0,??DataTable3  ;; 0x40021018
        MOVS     R1,#+0
        STR      R1,[R0, #+0]
        LDR.N    R0,??DataTable4  ;; 0x4002101c
        MOVS     R1,#+0
        STR      R1,[R0, #+0]
        LDR.N    R0,??DataTable25  ;; 0x40021000
        LDR      R0,[R0, #+0]
        ORRS     R0,R0,#0x1
        LDR.N    R1,??DataTable25  ;; 0x40021000
        STR      R0,[R1, #+0]
        LDR.N    R0,??DataTable38  ;; 0x40021004
        LDR      R0,[R0, #+0]
        LDR.N    R1,??RCC_DeInit_0  ;; 0xf8ff0000
        ANDS     R1,R1,R0
        LDR.N    R0,??DataTable38  ;; 0x40021004
        STR      R1,[R0, #+0]
        LDR.N    R0,??DataTable25  ;; 0x40021000
        LDR      R0,[R0, #+0]
        LDR.N    R1,??RCC_DeInit_0+0x4  ;; 0xfef6ffff
        ANDS     R1,R1,R0
        LDR.N    R0,??DataTable25  ;; 0x40021000
        STR      R1,[R0, #+0]
        LDR.N    R0,??DataTable25  ;; 0x40021000
        LDR      R0,[R0, #+0]
        MVNS     R1,#+262144
        ANDS     R1,R1,R0
        LDR.N    R0,??DataTable25  ;; 0x40021000
        STR      R1,[R0, #+0]
        LDR.N    R0,??DataTable38  ;; 0x40021004
        LDR      R0,[R0, #+0]
        MVNS     R1,#+8323072
        ANDS     R1,R1,R0
        LDR.N    R0,??DataTable38  ;; 0x40021004
        STR      R1,[R0, #+0]
        LDR.N    R0,??DataTable15  ;; 0x40021008
        MOVS     R1,#+0
        STR      R1,[R0, #+0]
        BX       LR               ;; return
        Nop      
        DATA
??RCC_DeInit_0:
        DC32     0xf8ff0000
        DC32     0xfef6ffff

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable0:
        DC32     0x4002100c

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable1:
        DC32     0x40021010

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable2:
        DC32     0x40021014

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable3:
        DC32     0x40021018

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable4:
        DC32     0x4002101c

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable15:
        DC32     0x40021008

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
RCC_HSEConfig:
        PUSH     {R0,LR}
        LDR.N    R1,??DataTable25  ;; 0x40021000
        LDR      R1,[R1, #+0]
        MVNS     R2,#+65536
        ANDS     R2,R2,R1
        LDR.N    R1,??DataTable25  ;; 0x40021000
        STR      R2,[R1, #+0]
        LDR.N    R1,??DataTable25  ;; 0x40021000
        LDR      R1,[R1, #+0]
        MVNS     R2,#+262144
        ANDS     R2,R2,R1
        LDR.N    R1,??DataTable25  ;; 0x40021000
        STR      R2,[R1, #+0]
        MOVS     R1,R0
        MOVS     R2,#+65536
        SUBS     R1,R1,R2
        BEQ.N    ??RCC_HSEConfig_0
        MOVS     R2,#+196608
        SUBS     R1,R1,R2
        BEQ.N    ??RCC_HSEConfig_1
        B.N      ??RCC_HSEConfig_2
??RCC_HSEConfig_0:
        LDR.N    R1,??DataTable25  ;; 0x40021000
        LDR      R1,[R1, #+0]
        ORRS     R1,R1,#0x10000
        LDR.N    R2,??DataTable25  ;; 0x40021000
        STR      R1,[R2, #+0]
        B.N      ??RCC_HSEConfig_2
??RCC_HSEConfig_1:
        LDR.N    R1,??DataTable25  ;; 0x40021000
        LDR      R1,[R1, #+0]
        ORRS     R1,R1,#0x50000
        LDR.N    R2,??DataTable25  ;; 0x40021000
        STR      R1,[R2, #+0]
??RCC_HSEConfig_2:
        ADD      SP,SP,#+4
        POP      {PC}             ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
RCC_WaitForHSEStartUp:
        PUSH     {R0,LR}
??RCC_WaitForHSEStartUp_0:
        MOVS     R0,#+49
        BL       RCC_GetFlagStatus
        LDR.N    R1,??RCC_WaitForHSEStartUp_1  ;; HSEStatus
        STRB     R0,[R1, #+0]
        LDR.N    R0,??RCC_WaitForHSEStartUp_1+0x4  ;; StartUpCounter
        LDR      R0,[R0, #+0]
        ADDS     R0,R0,#+1
        LDR.N    R1,??RCC_WaitForHSEStartUp_1+0x4  ;; StartUpCounter
        STR      R0,[R1, #+0]
        LDR.N    R0,??RCC_WaitForHSEStartUp_1  ;; HSEStatus
        LDRB     R0,[R0, #+0]
        CMP      R0,#+0
        BNE.N    ??RCC_WaitForHSEStartUp_2
        LDR.N    R0,??RCC_WaitForHSEStartUp_1+0x4  ;; StartUpCounter
        LDR      R0,[R0, #+0]
        CMP      R0,#+255
        BNE.N    ??RCC_WaitForHSEStartUp_0
??RCC_WaitForHSEStartUp_2:
        MOVS     R0,#+49
        BL       RCC_GetFlagStatus
        SUBS     R0,R0,#+1
        SBCS     R0,R0,R0
        MVNS     R0,R0
        LSRS     R0,R0,#+31
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        ADD      SP,SP,#+4
        POP      {PC}             ;; return
        Nop      
        DATA
??RCC_WaitForHSEStartUp_1:
        DC32     HSEStatus
        DC32     StartUpCounter

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
RCC_AdjustHSICalibrationValue:
        MOVS     R2,#+0
        MOVS     R1,R2
        LDR.N    R2,??DataTable25  ;; 0x40021000
        LDR      R2,[R2, #+0]
        MOVS     R1,R2
        MOVS     R2,#+248
        BICS     R1,R1,R2
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        ORRS     R1,R1,R0, LSL #+3
        LDR.N    R2,??DataTable25  ;; 0x40021000
        STR      R1,[R2, #+0]
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable25:
        DC32     0x40021000

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
RCC_HSICmd:
        LDR.N    R1,??RCC_HSICmd_0  ;; 0x42420000
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        STR      R0,[R1, #+0]
        BX       LR               ;; return
        DATA
??RCC_HSICmd_0:
        DC32     0x42420000

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
RCC_PLLConfig:
        MOVS     R3,#+0
        MOVS     R2,R3
        LDR.N    R3,??DataTable38  ;; 0x40021004
        LDR      R3,[R3, #+0]
        MOVS     R2,R3
        MOVS     R3,R2
        MVNS     R2,#+4128768
        ANDS     R2,R2,R3
        MOVS     R3,R2
        MOVS     R2,R1
        ORRS     R2,R2,R0
        ORRS     R2,R2,R3
        LDR.N    R3,??DataTable38  ;; 0x40021004
        STR      R2,[R3, #+0]
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
RCC_PLLCmd:
        LDR.N    R1,??RCC_PLLCmd_0  ;; 0x42420060
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        STR      R0,[R1, #+0]
        BX       LR               ;; return
        DATA
??RCC_PLLCmd_0:
        DC32     0x42420060

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
RCC_SYSCLKConfig:
        MOVS     R2,#+0
        MOVS     R1,R2
        LDR.N    R2,??DataTable38  ;; 0x40021004
        LDR      R2,[R2, #+0]
        MOVS     R1,R2
        MOVS     R2,#+3
        BICS     R1,R1,R2
        ORRS     R1,R1,R0
        LDR.N    R2,??DataTable38  ;; 0x40021004
        STR      R1,[R2, #+0]
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
RCC_GetSYSCLKSource:
        LDR.N    R0,??DataTable38  ;; 0x40021004
        LDR      R0,[R0, #+0]
        ANDS     R0,R0,#0xC
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
RCC_HCLKConfig:
        MOVS     R2,#+0
        MOVS     R1,R2
        LDR.N    R2,??DataTable38  ;; 0x40021004
        LDR      R2,[R2, #+0]
        MOVS     R1,R2
        MOVS     R2,#+240
        BICS     R1,R1,R2
        ORRS     R1,R1,R0
        LDR.N    R2,??DataTable38  ;; 0x40021004
        STR      R1,[R2, #+0]
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
RCC_PCLK1Config:
        MOVS     R2,#+0
        MOVS     R1,R2
        LDR.N    R2,??DataTable38  ;; 0x40021004
        LDR      R2,[R2, #+0]
        MOVS     R1,R2
        MOVS     R2,R1
        MVNS     R1,#+1792
        ANDS     R1,R1,R2
        ORRS     R1,R1,R0
        LDR.N    R2,??DataTable38  ;; 0x40021004
        STR      R1,[R2, #+0]
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
RCC_PCLK2Config:
        MOVS     R2,#+0
        MOVS     R1,R2
        LDR.N    R2,??DataTable38  ;; 0x40021004
        LDR      R2,[R2, #+0]
        MOVS     R1,R2
        MOVS     R2,R1
        MVNS     R1,#+14336
        ANDS     R1,R1,R2
        ORRS     R1,R1,R0, LSL #+3
        LDR.N    R2,??DataTable38  ;; 0x40021004
        STR      R1,[R2, #+0]
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
RCC_ITConfig:
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        CMP      R1,#+0
        BEQ.N    ??RCC_ITConfig_0
        LDR.N    R2,??RCC_ITConfig_1  ;; 0x40021009
        LDRB     R2,[R2, #+0]
        ORRS     R2,R2,R0
        LDR.N    R3,??RCC_ITConfig_1  ;; 0x40021009
        STRB     R2,[R3, #+0]
        B.N      ??RCC_ITConfig_2
??RCC_ITConfig_0:
        LDR.N    R2,??RCC_ITConfig_1  ;; 0x40021009
        LDRB     R2,[R2, #+0]
        BICS     R2,R2,R0
        LDR.N    R3,??RCC_ITConfig_1  ;; 0x40021009
        STRB     R2,[R3, #+0]
??RCC_ITConfig_2:
        BX       LR               ;; return
        Nop      
        DATA
??RCC_ITConfig_1:
        DC32     0x40021009

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
RCC_USBCLKConfig:
        LDR.N    R1,??RCC_USBCLKConfig_0  ;; 0x424200d8
        STR      R0,[R1, #+0]
        BX       LR               ;; return
        Nop      
        DATA
??RCC_USBCLKConfig_0:
        DC32     0x424200d8

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
RCC_ADCCLKConfig:
        MOVS     R2,#+0
        MOVS     R1,R2
        LDR.N    R2,??DataTable38  ;; 0x40021004
        LDR      R2,[R2, #+0]
        MOVS     R1,R2
        MOVS     R2,R1
        MVNS     R1,#+49152
        ANDS     R1,R1,R2
        ORRS     R1,R1,R0
        LDR.N    R2,??DataTable38  ;; 0x40021004
        STR      R1,[R2, #+0]
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable38:
        DC32     0x40021004

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
RCC_LSEConfig:
        PUSH     {R0,LR}
        LDR.N    R1,??DataTable44  ;; 0x40021020
        MOVS     R2,#+0
        STRB     R2,[R1, #+0]
        LDR.N    R1,??DataTable44  ;; 0x40021020
        MOVS     R2,#+0
        STRB     R2,[R1, #+0]
        MOVS     R1,R0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -