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

📄 stm32f10x_rcc.lst

📁 完成数据的采集
💻 LST
📖 第 1 页 / 共 5 页
字号:
    148            /* Reset HSEBYP bit */
    149            RCC->CR &= 0xFFFBFFFF;
   \   00000042   ....               LDR.N    R0,??DataTable25  ;; 0x40021000
   \   00000044   0068               LDR      R0,[R0, #+0]
   \   00000046   7FF48021           MVNS     R1,#+262144
   \   0000004A   0140               ANDS     R1,R1,R0
   \   0000004C   ....               LDR.N    R0,??DataTable25  ;; 0x40021000
   \   0000004E   0160               STR      R1,[R0, #+0]
    150          
    151            /* Reset PLLSRC, PLLXTPRE, PLLMUL[3:0] and USBPRE bits */
    152            RCC->CFGR &= 0xFF80FFFF;
   \   00000050   ....               LDR.N    R0,??DataTable38  ;; 0x40021004
   \   00000052   0068               LDR      R0,[R0, #+0]
   \   00000054   7FF4FE01           MVNS     R1,#+8323072
   \   00000058   0140               ANDS     R1,R1,R0
   \   0000005A   ....               LDR.N    R0,??DataTable38  ;; 0x40021004
   \   0000005C   0160               STR      R1,[R0, #+0]
    153          
    154            /* Disable all interrupts */
    155            RCC->CIR = 0x00000000;
   \   0000005E   ....               LDR.N    R0,??DataTable15  ;; 0x40021008
   \   00000060   0021               MOVS     R1,#+0
   \   00000062   0160               STR      R1,[R0, #+0]
    156          }
   \   00000064   7047               BX       LR               ;; return
   \   00000066   00BF               Nop      
   \                     ??RCC_DeInit_0:
   \   00000068   0000FFF8           DC32     0xf8ff0000
   \   0000006C   FFFFF6FE           DC32     0xfef6ffff
    157          
    158          /*******************************************************************************
    159          * Function Name  : RCC_HSEConfig
    160          * Description    : Configures the External High Speed oscillator (HSE).
    161          *                  HSE can not be stopped if it is used directly or through the
    162          *                  PLL as system clock.
    163          * Input          : - RCC_HSE: specifies the new state of the HSE.
    164          *                    This parameter can be one of the following values:
    165          *                       - RCC_HSE_OFF: HSE oscillator OFF
    166          *                       - RCC_HSE_ON: HSE oscillator ON
    167          *                       - RCC_HSE_Bypass: HSE oscillator bypassed with external
    168          *                         clock
    169          * Output         : None
    170          * Return         : None
    171          *******************************************************************************/

   \                                 In section .XML, align 4, keep-with-next
    172          void RCC_HSEConfig(u32 RCC_HSE)
    173          {
   \                     RCC_HSEConfig:
   \   00000000   01B5               PUSH     {R0,LR}
    174            /* Check the parameters */
    175            assert_param(IS_RCC_HSE(RCC_HSE));
    176          
    177            /* Reset HSEON and HSEBYP bits before configuring the HSE ------------------*/
    178            /* Reset HSEON bit */
    179            RCC->CR &= CR_HSEON_Reset;
   \   00000002   ....               LDR.N    R1,??DataTable25  ;; 0x40021000
   \   00000004   0968               LDR      R1,[R1, #+0]
   \   00000006   7FF48032           MVNS     R2,#+65536
   \   0000000A   0A40               ANDS     R2,R2,R1
   \   0000000C   ....               LDR.N    R1,??DataTable25  ;; 0x40021000
   \   0000000E   0A60               STR      R2,[R1, #+0]
    180          
    181            /* Reset HSEBYP bit */
    182            RCC->CR &= CR_HSEBYP_Reset;
   \   00000010   ....               LDR.N    R1,??DataTable25  ;; 0x40021000
   \   00000012   0968               LDR      R1,[R1, #+0]
   \   00000014   7FF48022           MVNS     R2,#+262144
   \   00000018   0A40               ANDS     R2,R2,R1
   \   0000001A   ....               LDR.N    R1,??DataTable25  ;; 0x40021000
   \   0000001C   0A60               STR      R2,[R1, #+0]
    183          
    184            /* Configure HSE (RCC_HSE_OFF is already covered by the code section above) */
    185            switch(RCC_HSE)
   \   0000001E   0100               MOVS     R1,R0
   \   00000020   5FF48032           MOVS     R2,#+65536
   \   00000024   891A               SUBS     R1,R1,R2
   \   00000026   04D0               BEQ.N    ??RCC_HSEConfig_0
   \   00000028   5FF44032           MOVS     R2,#+196608
   \   0000002C   891A               SUBS     R1,R1,R2
   \   0000002E   07D0               BEQ.N    ??RCC_HSEConfig_1
   \   00000030   0CE0               B.N      ??RCC_HSEConfig_2
    186            {
    187              case RCC_HSE_ON:
    188                /* Set HSEON bit */
    189                RCC->CR |= CR_HSEON_Set;
   \                     ??RCC_HSEConfig_0:
   \   00000032   ....               LDR.N    R1,??DataTable25  ;; 0x40021000
   \   00000034   0968               LDR      R1,[R1, #+0]
   \   00000036   51F48031           ORRS     R1,R1,#0x10000
   \   0000003A   ....               LDR.N    R2,??DataTable25  ;; 0x40021000
   \   0000003C   1160               STR      R1,[R2, #+0]
   \   0000003E   05E0               B.N      ??RCC_HSEConfig_2
    190                break;
    191          
    192              case RCC_HSE_Bypass:
    193                /* Set HSEBYP and HSEON bits */
    194                RCC->CR |= CR_HSEBYP_Set | CR_HSEON_Set;
   \                     ??RCC_HSEConfig_1:
   \   00000040   ....               LDR.N    R1,??DataTable25  ;; 0x40021000
   \   00000042   0968               LDR      R1,[R1, #+0]
   \   00000044   51F4A021           ORRS     R1,R1,#0x50000
   \   00000048   ....               LDR.N    R2,??DataTable25  ;; 0x40021000
   \   0000004A   1160               STR      R1,[R2, #+0]
    195                break;
    196          
    197              default:
    198                break;
    199            }
    200          }
   \                     ??RCC_HSEConfig_2:
   \   0000004C   01B0               ADD      SP,SP,#+4
   \   0000004E   00BD               POP      {PC}             ;; return
    201          
    202          /*******************************************************************************
    203          * Function Name  : RCC_WaitForHSEStartUp
    204          * Description    : Waits for HSE start-up.
    205          * Input          : None
    206          * Output         : None
    207          * Return         : An ErrorStatus enumuration value:
    208          *                         - SUCCESS: HSE oscillator is stable and ready to use
    209          *                         - ERROR: HSE oscillator not yet ready
    210          *******************************************************************************/

   \                                 In section .XML, align 4, keep-with-next
    211          ErrorStatus RCC_WaitForHSEStartUp(void)
    212          {
   \                     RCC_WaitForHSEStartUp:
   \   00000000   01B5               PUSH     {R0,LR}
    213            /* Wait till HSE is ready and if Time out is reached exit */
    214            do
    215            {
    216              HSEStatus = RCC_GetFlagStatus(RCC_FLAG_HSERDY);
   \                     ??RCC_WaitForHSEStartUp_0:
   \   00000002   3120               MOVS     R0,#+49
   \   00000004   ........           BL       RCC_GetFlagStatus
   \   00000008   0C49               LDR.N    R1,??RCC_WaitForHSEStartUp_1  ;; HSEStatus
   \   0000000A   0870               STRB     R0,[R1, #+0]
    217              StartUpCounter++;
   \   0000000C   0C48               LDR.N    R0,??RCC_WaitForHSEStartUp_1+0x4  ;; StartUpCounter
   \   0000000E   0068               LDR      R0,[R0, #+0]
   \   00000010   401C               ADDS     R0,R0,#+1
   \   00000012   0B49               LDR.N    R1,??RCC_WaitForHSEStartUp_1+0x4  ;; StartUpCounter
   \   00000014   0860               STR      R0,[R1, #+0]
    218            } while((HSEStatus == RESET) && (StartUpCounter != HSEStartUp_TimeOut));
   \   00000016   0948               LDR.N    R0,??RCC_WaitForHSEStartUp_1  ;; HSEStatus
   \   00000018   0078               LDRB     R0,[R0, #+0]
   \   0000001A   0028               CMP      R0,#+0
   \   0000001C   03D1               BNE.N    ??RCC_WaitForHSEStartUp_2
   \   0000001E   0848               LDR.N    R0,??RCC_WaitForHSEStartUp_1+0x4  ;; StartUpCounter
   \   00000020   0068               LDR      R0,[R0, #+0]
   \   00000022   FF28               CMP      R0,#+255
   \   00000024   EDD1               BNE.N    ??RCC_WaitForHSEStartUp_0
    219          
    220          
    221            if(RCC_GetFlagStatus(RCC_FLAG_HSERDY) != RESET)
   \                     ??RCC_WaitForHSEStartUp_2:
   \   00000026   3120               MOVS     R0,#+49
   \   00000028   ........           BL       RCC_GetFlagStatus
   \   0000002C   401E               SUBS     R0,R0,#+1
   \   0000002E   8041               SBCS     R0,R0,R0
   \   00000030   C043               MVNS     R0,R0
   \   00000032   C00F               LSRS     R0,R0,#+31
   \   00000034   C0B2               UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
    222            {
    223              return SUCCESS;
    224            }
    225            else
    226            {
    227              return ERROR;
   \   00000036   01B0               ADD      SP,SP,#+4
   \   00000038   00BD               POP      {PC}             ;; return
   \   0000003A   00BF               Nop      
   \                     ??RCC_WaitForHSEStartUp_1:
   \   0000003C   ........           DC32     HSEStatus
   \   00000040   ........           DC32     StartUpCounter
    228            }
    229          }
    230          
    231          /*******************************************************************************
    232          * Function Name  : RCC_AdjustHSICalibrationValue
    233          * Description    : Adjusts the Internal High Speed oscillator (HSI) calibration
    234          *                  value.
    235          * Input          : - HSICalibrationValue: specifies the calibration trimming value.
    236          *                    This parameter must be a number between 0 and 0x1F.
    237          * Output         : None
    238          * Return         : None
    239          *******************************************************************************/

   \                                 In section .XML, align 4, keep-with-next
    240          void RCC_AdjustHSICalibrationValue(u8 HSICalibrationValue)
    241          {
    242            u32 tmpreg = 0;
   \                     RCC_AdjustHSICalibrationValue:
   \   00000000   0022               MOVS     R2,#+0
   \   00000002   1100               MOVS     R1,R2
    243          
    244            /* Check the parameters */
    245            assert_param(IS_RCC_CALIBRATION_VALUE(HSICalibrationValue));
    246          
    247            tmpreg = RCC->CR;
   \   00000004   ....               LDR.N    R2,??DataTable25  ;; 0x40021000
   \   00000006   1268               LDR      R2,[R2, #+0]
   \   00000008   1100               MOVS     R1,R2
    248          
    249            /* Clear HSITRIM[7:3] bits */
    250            tmpreg &= CR_HSITRIM_Mask;
   \   0000000A   F822               MOVS     R2,#+248
   \   0000000C   9143               BICS     R1,R1,R2
    251          
    252            /* Set the HSITRIM[7:3] bits according to HSICalibrationValue value */
    253            tmpreg |= (u32)HSICalibrationValue << 3;
   \   0000000E   C0B2               UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
   \   00000010   51EAC001           ORRS     R1,R1,R0, LSL #+3
    254          
    255            /* Store the new value */
    256            RCC->CR = tmpreg;
   \   00000014   ....               LDR.N    R2,??DataTable25  ;; 0x40021000
   \   00000016   1160               STR      R1,[R2, #+0]
    257          }
   \   00000018   7047               BX       LR               ;; return
    258          
    259          /*******************************************************************************
    260          * Function Name  : RCC_HSICmd
    261          * Description    : Enables or disables the Internal High Speed oscillator (HSI).
    262          *                  HSI can not be stopped if it is used directly or through the
    263          *                  PLL as system clock.
    264          * Input          : - NewState: new state of the HSI.

⌨️ 快捷键说明

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