aboutsummaryrefslogtreecommitdiffstats
path: root/src/stm32lib/src/stm32f10x_rcc.lst
diff options
context:
space:
mode:
Diffstat (limited to 'src/stm32lib/src/stm32f10x_rcc.lst')
-rw-r--r--src/stm32lib/src/stm32f10x_rcc.lst2271
1 files changed, 2271 insertions, 0 deletions
diff --git a/src/stm32lib/src/stm32f10x_rcc.lst b/src/stm32lib/src/stm32f10x_rcc.lst
new file mode 100644
index 0000000..6bf9d44
--- /dev/null
+++ b/src/stm32lib/src/stm32f10x_rcc.lst
@@ -0,0 +1,2271 @@
+ 1 .syntax unified
+ 2 .cpu cortex-m3
+ 3 .fpu softvfp
+ 4 .eabi_attribute 20, 1
+ 5 .eabi_attribute 21, 1
+ 6 .eabi_attribute 23, 3
+ 7 .eabi_attribute 24, 1
+ 8 .eabi_attribute 25, 1
+ 9 .eabi_attribute 26, 1
+ 10 .eabi_attribute 30, 4
+ 11 .eabi_attribute 18, 4
+ 12 .thumb
+ 13 .file "stm32f10x_rcc.c"
+ 21 .Ltext0:
+ 22 .align 2
+ 23 .global RCC_DeInit
+ 24 .thumb
+ 25 .thumb_func
+ 27 RCC_DeInit:
+ 28 .LFB23:
+ 29 .file 1 "stm32lib/src/stm32f10x_rcc.c"
+ 1:stm32lib/src/stm32f10x_rcc.c **** /******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
+ 2:stm32lib/src/stm32f10x_rcc.c **** * File Name : stm32f10x_rcc.c
+ 3:stm32lib/src/stm32f10x_rcc.c **** * Author : MCD Application Team
+ 4:stm32lib/src/stm32f10x_rcc.c **** * Version : V2.0.2
+ 5:stm32lib/src/stm32f10x_rcc.c **** * Date : 07/11/2008
+ 6:stm32lib/src/stm32f10x_rcc.c **** * Description : This file provides all the RCC firmware functions.
+ 7:stm32lib/src/stm32f10x_rcc.c **** ********************************************************************************
+ 8:stm32lib/src/stm32f10x_rcc.c **** * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
+ 9:stm32lib/src/stm32f10x_rcc.c **** * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
+ 10:stm32lib/src/stm32f10x_rcc.c **** * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
+ 11:stm32lib/src/stm32f10x_rcc.c **** * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
+ 12:stm32lib/src/stm32f10x_rcc.c **** * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
+ 13:stm32lib/src/stm32f10x_rcc.c **** * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+ 14:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 15:stm32lib/src/stm32f10x_rcc.c ****
+ 16:stm32lib/src/stm32f10x_rcc.c **** /* Includes ------------------------------------------------------------------*/
+ 17:stm32lib/src/stm32f10x_rcc.c **** #include "stm32f10x_rcc.h"
+ 18:stm32lib/src/stm32f10x_rcc.c ****
+ 19:stm32lib/src/stm32f10x_rcc.c **** /* Private typedef -----------------------------------------------------------*/
+ 20:stm32lib/src/stm32f10x_rcc.c **** /* Private define ------------------------------------------------------------*/
+ 21:stm32lib/src/stm32f10x_rcc.c **** /* ------------ RCC registers bit address in the alias region ----------- */
+ 22:stm32lib/src/stm32f10x_rcc.c **** #define RCC_OFFSET (RCC_BASE - PERIPH_BASE)
+ 23:stm32lib/src/stm32f10x_rcc.c ****
+ 24:stm32lib/src/stm32f10x_rcc.c **** /* --- CR Register ---*/
+ 25:stm32lib/src/stm32f10x_rcc.c **** /* Alias word address of HSION bit */
+ 26:stm32lib/src/stm32f10x_rcc.c **** #define CR_OFFSET (RCC_OFFSET + 0x00)
+ 27:stm32lib/src/stm32f10x_rcc.c **** #define HSION_BitNumber 0x00
+ 28:stm32lib/src/stm32f10x_rcc.c **** #define CR_HSION_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (HSION_BitNumber * 4))
+ 29:stm32lib/src/stm32f10x_rcc.c ****
+ 30:stm32lib/src/stm32f10x_rcc.c **** /* Alias word address of PLLON bit */
+ 31:stm32lib/src/stm32f10x_rcc.c **** #define PLLON_BitNumber 0x18
+ 32:stm32lib/src/stm32f10x_rcc.c **** #define CR_PLLON_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (PLLON_BitNumber * 4))
+ 33:stm32lib/src/stm32f10x_rcc.c ****
+ 34:stm32lib/src/stm32f10x_rcc.c **** /* Alias word address of CSSON bit */
+ 35:stm32lib/src/stm32f10x_rcc.c **** #define CSSON_BitNumber 0x13
+ 36:stm32lib/src/stm32f10x_rcc.c **** #define CR_CSSON_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (CSSON_BitNumber * 4))
+ 37:stm32lib/src/stm32f10x_rcc.c ****
+ 38:stm32lib/src/stm32f10x_rcc.c **** /* --- CFGR Register ---*/
+ 39:stm32lib/src/stm32f10x_rcc.c **** /* Alias word address of USBPRE bit */
+ 40:stm32lib/src/stm32f10x_rcc.c **** #define CFGR_OFFSET (RCC_OFFSET + 0x04)
+ 41:stm32lib/src/stm32f10x_rcc.c **** #define USBPRE_BitNumber 0x16
+ 42:stm32lib/src/stm32f10x_rcc.c **** #define CFGR_USBPRE_BB (PERIPH_BB_BASE + (CFGR_OFFSET * 32) + (USBPRE_BitNumber * 4))
+ 43:stm32lib/src/stm32f10x_rcc.c ****
+ 44:stm32lib/src/stm32f10x_rcc.c **** /* --- BDCR Register ---*/
+ 45:stm32lib/src/stm32f10x_rcc.c **** /* Alias word address of RTCEN bit */
+ 46:stm32lib/src/stm32f10x_rcc.c **** #define BDCR_OFFSET (RCC_OFFSET + 0x20)
+ 47:stm32lib/src/stm32f10x_rcc.c **** #define RTCEN_BitNumber 0x0F
+ 48:stm32lib/src/stm32f10x_rcc.c **** #define BDCR_RTCEN_BB (PERIPH_BB_BASE + (BDCR_OFFSET * 32) + (RTCEN_BitNumber * 4))
+ 49:stm32lib/src/stm32f10x_rcc.c ****
+ 50:stm32lib/src/stm32f10x_rcc.c **** /* Alias word address of BDRST bit */
+ 51:stm32lib/src/stm32f10x_rcc.c **** #define BDRST_BitNumber 0x10
+ 52:stm32lib/src/stm32f10x_rcc.c **** #define BDCR_BDRST_BB (PERIPH_BB_BASE + (BDCR_OFFSET * 32) + (BDRST_BitNumber * 4))
+ 53:stm32lib/src/stm32f10x_rcc.c ****
+ 54:stm32lib/src/stm32f10x_rcc.c **** /* --- CSR Register ---*/
+ 55:stm32lib/src/stm32f10x_rcc.c **** /* Alias word address of LSION bit */
+ 56:stm32lib/src/stm32f10x_rcc.c **** #define CSR_OFFSET (RCC_OFFSET + 0x24)
+ 57:stm32lib/src/stm32f10x_rcc.c **** #define LSION_BitNumber 0x00
+ 58:stm32lib/src/stm32f10x_rcc.c **** #define CSR_LSION_BB (PERIPH_BB_BASE + (CSR_OFFSET * 32) + (LSION_BitNumber * 4))
+ 59:stm32lib/src/stm32f10x_rcc.c ****
+ 60:stm32lib/src/stm32f10x_rcc.c **** /* ---------------------- RCC registers bit mask ------------------------ */
+ 61:stm32lib/src/stm32f10x_rcc.c **** /* CR register bit mask */
+ 62:stm32lib/src/stm32f10x_rcc.c **** #define CR_HSEBYP_Reset ((u32)0xFFFBFFFF)
+ 63:stm32lib/src/stm32f10x_rcc.c **** #define CR_HSEBYP_Set ((u32)0x00040000)
+ 64:stm32lib/src/stm32f10x_rcc.c **** #define CR_HSEON_Reset ((u32)0xFFFEFFFF)
+ 65:stm32lib/src/stm32f10x_rcc.c **** #define CR_HSEON_Set ((u32)0x00010000)
+ 66:stm32lib/src/stm32f10x_rcc.c **** #define CR_HSITRIM_Mask ((u32)0xFFFFFF07)
+ 67:stm32lib/src/stm32f10x_rcc.c ****
+ 68:stm32lib/src/stm32f10x_rcc.c **** /* CFGR register bit mask */
+ 69:stm32lib/src/stm32f10x_rcc.c **** #define CFGR_PLL_Mask ((u32)0xFFC0FFFF)
+ 70:stm32lib/src/stm32f10x_rcc.c **** #define CFGR_PLLMull_Mask ((u32)0x003C0000)
+ 71:stm32lib/src/stm32f10x_rcc.c **** #define CFGR_PLLSRC_Mask ((u32)0x00010000)
+ 72:stm32lib/src/stm32f10x_rcc.c **** #define CFGR_PLLXTPRE_Mask ((u32)0x00020000)
+ 73:stm32lib/src/stm32f10x_rcc.c **** #define CFGR_SWS_Mask ((u32)0x0000000C)
+ 74:stm32lib/src/stm32f10x_rcc.c **** #define CFGR_SW_Mask ((u32)0xFFFFFFFC)
+ 75:stm32lib/src/stm32f10x_rcc.c **** #define CFGR_HPRE_Reset_Mask ((u32)0xFFFFFF0F)
+ 76:stm32lib/src/stm32f10x_rcc.c **** #define CFGR_HPRE_Set_Mask ((u32)0x000000F0)
+ 77:stm32lib/src/stm32f10x_rcc.c **** #define CFGR_PPRE1_Reset_Mask ((u32)0xFFFFF8FF)
+ 78:stm32lib/src/stm32f10x_rcc.c **** #define CFGR_PPRE1_Set_Mask ((u32)0x00000700)
+ 79:stm32lib/src/stm32f10x_rcc.c **** #define CFGR_PPRE2_Reset_Mask ((u32)0xFFFFC7FF)
+ 80:stm32lib/src/stm32f10x_rcc.c **** #define CFGR_PPRE2_Set_Mask ((u32)0x00003800)
+ 81:stm32lib/src/stm32f10x_rcc.c **** #define CFGR_ADCPRE_Reset_Mask ((u32)0xFFFF3FFF)
+ 82:stm32lib/src/stm32f10x_rcc.c **** #define CFGR_ADCPRE_Set_Mask ((u32)0x0000C000)
+ 83:stm32lib/src/stm32f10x_rcc.c ****
+ 84:stm32lib/src/stm32f10x_rcc.c **** /* CSR register bit mask */
+ 85:stm32lib/src/stm32f10x_rcc.c **** #define CSR_RMVF_Set ((u32)0x01000000)
+ 86:stm32lib/src/stm32f10x_rcc.c ****
+ 87:stm32lib/src/stm32f10x_rcc.c **** /* RCC Flag Mask */
+ 88:stm32lib/src/stm32f10x_rcc.c **** #define FLAG_Mask ((u8)0x1F)
+ 89:stm32lib/src/stm32f10x_rcc.c ****
+ 90:stm32lib/src/stm32f10x_rcc.c **** /* Typical Value of the HSI in Hz */
+ 91:stm32lib/src/stm32f10x_rcc.c **** #define HSI_Value ((u32)8000000)
+ 92:stm32lib/src/stm32f10x_rcc.c ****
+ 93:stm32lib/src/stm32f10x_rcc.c **** /* CIR register byte 2 (Bits[15:8]) base address */
+ 94:stm32lib/src/stm32f10x_rcc.c **** #define CIR_BYTE2_ADDRESS ((u32)0x40021009)
+ 95:stm32lib/src/stm32f10x_rcc.c **** /* CIR register byte 3 (Bits[23:16]) base address */
+ 96:stm32lib/src/stm32f10x_rcc.c **** #define CIR_BYTE3_ADDRESS ((u32)0x4002100A)
+ 97:stm32lib/src/stm32f10x_rcc.c ****
+ 98:stm32lib/src/stm32f10x_rcc.c **** /* CFGR register byte 4 (Bits[31:24]) base address */
+ 99:stm32lib/src/stm32f10x_rcc.c **** #define CFGR_BYTE4_ADDRESS ((u32)0x40021007)
+ 100:stm32lib/src/stm32f10x_rcc.c ****
+ 101:stm32lib/src/stm32f10x_rcc.c **** /* BDCR register base address */
+ 102:stm32lib/src/stm32f10x_rcc.c **** #define BDCR_ADDRESS (PERIPH_BASE + BDCR_OFFSET)
+ 103:stm32lib/src/stm32f10x_rcc.c ****
+ 104:stm32lib/src/stm32f10x_rcc.c **** /* Time out for HSE start up */
+ 105:stm32lib/src/stm32f10x_rcc.c **** #define HSEStartUp_TimeOut ((u16)0x01FF)
+ 106:stm32lib/src/stm32f10x_rcc.c ****
+ 107:stm32lib/src/stm32f10x_rcc.c **** /* Private macro -------------------------------------------------------------*/
+ 108:stm32lib/src/stm32f10x_rcc.c **** /* Private variables ---------------------------------------------------------*/
+ 109:stm32lib/src/stm32f10x_rcc.c **** static uc8 APBAHBPrescTable[16] = {0, 0, 0, 0, 1, 2, 3, 4, 1, 2, 3, 4, 6, 7, 8, 9};
+ 110:stm32lib/src/stm32f10x_rcc.c **** static uc8 ADCPrescTable[4] = {2, 4, 6, 8};
+ 111:stm32lib/src/stm32f10x_rcc.c ****
+ 112:stm32lib/src/stm32f10x_rcc.c **** static volatile FlagStatus HSEStatus;
+ 113:stm32lib/src/stm32f10x_rcc.c **** static vu32 StartUpCounter = 0;
+ 114:stm32lib/src/stm32f10x_rcc.c ****
+ 115:stm32lib/src/stm32f10x_rcc.c **** /* Private function prototypes -----------------------------------------------*/
+ 116:stm32lib/src/stm32f10x_rcc.c **** /* Private functions ---------------------------------------------------------*/
+ 117:stm32lib/src/stm32f10x_rcc.c ****
+ 118:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 119:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_DeInit
+ 120:stm32lib/src/stm32f10x_rcc.c **** * Description : Resets the RCC clock configuration to the default reset state.
+ 121:stm32lib/src/stm32f10x_rcc.c **** * Input : None
+ 122:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 123:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 124:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 125:stm32lib/src/stm32f10x_rcc.c **** void RCC_DeInit(void)
+ 126:stm32lib/src/stm32f10x_rcc.c **** {
+ 30 .loc 1 126 0
+ 31 @ args = 0, pretend = 0, frame = 0
+ 32 @ frame_needed = 0, uses_anonymous_args = 0
+ 33 @ link register save eliminated.
+ 127:stm32lib/src/stm32f10x_rcc.c **** /* Set HSION bit */
+ 128:stm32lib/src/stm32f10x_rcc.c **** RCC->CR |= (u32)0x00000001;
+ 34 .loc 1 128 0
+ 35 0000 0D4A ldr r2, .L3
+ 36 0002 1368 ldr r3, [r2, #0]
+ 37 0004 43F00103 orr r3, r3, #1
+ 38 0008 1360 str r3, [r2, #0]
+ 129:stm32lib/src/stm32f10x_rcc.c ****
+ 130:stm32lib/src/stm32f10x_rcc.c **** /* Reset SW[1:0], HPRE[3:0], PPRE1[2:0], PPRE2[2:0], ADCPRE[1:0] and MCO[2:0] bits */
+ 131:stm32lib/src/stm32f10x_rcc.c **** RCC->CFGR &= (u32)0xF8FF0000;
+ 39 .loc 1 131 0
+ 40 000a 5168 ldr r1, [r2, #4]
+ 41 000c 0B4B ldr r3, .L3+4
+ 42 000e 01EA0303 and r3, r1, r3
+ 43 0012 5360 str r3, [r2, #4]
+ 132:stm32lib/src/stm32f10x_rcc.c ****
+ 133:stm32lib/src/stm32f10x_rcc.c **** /* Reset HSEON, CSSON and PLLON bits */
+ 134:stm32lib/src/stm32f10x_rcc.c **** RCC->CR &= (u32)0xFEF6FFFF;
+ 44 .loc 1 134 0
+ 45 0014 1368 ldr r3, [r2, #0]
+ 46 0016 23F08473 bic r3, r3, #17301504
+ 47 001a 23F48033 bic r3, r3, #65536
+ 48 001e 1360 str r3, [r2, #0]
+ 135:stm32lib/src/stm32f10x_rcc.c ****
+ 136:stm32lib/src/stm32f10x_rcc.c **** /* Reset HSEBYP bit */
+ 137:stm32lib/src/stm32f10x_rcc.c **** RCC->CR &= (u32)0xFFFBFFFF;
+ 49 .loc 1 137 0
+ 50 0020 1368 ldr r3, [r2, #0]
+ 51 0022 23F48023 bic r3, r3, #262144
+ 52 0026 1360 str r3, [r2, #0]
+ 138:stm32lib/src/stm32f10x_rcc.c ****
+ 139:stm32lib/src/stm32f10x_rcc.c **** /* Reset PLLSRC, PLLXTPRE, PLLMUL[3:0] and USBPRE bits */
+ 140:stm32lib/src/stm32f10x_rcc.c **** RCC->CFGR &= (u32)0xFF80FFFF;
+ 53 .loc 1 140 0
+ 54 0028 5368 ldr r3, [r2, #4]
+ 55 002a 23F4FE03 bic r3, r3, #8323072
+ 56 002e 5360 str r3, [r2, #4]
+ 141:stm32lib/src/stm32f10x_rcc.c ****
+ 142:stm32lib/src/stm32f10x_rcc.c **** /* Disable all interrupts */
+ 143:stm32lib/src/stm32f10x_rcc.c **** RCC->CIR = 0x00000000;
+ 57 .loc 1 143 0
+ 58 0030 0023 movs r3, #0
+ 59 0032 9360 str r3, [r2, #8]
+ 144:stm32lib/src/stm32f10x_rcc.c **** }
+ 60 .loc 1 144 0
+ 61 0034 7047 bx lr
+ 62 .L4:
+ 63 0036 00BF .align 2
+ 64 .L3:
+ 65 0038 00100240 .word 1073876992
+ 66 003c 0000FFF8 .word -117506048
+ 67 .LFE23:
+ 69 .align 2
+ 70 .global RCC_HSEConfig
+ 71 .thumb
+ 72 .thumb_func
+ 74 RCC_HSEConfig:
+ 75 .LFB24:
+ 145:stm32lib/src/stm32f10x_rcc.c ****
+ 146:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 147:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_HSEConfig
+ 148:stm32lib/src/stm32f10x_rcc.c **** * Description : Configures the External High Speed oscillator (HSE).
+ 149:stm32lib/src/stm32f10x_rcc.c **** * HSE can not be stopped if it is used directly or through the
+ 150:stm32lib/src/stm32f10x_rcc.c **** * PLL as system clock.
+ 151:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_HSE: specifies the new state of the HSE.
+ 152:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be one of the following values:
+ 153:stm32lib/src/stm32f10x_rcc.c **** * - RCC_HSE_OFF: HSE oscillator OFF
+ 154:stm32lib/src/stm32f10x_rcc.c **** * - RCC_HSE_ON: HSE oscillator ON
+ 155:stm32lib/src/stm32f10x_rcc.c **** * - RCC_HSE_Bypass: HSE oscillator bypassed with external
+ 156:stm32lib/src/stm32f10x_rcc.c **** * clock
+ 157:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 158:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 159:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 160:stm32lib/src/stm32f10x_rcc.c **** void RCC_HSEConfig(u32 RCC_HSE)
+ 161:stm32lib/src/stm32f10x_rcc.c **** {
+ 76 .loc 1 161 0
+ 77 @ args = 0, pretend = 0, frame = 0
+ 78 @ frame_needed = 0, uses_anonymous_args = 0
+ 79 @ link register save eliminated.
+ 80 .LVL0:
+ 162:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 163:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_HSE(RCC_HSE));
+ 164:stm32lib/src/stm32f10x_rcc.c ****
+ 165:stm32lib/src/stm32f10x_rcc.c **** /* Reset HSEON and HSEBYP bits before configuring the HSE ------------------*/
+ 166:stm32lib/src/stm32f10x_rcc.c **** /* Reset HSEON bit */
+ 167:stm32lib/src/stm32f10x_rcc.c **** RCC->CR &= CR_HSEON_Reset;
+ 81 .loc 1 167 0
+ 82 0040 0C4A ldr r2, .L12
+ 168:stm32lib/src/stm32f10x_rcc.c ****
+ 169:stm32lib/src/stm32f10x_rcc.c **** /* Reset HSEBYP bit */
+ 170:stm32lib/src/stm32f10x_rcc.c **** RCC->CR &= CR_HSEBYP_Reset;
+ 171:stm32lib/src/stm32f10x_rcc.c ****
+ 172:stm32lib/src/stm32f10x_rcc.c **** /* Configure HSE (RCC_HSE_OFF is already covered by the code section above) */
+ 173:stm32lib/src/stm32f10x_rcc.c **** switch(RCC_HSE)
+ 83 .loc 1 173 0
+ 84 0042 B0F5803F cmp r0, #65536
+ 85 .loc 1 167 0
+ 86 0046 1368 ldr r3, [r2, #0]
+ 87 0048 23F48033 bic r3, r3, #65536
+ 88 004c 1360 str r3, [r2, #0]
+ 89 .loc 1 170 0
+ 90 004e 1368 ldr r3, [r2, #0]
+ 91 0050 23F48023 bic r3, r3, #262144
+ 92 0054 1360 str r3, [r2, #0]
+ 93 .loc 1 173 0
+ 94 0056 03D0 beq .L7
+ 95 0058 B0F5802F cmp r0, #262144
+ 96 005c 08D1 bne .L9
+ 97 005e 03E0 b .L11
+ 98 .L7:
+ 174:stm32lib/src/stm32f10x_rcc.c **** {
+ 175:stm32lib/src/stm32f10x_rcc.c **** case RCC_HSE_ON:
+ 176:stm32lib/src/stm32f10x_rcc.c **** /* Set HSEON bit */
+ 177:stm32lib/src/stm32f10x_rcc.c **** RCC->CR |= CR_HSEON_Set;
+ 99 .loc 1 177 0
+ 100 0060 1368 ldr r3, [r2, #0]
+ 101 0062 43F48033 orr r3, r3, #65536
+ 102 0066 02E0 b .L10
+ 103 .L11:
+ 178:stm32lib/src/stm32f10x_rcc.c **** break;
+ 179:stm32lib/src/stm32f10x_rcc.c ****
+ 180:stm32lib/src/stm32f10x_rcc.c **** case RCC_HSE_Bypass:
+ 181:stm32lib/src/stm32f10x_rcc.c **** /* Set HSEBYP and HSEON bits */
+ 182:stm32lib/src/stm32f10x_rcc.c **** RCC->CR |= CR_HSEBYP_Set | CR_HSEON_Set;
+ 104 .loc 1 182 0
+ 105 0068 1368 ldr r3, [r2, #0]
+ 106 006a 43F4A023 orr r3, r3, #327680
+ 107 .L10:
+ 108 006e 1360 str r3, [r2, #0]
+ 109 .L9:
+ 183:stm32lib/src/stm32f10x_rcc.c **** break;
+ 184:stm32lib/src/stm32f10x_rcc.c ****
+ 185:stm32lib/src/stm32f10x_rcc.c **** default:
+ 186:stm32lib/src/stm32f10x_rcc.c **** break;
+ 187:stm32lib/src/stm32f10x_rcc.c **** }
+ 188:stm32lib/src/stm32f10x_rcc.c **** }
+ 110 .loc 1 188 0
+ 111 0070 7047 bx lr
+ 112 .L13:
+ 113 0072 00BF .align 2
+ 114 .L12:
+ 115 0074 00100240 .word 1073876992
+ 116 .LFE24:
+ 118 .align 2
+ 119 .global RCC_AdjustHSICalibrationValue
+ 120 .thumb
+ 121 .thumb_func
+ 123 RCC_AdjustHSICalibrationValue:
+ 124 .LFB26:
+ 189:stm32lib/src/stm32f10x_rcc.c ****
+ 190:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 191:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_WaitForHSEStartUp
+ 192:stm32lib/src/stm32f10x_rcc.c **** * Description : Waits for HSE start-up.
+ 193:stm32lib/src/stm32f10x_rcc.c **** * Input : None
+ 194:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 195:stm32lib/src/stm32f10x_rcc.c **** * Return : An ErrorStatus enumuration value:
+ 196:stm32lib/src/stm32f10x_rcc.c **** * - SUCCESS: HSE oscillator is stable and ready to use
+ 197:stm32lib/src/stm32f10x_rcc.c **** * - ERROR: HSE oscillator not yet ready
+ 198:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 199:stm32lib/src/stm32f10x_rcc.c **** ErrorStatus RCC_WaitForHSEStartUp(void)
+ 200:stm32lib/src/stm32f10x_rcc.c **** {
+ 201:stm32lib/src/stm32f10x_rcc.c **** ErrorStatus status = ERROR;
+ 202:stm32lib/src/stm32f10x_rcc.c ****
+ 203:stm32lib/src/stm32f10x_rcc.c **** /* Wait till HSE is ready and if Time out is reached exit */
+ 204:stm32lib/src/stm32f10x_rcc.c **** do
+ 205:stm32lib/src/stm32f10x_rcc.c **** {
+ 206:stm32lib/src/stm32f10x_rcc.c **** HSEStatus = RCC_GetFlagStatus(RCC_FLAG_HSERDY);
+ 207:stm32lib/src/stm32f10x_rcc.c **** StartUpCounter++;
+ 208:stm32lib/src/stm32f10x_rcc.c **** } while((HSEStatus == RESET) && (StartUpCounter != HSEStartUp_TimeOut));
+ 209:stm32lib/src/stm32f10x_rcc.c ****
+ 210:stm32lib/src/stm32f10x_rcc.c ****
+ 211:stm32lib/src/stm32f10x_rcc.c **** if (RCC_GetFlagStatus(RCC_FLAG_HSERDY) != RESET)
+ 212:stm32lib/src/stm32f10x_rcc.c **** {
+ 213:stm32lib/src/stm32f10x_rcc.c **** status = SUCCESS;
+ 214:stm32lib/src/stm32f10x_rcc.c **** }
+ 215:stm32lib/src/stm32f10x_rcc.c **** else
+ 216:stm32lib/src/stm32f10x_rcc.c **** {
+ 217:stm32lib/src/stm32f10x_rcc.c **** status = ERROR;
+ 218:stm32lib/src/stm32f10x_rcc.c **** }
+ 219:stm32lib/src/stm32f10x_rcc.c ****
+ 220:stm32lib/src/stm32f10x_rcc.c **** return (status);
+ 221:stm32lib/src/stm32f10x_rcc.c **** }
+ 222:stm32lib/src/stm32f10x_rcc.c ****
+ 223:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 224:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_AdjustHSICalibrationValue
+ 225:stm32lib/src/stm32f10x_rcc.c **** * Description : Adjusts the Internal High Speed oscillator (HSI) calibration
+ 226:stm32lib/src/stm32f10x_rcc.c **** * value.
+ 227:stm32lib/src/stm32f10x_rcc.c **** * Input : - HSICalibrationValue: specifies the calibration trimming value.
+ 228:stm32lib/src/stm32f10x_rcc.c **** * This parameter must be a number between 0 and 0x1F.
+ 229:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 230:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 231:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 232:stm32lib/src/stm32f10x_rcc.c **** void RCC_AdjustHSICalibrationValue(u8 HSICalibrationValue)
+ 233:stm32lib/src/stm32f10x_rcc.c **** {
+ 125 .loc 1 233 0
+ 126 @ args = 0, pretend = 0, frame = 0
+ 127 @ frame_needed = 0, uses_anonymous_args = 0
+ 128 @ link register save eliminated.
+ 129 .LVL1:
+ 234:stm32lib/src/stm32f10x_rcc.c **** u32 tmpreg = 0;
+ 235:stm32lib/src/stm32f10x_rcc.c ****
+ 236:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 237:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_CALIBRATION_VALUE(HSICalibrationValue));
+ 238:stm32lib/src/stm32f10x_rcc.c ****
+ 239:stm32lib/src/stm32f10x_rcc.c **** tmpreg = RCC->CR;
+ 130 .loc 1 239 0
+ 131 0078 034A ldr r2, .L16
+ 132 007a 1368 ldr r3, [r2, #0]
+ 133 .LVL2:
+ 240:stm32lib/src/stm32f10x_rcc.c ****
+ 241:stm32lib/src/stm32f10x_rcc.c **** /* Clear HSITRIM[4:0] bits */
+ 242:stm32lib/src/stm32f10x_rcc.c **** tmpreg &= CR_HSITRIM_Mask;
+ 134 .loc 1 242 0
+ 135 007c 23F0F803 bic r3, r3, #248
+ 136 .LVL3:
+ 243:stm32lib/src/stm32f10x_rcc.c ****
+ 244:stm32lib/src/stm32f10x_rcc.c **** /* Set the HSITRIM[4:0] bits according to HSICalibrationValue value */
+ 245:stm32lib/src/stm32f10x_rcc.c **** tmpreg |= (u32)HSICalibrationValue << 3;
+ 137 .loc 1 245 0
+ 138 0080 43EAC003 orr r3, r3, r0, lsl #3
+ 139 .LVL4:
+ 246:stm32lib/src/stm32f10x_rcc.c ****
+ 247:stm32lib/src/stm32f10x_rcc.c **** /* Store the new value */
+ 248:stm32lib/src/stm32f10x_rcc.c **** RCC->CR = tmpreg;
+ 140 .loc 1 248 0
+ 141 0084 1360 str r3, [r2, #0]
+ 249:stm32lib/src/stm32f10x_rcc.c **** }
+ 142 .loc 1 249 0
+ 143 0086 7047 bx lr
+ 144 .L17:
+ 145 .align 2
+ 146 .L16:
+ 147 0088 00100240 .word 1073876992
+ 148 .LFE26:
+ 150 .align 2
+ 151 .global RCC_HSICmd
+ 152 .thumb
+ 153 .thumb_func
+ 155 RCC_HSICmd:
+ 156 .LFB27:
+ 250:stm32lib/src/stm32f10x_rcc.c ****
+ 251:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 252:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_HSICmd
+ 253:stm32lib/src/stm32f10x_rcc.c **** * Description : Enables or disables the Internal High Speed oscillator (HSI).
+ 254:stm32lib/src/stm32f10x_rcc.c **** * HSI can not be stopped if it is used directly or through the
+ 255:stm32lib/src/stm32f10x_rcc.c **** * PLL as system clock.
+ 256:stm32lib/src/stm32f10x_rcc.c **** * Input : - NewState: new state of the HSI.
+ 257:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be: ENABLE or DISABLE.
+ 258:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 259:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 260:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 261:stm32lib/src/stm32f10x_rcc.c **** void RCC_HSICmd(FunctionalState NewState)
+ 262:stm32lib/src/stm32f10x_rcc.c **** {
+ 157 .loc 1 262 0
+ 158 @ args = 0, pretend = 0, frame = 0
+ 159 @ frame_needed = 0, uses_anonymous_args = 0
+ 160 @ link register save eliminated.
+ 161 .LVL5:
+ 263:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 264:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
+ 265:stm32lib/src/stm32f10x_rcc.c ****
+ 266:stm32lib/src/stm32f10x_rcc.c **** *(vu32 *) CR_HSION_BB = (u32)NewState;
+ 162 .loc 1 266 0
+ 163 008c 014B ldr r3, .L20
+ 164 008e 1860 str r0, [r3, #0]
+ 267:stm32lib/src/stm32f10x_rcc.c **** }
+ 165 .loc 1 267 0
+ 166 0090 7047 bx lr
+ 167 .L21:
+ 168 0092 00BF .align 2
+ 169 .L20:
+ 170 0094 00004242 .word 1111621632
+ 171 .LFE27:
+ 173 .align 2
+ 174 .global RCC_PLLConfig
+ 175 .thumb
+ 176 .thumb_func
+ 178 RCC_PLLConfig:
+ 179 .LFB28:
+ 268:stm32lib/src/stm32f10x_rcc.c ****
+ 269:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 270:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_PLLConfig
+ 271:stm32lib/src/stm32f10x_rcc.c **** * Description : Configures the PLL clock source and multiplication factor.
+ 272:stm32lib/src/stm32f10x_rcc.c **** * This function must be used only when the PLL is disabled.
+ 273:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_PLLSource: specifies the PLL entry clock source.
+ 274:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be one of the following values:
+ 275:stm32lib/src/stm32f10x_rcc.c **** * - RCC_PLLSource_HSI_Div2: HSI oscillator clock divided
+ 276:stm32lib/src/stm32f10x_rcc.c **** * by 2 selected as PLL clock entry
+ 277:stm32lib/src/stm32f10x_rcc.c **** * - RCC_PLLSource_HSE_Div1: HSE oscillator clock selected
+ 278:stm32lib/src/stm32f10x_rcc.c **** * as PLL clock entry
+ 279:stm32lib/src/stm32f10x_rcc.c **** * - RCC_PLLSource_HSE_Div2: HSE oscillator clock divided
+ 280:stm32lib/src/stm32f10x_rcc.c **** * by 2 selected as PLL clock entry
+ 281:stm32lib/src/stm32f10x_rcc.c **** * - RCC_PLLMul: specifies the PLL multiplication factor.
+ 282:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be RCC_PLLMul_x where x:[2,16]
+ 283:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 284:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 285:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 286:stm32lib/src/stm32f10x_rcc.c **** void RCC_PLLConfig(u32 RCC_PLLSource, u32 RCC_PLLMul)
+ 287:stm32lib/src/stm32f10x_rcc.c **** {
+ 180 .loc 1 287 0
+ 181 @ args = 0, pretend = 0, frame = 0
+ 182 @ frame_needed = 0, uses_anonymous_args = 0
+ 183 @ link register save eliminated.
+ 184 .LVL6:
+ 288:stm32lib/src/stm32f10x_rcc.c **** u32 tmpreg = 0;
+ 289:stm32lib/src/stm32f10x_rcc.c ****
+ 290:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 291:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_PLL_SOURCE(RCC_PLLSource));
+ 292:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_PLL_MUL(RCC_PLLMul));
+ 293:stm32lib/src/stm32f10x_rcc.c ****
+ 294:stm32lib/src/stm32f10x_rcc.c **** tmpreg = RCC->CFGR;
+ 185 .loc 1 294 0
+ 186 0098 034B ldr r3, .L24
+ 187 009a 5A68 ldr r2, [r3, #4]
+ 188 .LVL7:
+ 295:stm32lib/src/stm32f10x_rcc.c ****
+ 296:stm32lib/src/stm32f10x_rcc.c **** /* Clear PLLSRC, PLLXTPRE and PLLMUL[3:0] bits */
+ 297:stm32lib/src/stm32f10x_rcc.c **** tmpreg &= CFGR_PLL_Mask;
+ 298:stm32lib/src/stm32f10x_rcc.c ****
+ 299:stm32lib/src/stm32f10x_rcc.c **** /* Set the PLL configuration bits */
+ 300:stm32lib/src/stm32f10x_rcc.c **** tmpreg |= RCC_PLLSource | RCC_PLLMul;
+ 189 .loc 1 300 0
+ 190 009c 22F47C12 bic r2, r2, #4128768
+ 191 .LVL8:
+ 192 00a0 1043 orrs r0, r0, r2
+ 193 .LVL9:
+ 194 00a2 0843 orrs r0, r0, r1
+ 195 .LVL10:
+ 301:stm32lib/src/stm32f10x_rcc.c ****
+ 302:stm32lib/src/stm32f10x_rcc.c **** /* Store the new value */
+ 303:stm32lib/src/stm32f10x_rcc.c **** RCC->CFGR = tmpreg;
+ 196 .loc 1 303 0
+ 197 00a4 5860 str r0, [r3, #4]
+ 304:stm32lib/src/stm32f10x_rcc.c **** }
+ 198 .loc 1 304 0
+ 199 00a6 7047 bx lr
+ 200 .L25:
+ 201 .align 2
+ 202 .L24:
+ 203 00a8 00100240 .word 1073876992
+ 204 .LFE28:
+ 206 .align 2
+ 207 .global RCC_PLLCmd
+ 208 .thumb
+ 209 .thumb_func
+ 211 RCC_PLLCmd:
+ 212 .LFB29:
+ 305:stm32lib/src/stm32f10x_rcc.c ****
+ 306:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 307:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_PLLCmd
+ 308:stm32lib/src/stm32f10x_rcc.c **** * Description : Enables or disables the PLL.
+ 309:stm32lib/src/stm32f10x_rcc.c **** * The PLL can not be disabled if it is used as system clock.
+ 310:stm32lib/src/stm32f10x_rcc.c **** * Input : - NewState: new state of the PLL.
+ 311:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be: ENABLE or DISABLE.
+ 312:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 313:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 314:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 315:stm32lib/src/stm32f10x_rcc.c **** void RCC_PLLCmd(FunctionalState NewState)
+ 316:stm32lib/src/stm32f10x_rcc.c **** {
+ 213 .loc 1 316 0
+ 214 @ args = 0, pretend = 0, frame = 0
+ 215 @ frame_needed = 0, uses_anonymous_args = 0
+ 216 @ link register save eliminated.
+ 217 .LVL11:
+ 317:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 318:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
+ 319:stm32lib/src/stm32f10x_rcc.c ****
+ 320:stm32lib/src/stm32f10x_rcc.c **** *(vu32 *) CR_PLLON_BB = (u32)NewState;
+ 218 .loc 1 320 0
+ 219 00ac 014B ldr r3, .L28
+ 220 00ae 1860 str r0, [r3, #0]
+ 321:stm32lib/src/stm32f10x_rcc.c **** }
+ 221 .loc 1 321 0
+ 222 00b0 7047 bx lr
+ 223 .L29:
+ 224 00b2 00BF .align 2
+ 225 .L28:
+ 226 00b4 60004242 .word 1111621728
+ 227 .LFE29:
+ 229 .align 2
+ 230 .global RCC_SYSCLKConfig
+ 231 .thumb
+ 232 .thumb_func
+ 234 RCC_SYSCLKConfig:
+ 235 .LFB30:
+ 322:stm32lib/src/stm32f10x_rcc.c ****
+ 323:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 324:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_SYSCLKConfig
+ 325:stm32lib/src/stm32f10x_rcc.c **** * Description : Configures the system clock (SYSCLK).
+ 326:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_SYSCLKSource: specifies the clock source used as system
+ 327:stm32lib/src/stm32f10x_rcc.c **** * clock. This parameter can be one of the following values:
+ 328:stm32lib/src/stm32f10x_rcc.c **** * - RCC_SYSCLKSource_HSI: HSI selected as system clock
+ 329:stm32lib/src/stm32f10x_rcc.c **** * - RCC_SYSCLKSource_HSE: HSE selected as system clock
+ 330:stm32lib/src/stm32f10x_rcc.c **** * - RCC_SYSCLKSource_PLLCLK: PLL selected as system clock
+ 331:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 332:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 333:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 334:stm32lib/src/stm32f10x_rcc.c **** void RCC_SYSCLKConfig(u32 RCC_SYSCLKSource)
+ 335:stm32lib/src/stm32f10x_rcc.c **** {
+ 236 .loc 1 335 0
+ 237 @ args = 0, pretend = 0, frame = 0
+ 238 @ frame_needed = 0, uses_anonymous_args = 0
+ 239 @ link register save eliminated.
+ 240 .LVL12:
+ 336:stm32lib/src/stm32f10x_rcc.c **** u32 tmpreg = 0;
+ 337:stm32lib/src/stm32f10x_rcc.c ****
+ 338:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 339:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_SYSCLK_SOURCE(RCC_SYSCLKSource));
+ 340:stm32lib/src/stm32f10x_rcc.c ****
+ 341:stm32lib/src/stm32f10x_rcc.c **** tmpreg = RCC->CFGR;
+ 241 .loc 1 341 0
+ 242 00b8 034B ldr r3, .L32
+ 243 00ba 5A68 ldr r2, [r3, #4]
+ 244 .LVL13:
+ 342:stm32lib/src/stm32f10x_rcc.c ****
+ 343:stm32lib/src/stm32f10x_rcc.c **** /* Clear SW[1:0] bits */
+ 344:stm32lib/src/stm32f10x_rcc.c **** tmpreg &= CFGR_SW_Mask;
+ 245 .loc 1 344 0
+ 246 00bc 22F00302 bic r2, r2, #3
+ 247 .LVL14:
+ 345:stm32lib/src/stm32f10x_rcc.c ****
+ 346:stm32lib/src/stm32f10x_rcc.c **** /* Set SW[1:0] bits according to RCC_SYSCLKSource value */
+ 347:stm32lib/src/stm32f10x_rcc.c **** tmpreg |= RCC_SYSCLKSource;
+ 248 .loc 1 347 0
+ 249 00c0 1043 orrs r0, r0, r2
+ 250 .LVL15:
+ 348:stm32lib/src/stm32f10x_rcc.c ****
+ 349:stm32lib/src/stm32f10x_rcc.c **** /* Store the new value */
+ 350:stm32lib/src/stm32f10x_rcc.c **** RCC->CFGR = tmpreg;
+ 251 .loc 1 350 0
+ 252 00c2 5860 str r0, [r3, #4]
+ 351:stm32lib/src/stm32f10x_rcc.c **** }
+ 253 .loc 1 351 0
+ 254 00c4 7047 bx lr
+ 255 .L33:
+ 256 00c6 00BF .align 2
+ 257 .L32:
+ 258 00c8 00100240 .word 1073876992
+ 259 .LFE30:
+ 261 .align 2
+ 262 .global RCC_GetSYSCLKSource
+ 263 .thumb
+ 264 .thumb_func
+ 266 RCC_GetSYSCLKSource:
+ 267 .LFB31:
+ 352:stm32lib/src/stm32f10x_rcc.c ****
+ 353:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 354:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_GetSYSCLKSource
+ 355:stm32lib/src/stm32f10x_rcc.c **** * Description : Returns the clock source used as system clock.
+ 356:stm32lib/src/stm32f10x_rcc.c **** * Input : None
+ 357:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 358:stm32lib/src/stm32f10x_rcc.c **** * Return : The clock source used as system clock. The returned value can
+ 359:stm32lib/src/stm32f10x_rcc.c **** * be one of the following:
+ 360:stm32lib/src/stm32f10x_rcc.c **** * - 0x00: HSI used as system clock
+ 361:stm32lib/src/stm32f10x_rcc.c **** * - 0x04: HSE used as system clock
+ 362:stm32lib/src/stm32f10x_rcc.c **** * - 0x08: PLL used as system clock
+ 363:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 364:stm32lib/src/stm32f10x_rcc.c **** u8 RCC_GetSYSCLKSource(void)
+ 365:stm32lib/src/stm32f10x_rcc.c **** {
+ 268 .loc 1 365 0
+ 269 @ args = 0, pretend = 0, frame = 0
+ 270 @ frame_needed = 0, uses_anonymous_args = 0
+ 271 @ link register save eliminated.
+ 366:stm32lib/src/stm32f10x_rcc.c **** return ((u8)(RCC->CFGR & CFGR_SWS_Mask));
+ 272 .loc 1 366 0
+ 273 00cc 024B ldr r3, .L36
+ 274 00ce 5868 ldr r0, [r3, #4]
+ 367:stm32lib/src/stm32f10x_rcc.c **** }
+ 275 .loc 1 367 0
+ 276 00d0 00F00C00 and r0, r0, #12
+ 277 00d4 7047 bx lr
+ 278 .L37:
+ 279 00d6 00BF .align 2
+ 280 .L36:
+ 281 00d8 00100240 .word 1073876992
+ 282 .LFE31:
+ 284 .align 2
+ 285 .global RCC_HCLKConfig
+ 286 .thumb
+ 287 .thumb_func
+ 289 RCC_HCLKConfig:
+ 290 .LFB32:
+ 368:stm32lib/src/stm32f10x_rcc.c ****
+ 369:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 370:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_HCLKConfig
+ 371:stm32lib/src/stm32f10x_rcc.c **** * Description : Configures the AHB clock (HCLK).
+ 372:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_SYSCLK: defines the AHB clock divider. This clock is
+ 373:stm32lib/src/stm32f10x_rcc.c **** * derived from the system clock (SYSCLK).
+ 374:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be one of the following values:
+ 375:stm32lib/src/stm32f10x_rcc.c **** * - RCC_SYSCLK_Div1: AHB clock = SYSCLK
+ 376:stm32lib/src/stm32f10x_rcc.c **** * - RCC_SYSCLK_Div2: AHB clock = SYSCLK/2
+ 377:stm32lib/src/stm32f10x_rcc.c **** * - RCC_SYSCLK_Div4: AHB clock = SYSCLK/4
+ 378:stm32lib/src/stm32f10x_rcc.c **** * - RCC_SYSCLK_Div8: AHB clock = SYSCLK/8
+ 379:stm32lib/src/stm32f10x_rcc.c **** * - RCC_SYSCLK_Div16: AHB clock = SYSCLK/16
+ 380:stm32lib/src/stm32f10x_rcc.c **** * - RCC_SYSCLK_Div64: AHB clock = SYSCLK/64
+ 381:stm32lib/src/stm32f10x_rcc.c **** * - RCC_SYSCLK_Div128: AHB clock = SYSCLK/128
+ 382:stm32lib/src/stm32f10x_rcc.c **** * - RCC_SYSCLK_Div256: AHB clock = SYSCLK/256
+ 383:stm32lib/src/stm32f10x_rcc.c **** * - RCC_SYSCLK_Div512: AHB clock = SYSCLK/512
+ 384:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 385:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 386:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 387:stm32lib/src/stm32f10x_rcc.c **** void RCC_HCLKConfig(u32 RCC_SYSCLK)
+ 388:stm32lib/src/stm32f10x_rcc.c **** {
+ 291 .loc 1 388 0
+ 292 @ args = 0, pretend = 0, frame = 0
+ 293 @ frame_needed = 0, uses_anonymous_args = 0
+ 294 @ link register save eliminated.
+ 295 .LVL16:
+ 389:stm32lib/src/stm32f10x_rcc.c **** u32 tmpreg = 0;
+ 390:stm32lib/src/stm32f10x_rcc.c ****
+ 391:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 392:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_HCLK(RCC_SYSCLK));
+ 393:stm32lib/src/stm32f10x_rcc.c ****
+ 394:stm32lib/src/stm32f10x_rcc.c **** tmpreg = RCC->CFGR;
+ 296 .loc 1 394 0
+ 297 00dc 034B ldr r3, .L40
+ 298 00de 5A68 ldr r2, [r3, #4]
+ 299 .LVL17:
+ 395:stm32lib/src/stm32f10x_rcc.c ****
+ 396:stm32lib/src/stm32f10x_rcc.c **** /* Clear HPRE[3:0] bits */
+ 397:stm32lib/src/stm32f10x_rcc.c **** tmpreg &= CFGR_HPRE_Reset_Mask;
+ 300 .loc 1 397 0
+ 301 00e0 22F0F002 bic r2, r2, #240
+ 302 .LVL18:
+ 398:stm32lib/src/stm32f10x_rcc.c ****
+ 399:stm32lib/src/stm32f10x_rcc.c **** /* Set HPRE[3:0] bits according to RCC_SYSCLK value */
+ 400:stm32lib/src/stm32f10x_rcc.c **** tmpreg |= RCC_SYSCLK;
+ 303 .loc 1 400 0
+ 304 00e4 1043 orrs r0, r0, r2
+ 305 .LVL19:
+ 401:stm32lib/src/stm32f10x_rcc.c ****
+ 402:stm32lib/src/stm32f10x_rcc.c **** /* Store the new value */
+ 403:stm32lib/src/stm32f10x_rcc.c **** RCC->CFGR = tmpreg;
+ 306 .loc 1 403 0
+ 307 00e6 5860 str r0, [r3, #4]
+ 404:stm32lib/src/stm32f10x_rcc.c **** }
+ 308 .loc 1 404 0
+ 309 00e8 7047 bx lr
+ 310 .L41:
+ 311 00ea 00BF .align 2
+ 312 .L40:
+ 313 00ec 00100240 .word 1073876992
+ 314 .LFE32:
+ 316 .align 2
+ 317 .global RCC_PCLK1Config
+ 318 .thumb
+ 319 .thumb_func
+ 321 RCC_PCLK1Config:
+ 322 .LFB33:
+ 405:stm32lib/src/stm32f10x_rcc.c ****
+ 406:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 407:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_PCLK1Config
+ 408:stm32lib/src/stm32f10x_rcc.c **** * Description : Configures the Low Speed APB clock (PCLK1).
+ 409:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_HCLK: defines the APB1 clock divider. This clock is
+ 410:stm32lib/src/stm32f10x_rcc.c **** * derived from the AHB clock (HCLK).
+ 411:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be one of the following values:
+ 412:stm32lib/src/stm32f10x_rcc.c **** * - RCC_HCLK_Div1: APB1 clock = HCLK
+ 413:stm32lib/src/stm32f10x_rcc.c **** * - RCC_HCLK_Div2: APB1 clock = HCLK/2
+ 414:stm32lib/src/stm32f10x_rcc.c **** * - RCC_HCLK_Div4: APB1 clock = HCLK/4
+ 415:stm32lib/src/stm32f10x_rcc.c **** * - RCC_HCLK_Div8: APB1 clock = HCLK/8
+ 416:stm32lib/src/stm32f10x_rcc.c **** * - RCC_HCLK_Div16: APB1 clock = HCLK/16
+ 417:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 418:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 419:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 420:stm32lib/src/stm32f10x_rcc.c **** void RCC_PCLK1Config(u32 RCC_HCLK)
+ 421:stm32lib/src/stm32f10x_rcc.c **** {
+ 323 .loc 1 421 0
+ 324 @ args = 0, pretend = 0, frame = 0
+ 325 @ frame_needed = 0, uses_anonymous_args = 0
+ 326 @ link register save eliminated.
+ 327 .LVL20:
+ 422:stm32lib/src/stm32f10x_rcc.c **** u32 tmpreg = 0;
+ 423:stm32lib/src/stm32f10x_rcc.c ****
+ 424:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 425:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_PCLK(RCC_HCLK));
+ 426:stm32lib/src/stm32f10x_rcc.c ****
+ 427:stm32lib/src/stm32f10x_rcc.c **** tmpreg = RCC->CFGR;
+ 328 .loc 1 427 0
+ 329 00f0 034B ldr r3, .L44
+ 330 00f2 5A68 ldr r2, [r3, #4]
+ 331 .LVL21:
+ 428:stm32lib/src/stm32f10x_rcc.c ****
+ 429:stm32lib/src/stm32f10x_rcc.c **** /* Clear PPRE1[2:0] bits */
+ 430:stm32lib/src/stm32f10x_rcc.c **** tmpreg &= CFGR_PPRE1_Reset_Mask;
+ 332 .loc 1 430 0
+ 333 00f4 22F4E062 bic r2, r2, #1792
+ 334 .LVL22:
+ 431:stm32lib/src/stm32f10x_rcc.c ****
+ 432:stm32lib/src/stm32f10x_rcc.c **** /* Set PPRE1[2:0] bits according to RCC_HCLK value */
+ 433:stm32lib/src/stm32f10x_rcc.c **** tmpreg |= RCC_HCLK;
+ 335 .loc 1 433 0
+ 336 00f8 1043 orrs r0, r0, r2
+ 337 .LVL23:
+ 434:stm32lib/src/stm32f10x_rcc.c ****
+ 435:stm32lib/src/stm32f10x_rcc.c **** /* Store the new value */
+ 436:stm32lib/src/stm32f10x_rcc.c **** RCC->CFGR = tmpreg;
+ 338 .loc 1 436 0
+ 339 00fa 5860 str r0, [r3, #4]
+ 437:stm32lib/src/stm32f10x_rcc.c **** }
+ 340 .loc 1 437 0
+ 341 00fc 7047 bx lr
+ 342 .L45:
+ 343 00fe 00BF .align 2
+ 344 .L44:
+ 345 0100 00100240 .word 1073876992
+ 346 .LFE33:
+ 348 .align 2
+ 349 .global RCC_PCLK2Config
+ 350 .thumb
+ 351 .thumb_func
+ 353 RCC_PCLK2Config:
+ 354 .LFB34:
+ 438:stm32lib/src/stm32f10x_rcc.c ****
+ 439:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 440:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_PCLK2Config
+ 441:stm32lib/src/stm32f10x_rcc.c **** * Description : Configures the High Speed APB clock (PCLK2).
+ 442:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_HCLK: defines the APB2 clock divider. This clock is
+ 443:stm32lib/src/stm32f10x_rcc.c **** * derived from the AHB clock (HCLK).
+ 444:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be one of the following values:
+ 445:stm32lib/src/stm32f10x_rcc.c **** * - RCC_HCLK_Div1: APB2 clock = HCLK
+ 446:stm32lib/src/stm32f10x_rcc.c **** * - RCC_HCLK_Div2: APB2 clock = HCLK/2
+ 447:stm32lib/src/stm32f10x_rcc.c **** * - RCC_HCLK_Div4: APB2 clock = HCLK/4
+ 448:stm32lib/src/stm32f10x_rcc.c **** * - RCC_HCLK_Div8: APB2 clock = HCLK/8
+ 449:stm32lib/src/stm32f10x_rcc.c **** * - RCC_HCLK_Div16: APB2 clock = HCLK/16
+ 450:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 451:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 452:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 453:stm32lib/src/stm32f10x_rcc.c **** void RCC_PCLK2Config(u32 RCC_HCLK)
+ 454:stm32lib/src/stm32f10x_rcc.c **** {
+ 355 .loc 1 454 0
+ 356 @ args = 0, pretend = 0, frame = 0
+ 357 @ frame_needed = 0, uses_anonymous_args = 0
+ 358 @ link register save eliminated.
+ 359 .LVL24:
+ 455:stm32lib/src/stm32f10x_rcc.c **** u32 tmpreg = 0;
+ 456:stm32lib/src/stm32f10x_rcc.c ****
+ 457:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 458:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_PCLK(RCC_HCLK));
+ 459:stm32lib/src/stm32f10x_rcc.c ****
+ 460:stm32lib/src/stm32f10x_rcc.c **** tmpreg = RCC->CFGR;
+ 360 .loc 1 460 0
+ 361 0104 034A ldr r2, .L48
+ 362 0106 5368 ldr r3, [r2, #4]
+ 363 .LVL25:
+ 461:stm32lib/src/stm32f10x_rcc.c ****
+ 462:stm32lib/src/stm32f10x_rcc.c **** /* Clear PPRE2[2:0] bits */
+ 463:stm32lib/src/stm32f10x_rcc.c **** tmpreg &= CFGR_PPRE2_Reset_Mask;
+ 364 .loc 1 463 0
+ 365 0108 23F46053 bic r3, r3, #14336
+ 366 .LVL26:
+ 464:stm32lib/src/stm32f10x_rcc.c ****
+ 465:stm32lib/src/stm32f10x_rcc.c **** /* Set PPRE2[2:0] bits according to RCC_HCLK value */
+ 466:stm32lib/src/stm32f10x_rcc.c **** tmpreg |= RCC_HCLK << 3;
+ 367 .loc 1 466 0
+ 368 010c 43EAC003 orr r3, r3, r0, lsl #3
+ 369 .LVL27:
+ 467:stm32lib/src/stm32f10x_rcc.c ****
+ 468:stm32lib/src/stm32f10x_rcc.c **** /* Store the new value */
+ 469:stm32lib/src/stm32f10x_rcc.c **** RCC->CFGR = tmpreg;
+ 370 .loc 1 469 0
+ 371 0110 5360 str r3, [r2, #4]
+ 470:stm32lib/src/stm32f10x_rcc.c **** }
+ 372 .loc 1 470 0
+ 373 0112 7047 bx lr
+ 374 .L49:
+ 375 .align 2
+ 376 .L48:
+ 377 0114 00100240 .word 1073876992
+ 378 .LFE34:
+ 380 .align 2
+ 381 .global RCC_ITConfig
+ 382 .thumb
+ 383 .thumb_func
+ 385 RCC_ITConfig:
+ 386 .LFB35:
+ 471:stm32lib/src/stm32f10x_rcc.c ****
+ 472:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 473:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_ITConfig
+ 474:stm32lib/src/stm32f10x_rcc.c **** * Description : Enables or disables the specified RCC interrupts.
+ 475:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_IT: specifies the RCC interrupt sources to be enabled
+ 476:stm32lib/src/stm32f10x_rcc.c **** * or disabled.
+ 477:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be any combination of the following values:
+ 478:stm32lib/src/stm32f10x_rcc.c **** * - RCC_IT_LSIRDY: LSI ready interrupt
+ 479:stm32lib/src/stm32f10x_rcc.c **** * - RCC_IT_LSERDY: LSE ready interrupt
+ 480:stm32lib/src/stm32f10x_rcc.c **** * - RCC_IT_HSIRDY: HSI ready interrupt
+ 481:stm32lib/src/stm32f10x_rcc.c **** * - RCC_IT_HSERDY: HSE ready interrupt
+ 482:stm32lib/src/stm32f10x_rcc.c **** * - RCC_IT_PLLRDY: PLL ready interrupt
+ 483:stm32lib/src/stm32f10x_rcc.c **** * - NewState: new state of the specified RCC interrupts.
+ 484:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be: ENABLE or DISABLE.
+ 485:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 486:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 487:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 488:stm32lib/src/stm32f10x_rcc.c **** void RCC_ITConfig(u8 RCC_IT, FunctionalState NewState)
+ 489:stm32lib/src/stm32f10x_rcc.c **** {
+ 387 .loc 1 489 0
+ 388 @ args = 0, pretend = 0, frame = 0
+ 389 @ frame_needed = 0, uses_anonymous_args = 0
+ 390 @ link register save eliminated.
+ 391 .LVL28:
+ 490:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 491:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_IT(RCC_IT));
+ 492:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
+ 493:stm32lib/src/stm32f10x_rcc.c ****
+ 494:stm32lib/src/stm32f10x_rcc.c **** if (NewState != DISABLE)
+ 392 .loc 1 494 0
+ 393 0118 21B1 cbz r1, .L51
+ 495:stm32lib/src/stm32f10x_rcc.c **** {
+ 496:stm32lib/src/stm32f10x_rcc.c **** /* Perform Byte access to RCC_CIR[12:8] bits to enable the selected interrupts */
+ 497:stm32lib/src/stm32f10x_rcc.c **** *(vu8 *) CIR_BYTE2_ADDRESS |= RCC_IT;
+ 394 .loc 1 497 0
+ 395 011a 054A ldr r2, .L55
+ 396 011c 1378 ldrb r3, [r2, #0] @ zero_extendqisi2
+ 397 011e 40EA0303 orr r3, r0, r3
+ 398 0122 03E0 b .L54
+ 399 .L51:
+ 498:stm32lib/src/stm32f10x_rcc.c **** }
+ 499:stm32lib/src/stm32f10x_rcc.c **** else
+ 500:stm32lib/src/stm32f10x_rcc.c **** {
+ 501:stm32lib/src/stm32f10x_rcc.c **** /* Perform Byte access to RCC_CIR[12:8] bits to disable the selected interrupts */
+ 502:stm32lib/src/stm32f10x_rcc.c **** *(vu8 *) CIR_BYTE2_ADDRESS &= (u8)~RCC_IT;
+ 400 .loc 1 502 0
+ 401 0124 024A ldr r2, .L55
+ 402 0126 1378 ldrb r3, [r2, #0] @ zero_extendqisi2
+ 403 0128 23EA0003 bic r3, r3, r0
+ 404 .L54:
+ 405 012c 1370 strb r3, [r2, #0]
+ 503:stm32lib/src/stm32f10x_rcc.c **** }
+ 504:stm32lib/src/stm32f10x_rcc.c **** }
+ 406 .loc 1 504 0
+ 407 012e 7047 bx lr
+ 408 .L56:
+ 409 .align 2
+ 410 .L55:
+ 411 0130 09100240 .word 1073877001
+ 412 .LFE35:
+ 414 .align 2
+ 415 .global RCC_USBCLKConfig
+ 416 .thumb
+ 417 .thumb_func
+ 419 RCC_USBCLKConfig:
+ 420 .LFB36:
+ 505:stm32lib/src/stm32f10x_rcc.c ****
+ 506:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 507:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_USBCLKConfig
+ 508:stm32lib/src/stm32f10x_rcc.c **** * Description : Configures the USB clock (USBCLK).
+ 509:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_USBCLKSource: specifies the USB clock source. This clock
+ 510:stm32lib/src/stm32f10x_rcc.c **** * is derived from the PLL output.
+ 511:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be one of the following values:
+ 512:stm32lib/src/stm32f10x_rcc.c **** * - RCC_USBCLKSource_PLLCLK_1Div5: PLL clock divided by 1,5
+ 513:stm32lib/src/stm32f10x_rcc.c **** * selected as USB clock source
+ 514:stm32lib/src/stm32f10x_rcc.c **** * - RCC_USBCLKSource_PLLCLK_Div1: PLL clock selected as USB
+ 515:stm32lib/src/stm32f10x_rcc.c **** * clock source
+ 516:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 517:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 518:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 519:stm32lib/src/stm32f10x_rcc.c **** void RCC_USBCLKConfig(u32 RCC_USBCLKSource)
+ 520:stm32lib/src/stm32f10x_rcc.c **** {
+ 421 .loc 1 520 0
+ 422 @ args = 0, pretend = 0, frame = 0
+ 423 @ frame_needed = 0, uses_anonymous_args = 0
+ 424 @ link register save eliminated.
+ 425 .LVL29:
+ 521:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 522:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_USBCLK_SOURCE(RCC_USBCLKSource));
+ 523:stm32lib/src/stm32f10x_rcc.c ****
+ 524:stm32lib/src/stm32f10x_rcc.c **** *(vu32 *) CFGR_USBPRE_BB = RCC_USBCLKSource;
+ 426 .loc 1 524 0
+ 427 0134 014B ldr r3, .L59
+ 428 0136 1860 str r0, [r3, #0]
+ 525:stm32lib/src/stm32f10x_rcc.c **** }
+ 429 .loc 1 525 0
+ 430 0138 7047 bx lr
+ 431 .L60:
+ 432 013a 00BF .align 2
+ 433 .L59:
+ 434 013c D8004242 .word 1111621848
+ 435 .LFE36:
+ 437 .align 2
+ 438 .global RCC_ADCCLKConfig
+ 439 .thumb
+ 440 .thumb_func
+ 442 RCC_ADCCLKConfig:
+ 443 .LFB37:
+ 526:stm32lib/src/stm32f10x_rcc.c ****
+ 527:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 528:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_ADCCLKConfig
+ 529:stm32lib/src/stm32f10x_rcc.c **** * Description : Configures the ADC clock (ADCCLK).
+ 530:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_PCLK2: defines the ADC clock divider. This clock is
+ 531:stm32lib/src/stm32f10x_rcc.c **** * derived from the APB2 clock (PCLK2).
+ 532:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be one of the following values:
+ 533:stm32lib/src/stm32f10x_rcc.c **** * - RCC_PCLK2_Div2: ADC clock = PCLK2/2
+ 534:stm32lib/src/stm32f10x_rcc.c **** * - RCC_PCLK2_Div4: ADC clock = PCLK2/4
+ 535:stm32lib/src/stm32f10x_rcc.c **** * - RCC_PCLK2_Div6: ADC clock = PCLK2/6
+ 536:stm32lib/src/stm32f10x_rcc.c **** * - RCC_PCLK2_Div8: ADC clock = PCLK2/8
+ 537:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 538:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 539:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 540:stm32lib/src/stm32f10x_rcc.c **** void RCC_ADCCLKConfig(u32 RCC_PCLK2)
+ 541:stm32lib/src/stm32f10x_rcc.c **** {
+ 444 .loc 1 541 0
+ 445 @ args = 0, pretend = 0, frame = 0
+ 446 @ frame_needed = 0, uses_anonymous_args = 0
+ 447 @ link register save eliminated.
+ 448 .LVL30:
+ 542:stm32lib/src/stm32f10x_rcc.c **** u32 tmpreg = 0;
+ 543:stm32lib/src/stm32f10x_rcc.c ****
+ 544:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 545:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_ADCCLK(RCC_PCLK2));
+ 546:stm32lib/src/stm32f10x_rcc.c ****
+ 547:stm32lib/src/stm32f10x_rcc.c **** tmpreg = RCC->CFGR;
+ 449 .loc 1 547 0
+ 450 0140 034B ldr r3, .L63
+ 451 0142 5A68 ldr r2, [r3, #4]
+ 452 .LVL31:
+ 548:stm32lib/src/stm32f10x_rcc.c ****
+ 549:stm32lib/src/stm32f10x_rcc.c **** /* Clear ADCPRE[1:0] bits */
+ 550:stm32lib/src/stm32f10x_rcc.c **** tmpreg &= CFGR_ADCPRE_Reset_Mask;
+ 453 .loc 1 550 0
+ 454 0144 22F44042 bic r2, r2, #49152
+ 455 .LVL32:
+ 551:stm32lib/src/stm32f10x_rcc.c ****
+ 552:stm32lib/src/stm32f10x_rcc.c **** /* Set ADCPRE[1:0] bits according to RCC_PCLK2 value */
+ 553:stm32lib/src/stm32f10x_rcc.c **** tmpreg |= RCC_PCLK2;
+ 456 .loc 1 553 0
+ 457 0148 1043 orrs r0, r0, r2
+ 458 .LVL33:
+ 554:stm32lib/src/stm32f10x_rcc.c ****
+ 555:stm32lib/src/stm32f10x_rcc.c **** /* Store the new value */
+ 556:stm32lib/src/stm32f10x_rcc.c **** RCC->CFGR = tmpreg;
+ 459 .loc 1 556 0
+ 460 014a 5860 str r0, [r3, #4]
+ 557:stm32lib/src/stm32f10x_rcc.c **** }
+ 461 .loc 1 557 0
+ 462 014c 7047 bx lr
+ 463 .L64:
+ 464 014e 00BF .align 2
+ 465 .L63:
+ 466 0150 00100240 .word 1073876992
+ 467 .LFE37:
+ 469 .align 2
+ 470 .global RCC_LSEConfig
+ 471 .thumb
+ 472 .thumb_func
+ 474 RCC_LSEConfig:
+ 475 .LFB38:
+ 558:stm32lib/src/stm32f10x_rcc.c ****
+ 559:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 560:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_LSEConfig
+ 561:stm32lib/src/stm32f10x_rcc.c **** * Description : Configures the External Low Speed oscillator (LSE).
+ 562:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_LSE: specifies the new state of the LSE.
+ 563:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be one of the following values:
+ 564:stm32lib/src/stm32f10x_rcc.c **** * - RCC_LSE_OFF: LSE oscillator OFF
+ 565:stm32lib/src/stm32f10x_rcc.c **** * - RCC_LSE_ON: LSE oscillator ON
+ 566:stm32lib/src/stm32f10x_rcc.c **** * - RCC_LSE_Bypass: LSE oscillator bypassed with external
+ 567:stm32lib/src/stm32f10x_rcc.c **** * clock
+ 568:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 569:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 570:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 571:stm32lib/src/stm32f10x_rcc.c **** void RCC_LSEConfig(u8 RCC_LSE)
+ 572:stm32lib/src/stm32f10x_rcc.c **** {
+ 476 .loc 1 572 0
+ 477 @ args = 0, pretend = 0, frame = 0
+ 478 @ frame_needed = 0, uses_anonymous_args = 0
+ 479 @ link register save eliminated.
+ 480 .LVL34:
+ 573:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 574:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_LSE(RCC_LSE));
+ 575:stm32lib/src/stm32f10x_rcc.c ****
+ 576:stm32lib/src/stm32f10x_rcc.c **** /* Reset LSEON and LSEBYP bits before configuring the LSE ------------------*/
+ 577:stm32lib/src/stm32f10x_rcc.c **** /* Reset LSEON bit */
+ 578:stm32lib/src/stm32f10x_rcc.c **** *(vu8 *) BDCR_ADDRESS = RCC_LSE_OFF;
+ 481 .loc 1 578 0
+ 482 0154 064A ldr r2, .L71
+ 483 0156 0023 movs r3, #0
+ 579:stm32lib/src/stm32f10x_rcc.c ****
+ 580:stm32lib/src/stm32f10x_rcc.c **** /* Reset LSEBYP bit */
+ 581:stm32lib/src/stm32f10x_rcc.c **** *(vu8 *) BDCR_ADDRESS = RCC_LSE_OFF;
+ 582:stm32lib/src/stm32f10x_rcc.c ****
+ 583:stm32lib/src/stm32f10x_rcc.c **** /* Configure LSE (RCC_LSE_OFF is already covered by the code section above) */
+ 584:stm32lib/src/stm32f10x_rcc.c **** switch(RCC_LSE)
+ 484 .loc 1 584 0
+ 485 0158 0128 cmp r0, #1
+ 486 .loc 1 578 0
+ 487 015a 1370 strb r3, [r2, #0]
+ 488 .loc 1 581 0
+ 489 015c 1370 strb r3, [r2, #0]
+ 490 .loc 1 584 0
+ 491 015e 02D0 beq .L67
+ 492 0160 0428 cmp r0, #4
+ 493 0162 04D1 bne .L69
+ 494 0164 01E0 b .L70
+ 495 .L67:
+ 585:stm32lib/src/stm32f10x_rcc.c **** {
+ 586:stm32lib/src/stm32f10x_rcc.c **** case RCC_LSE_ON:
+ 587:stm32lib/src/stm32f10x_rcc.c **** /* Set LSEON bit */
+ 588:stm32lib/src/stm32f10x_rcc.c **** *(vu8 *) BDCR_ADDRESS = RCC_LSE_ON;
+ 496 .loc 1 588 0
+ 497 0166 1070 strb r0, [r2, #0]
+ 498 0168 01E0 b .L69
+ 499 .L70:
+ 589:stm32lib/src/stm32f10x_rcc.c **** break;
+ 590:stm32lib/src/stm32f10x_rcc.c ****
+ 591:stm32lib/src/stm32f10x_rcc.c **** case RCC_LSE_Bypass:
+ 592:stm32lib/src/stm32f10x_rcc.c **** /* Set LSEBYP and LSEON bits */
+ 593:stm32lib/src/stm32f10x_rcc.c **** *(vu8 *) BDCR_ADDRESS = RCC_LSE_Bypass | RCC_LSE_ON;
+ 500 .loc 1 593 0
+ 501 016a 0523 movs r3, #5
+ 502 016c 1370 strb r3, [r2, #0]
+ 503 .L69:
+ 594:stm32lib/src/stm32f10x_rcc.c **** break;
+ 595:stm32lib/src/stm32f10x_rcc.c ****
+ 596:stm32lib/src/stm32f10x_rcc.c **** default:
+ 597:stm32lib/src/stm32f10x_rcc.c **** break;
+ 598:stm32lib/src/stm32f10x_rcc.c **** }
+ 599:stm32lib/src/stm32f10x_rcc.c **** }
+ 504 .loc 1 599 0
+ 505 016e 7047 bx lr
+ 506 .L72:
+ 507 .align 2
+ 508 .L71:
+ 509 0170 20100240 .word 1073877024
+ 510 .LFE38:
+ 512 .align 2
+ 513 .global RCC_LSICmd
+ 514 .thumb
+ 515 .thumb_func
+ 517 RCC_LSICmd:
+ 518 .LFB39:
+ 600:stm32lib/src/stm32f10x_rcc.c ****
+ 601:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 602:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_LSICmd
+ 603:stm32lib/src/stm32f10x_rcc.c **** * Description : Enables or disables the Internal Low Speed oscillator (LSI).
+ 604:stm32lib/src/stm32f10x_rcc.c **** * LSI can not be disabled if the IWDG is running.
+ 605:stm32lib/src/stm32f10x_rcc.c **** * Input : - NewState: new state of the LSI.
+ 606:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be: ENABLE or DISABLE.
+ 607:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 608:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 609:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 610:stm32lib/src/stm32f10x_rcc.c **** void RCC_LSICmd(FunctionalState NewState)
+ 611:stm32lib/src/stm32f10x_rcc.c **** {
+ 519 .loc 1 611 0
+ 520 @ args = 0, pretend = 0, frame = 0
+ 521 @ frame_needed = 0, uses_anonymous_args = 0
+ 522 @ link register save eliminated.
+ 523 .LVL35:
+ 612:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 613:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
+ 614:stm32lib/src/stm32f10x_rcc.c ****
+ 615:stm32lib/src/stm32f10x_rcc.c **** *(vu32 *) CSR_LSION_BB = (u32)NewState;
+ 524 .loc 1 615 0
+ 525 0174 014B ldr r3, .L75
+ 526 0176 1860 str r0, [r3, #0]
+ 616:stm32lib/src/stm32f10x_rcc.c **** }
+ 527 .loc 1 616 0
+ 528 0178 7047 bx lr
+ 529 .L76:
+ 530 017a 00BF .align 2
+ 531 .L75:
+ 532 017c 80044242 .word 1111622784
+ 533 .LFE39:
+ 535 .align 2
+ 536 .global RCC_RTCCLKConfig
+ 537 .thumb
+ 538 .thumb_func
+ 540 RCC_RTCCLKConfig:
+ 541 .LFB40:
+ 617:stm32lib/src/stm32f10x_rcc.c ****
+ 618:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 619:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_RTCCLKConfig
+ 620:stm32lib/src/stm32f10x_rcc.c **** * Description : Configures the RTC clock (RTCCLK).
+ 621:stm32lib/src/stm32f10x_rcc.c **** * Once the RTC clock is selected it can’t be changed unless the
+ 622:stm32lib/src/stm32f10x_rcc.c **** * Backup domain is reset.
+ 623:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_RTCCLKSource: specifies the RTC clock source.
+ 624:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be one of the following values:
+ 625:stm32lib/src/stm32f10x_rcc.c **** * - RCC_RTCCLKSource_LSE: LSE selected as RTC clock
+ 626:stm32lib/src/stm32f10x_rcc.c **** * - RCC_RTCCLKSource_LSI: LSI selected as RTC clock
+ 627:stm32lib/src/stm32f10x_rcc.c **** * - RCC_RTCCLKSource_HSE_Div128: HSE clock divided by 128
+ 628:stm32lib/src/stm32f10x_rcc.c **** * selected as RTC clock
+ 629:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 630:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 631:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 632:stm32lib/src/stm32f10x_rcc.c **** void RCC_RTCCLKConfig(u32 RCC_RTCCLKSource)
+ 633:stm32lib/src/stm32f10x_rcc.c **** {
+ 542 .loc 1 633 0
+ 543 @ args = 0, pretend = 0, frame = 0
+ 544 @ frame_needed = 0, uses_anonymous_args = 0
+ 545 @ link register save eliminated.
+ 546 .LVL36:
+ 634:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 635:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_RTCCLK_SOURCE(RCC_RTCCLKSource));
+ 636:stm32lib/src/stm32f10x_rcc.c ****
+ 637:stm32lib/src/stm32f10x_rcc.c **** /* Select the RTC clock source */
+ 638:stm32lib/src/stm32f10x_rcc.c **** RCC->BDCR |= RCC_RTCCLKSource;
+ 547 .loc 1 638 0
+ 548 0180 024B ldr r3, .L79
+ 549 0182 1A6A ldr r2, [r3, #32]
+ 550 0184 1043 orrs r0, r0, r2
+ 551 .LVL37:
+ 552 0186 1862 str r0, [r3, #32]
+ 639:stm32lib/src/stm32f10x_rcc.c **** }
+ 553 .loc 1 639 0
+ 554 0188 7047 bx lr
+ 555 .L80:
+ 556 018a 00BF .align 2
+ 557 .L79:
+ 558 018c 00100240 .word 1073876992
+ 559 .LFE40:
+ 561 .align 2
+ 562 .global RCC_RTCCLKCmd
+ 563 .thumb
+ 564 .thumb_func
+ 566 RCC_RTCCLKCmd:
+ 567 .LFB41:
+ 640:stm32lib/src/stm32f10x_rcc.c ****
+ 641:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 642:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_RTCCLKCmd
+ 643:stm32lib/src/stm32f10x_rcc.c **** * Description : Enables or disables the RTC clock.
+ 644:stm32lib/src/stm32f10x_rcc.c **** * This function must be used only after the RTC clock was
+ 645:stm32lib/src/stm32f10x_rcc.c **** * selected using the RCC_RTCCLKConfig function.
+ 646:stm32lib/src/stm32f10x_rcc.c **** * Input : - NewState: new state of the RTC clock.
+ 647:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be: ENABLE or DISABLE.
+ 648:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 649:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 650:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 651:stm32lib/src/stm32f10x_rcc.c **** void RCC_RTCCLKCmd(FunctionalState NewState)
+ 652:stm32lib/src/stm32f10x_rcc.c **** {
+ 568 .loc 1 652 0
+ 569 @ args = 0, pretend = 0, frame = 0
+ 570 @ frame_needed = 0, uses_anonymous_args = 0
+ 571 @ link register save eliminated.
+ 572 .LVL38:
+ 653:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 654:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
+ 655:stm32lib/src/stm32f10x_rcc.c ****
+ 656:stm32lib/src/stm32f10x_rcc.c **** *(vu32 *) BDCR_RTCEN_BB = (u32)NewState;
+ 573 .loc 1 656 0
+ 574 0190 014B ldr r3, .L83
+ 575 0192 1860 str r0, [r3, #0]
+ 657:stm32lib/src/stm32f10x_rcc.c **** }
+ 576 .loc 1 657 0
+ 577 0194 7047 bx lr
+ 578 .L84:
+ 579 0196 00BF .align 2
+ 580 .L83:
+ 581 0198 3C044242 .word 1111622716
+ 582 .LFE41:
+ 584 .align 2
+ 585 .global RCC_GetClocksFreq
+ 586 .thumb
+ 587 .thumb_func
+ 589 RCC_GetClocksFreq:
+ 590 .LFB42:
+ 658:stm32lib/src/stm32f10x_rcc.c ****
+ 659:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 660:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_GetClocksFreq
+ 661:stm32lib/src/stm32f10x_rcc.c **** * Description : Returns the frequencies of different on chip clocks.
+ 662:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_Clocks: pointer to a RCC_ClocksTypeDef structure which
+ 663:stm32lib/src/stm32f10x_rcc.c **** * will hold the clocks frequencies.
+ 664:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 665:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 666:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 667:stm32lib/src/stm32f10x_rcc.c **** void RCC_GetClocksFreq(RCC_ClocksTypeDef* RCC_Clocks)
+ 668:stm32lib/src/stm32f10x_rcc.c **** {
+ 591 .loc 1 668 0
+ 592 @ args = 0, pretend = 0, frame = 0
+ 593 @ frame_needed = 0, uses_anonymous_args = 0
+ 594 .LVL39:
+ 669:stm32lib/src/stm32f10x_rcc.c **** u32 tmp = 0, pllmull = 0, pllsource = 0, presc = 0;
+ 670:stm32lib/src/stm32f10x_rcc.c ****
+ 671:stm32lib/src/stm32f10x_rcc.c **** /* Get SYSCLK source -------------------------------------------------------*/
+ 672:stm32lib/src/stm32f10x_rcc.c **** tmp = RCC->CFGR & CFGR_SWS_Mask;
+ 595 .loc 1 672 0
+ 596 019c 1D49 ldr r1, .L98
+ 597 .loc 1 668 0
+ 598 019e 10B5 push {r4, lr}
+ 599 .LCFI0:
+ 600 .loc 1 672 0
+ 601 01a0 4B68 ldr r3, [r1, #4]
+ 602 .loc 1 668 0
+ 603 01a2 0446 mov r4, r0
+ 673:stm32lib/src/stm32f10x_rcc.c ****
+ 674:stm32lib/src/stm32f10x_rcc.c **** switch (tmp)
+ 604 .loc 1 674 0
+ 605 01a4 03F00C03 and r3, r3, #12
+ 606 01a8 042B cmp r3, #4
+ 607 01aa 12D0 beq .L94
+ 608 .LVL40:
+ 609 01ac 082B cmp r3, #8
+ 610 01ae 10D1 bne .L94
+ 611 .L89:
+ 675:stm32lib/src/stm32f10x_rcc.c **** {
+ 676:stm32lib/src/stm32f10x_rcc.c **** case 0x00: /* HSI used as system clock */
+ 677:stm32lib/src/stm32f10x_rcc.c **** RCC_Clocks->SYSCLK_Frequency = HSI_Value;
+ 678:stm32lib/src/stm32f10x_rcc.c **** break;
+ 679:stm32lib/src/stm32f10x_rcc.c ****
+ 680:stm32lib/src/stm32f10x_rcc.c **** case 0x04: /* HSE used as system clock */
+ 681:stm32lib/src/stm32f10x_rcc.c **** RCC_Clocks->SYSCLK_Frequency = HSE_Value;
+ 682:stm32lib/src/stm32f10x_rcc.c **** break;
+ 683:stm32lib/src/stm32f10x_rcc.c ****
+ 684:stm32lib/src/stm32f10x_rcc.c **** case 0x08: /* PLL used as system clock */
+ 685:stm32lib/src/stm32f10x_rcc.c **** /* Get PLL clock source and multiplication factor ----------------------*/
+ 686:stm32lib/src/stm32f10x_rcc.c **** pllmull = RCC->CFGR & CFGR_PLLMull_Mask;
+ 612 .loc 1 686 0
+ 613 01b0 4B68 ldr r3, [r1, #4]
+ 687:stm32lib/src/stm32f10x_rcc.c **** pllmull = ( pllmull >> 18) + 2;
+ 614 .loc 1 687 0
+ 615 01b2 C3F38343 ubfx r3, r3, #18, #4
+ 616 01b6 9A1C adds r2, r3, #2
+ 617 .LVL41:
+ 688:stm32lib/src/stm32f10x_rcc.c ****
+ 689:stm32lib/src/stm32f10x_rcc.c **** pllsource = RCC->CFGR & CFGR_PLLSRC_Mask;
+ 618 .loc 1 689 0
+ 619 01b8 4B68 ldr r3, [r1, #4]
+ 690:stm32lib/src/stm32f10x_rcc.c ****
+ 691:stm32lib/src/stm32f10x_rcc.c **** if (pllsource == 0x00)
+ 620 .loc 1 691 0
+ 621 01ba 13F4803F tst r3, #65536
+ 622 01be 03D0 beq .L97
+ 623 .L91:
+ 692:stm32lib/src/stm32f10x_rcc.c **** {/* HSI oscillator clock divided by 2 selected as PLL clock entry */
+ 693:stm32lib/src/stm32f10x_rcc.c **** RCC_Clocks->SYSCLK_Frequency = (HSI_Value >> 1) * pllmull;
+ 694:stm32lib/src/stm32f10x_rcc.c **** }
+ 695:stm32lib/src/stm32f10x_rcc.c **** else
+ 696:stm32lib/src/stm32f10x_rcc.c **** {/* HSE selected as PLL clock entry */
+ 697:stm32lib/src/stm32f10x_rcc.c ****
+ 698:stm32lib/src/stm32f10x_rcc.c **** if ((RCC->CFGR & CFGR_PLLXTPRE_Mask) != (u32)RESET)
+ 624 .loc 1 698 0
+ 625 01c0 4B68 ldr r3, [r1, #4]
+ 626 01c2 13F4003F tst r3, #131072
+ 627 01c6 01D0 beq .L92
+ 628 .L97:
+ 699:stm32lib/src/stm32f10x_rcc.c **** {/* HSE oscillator clock divided by 2 */
+ 700:stm32lib/src/stm32f10x_rcc.c ****
+ 701:stm32lib/src/stm32f10x_rcc.c **** RCC_Clocks->SYSCLK_Frequency = (HSE_Value >> 1) * pllmull;
+ 629 .loc 1 701 0
+ 630 01c8 134B ldr r3, .L98+4
+ 631 01ca 00E0 b .L96
+ 632 .L92:
+ 702:stm32lib/src/stm32f10x_rcc.c **** }
+ 703:stm32lib/src/stm32f10x_rcc.c **** else
+ 704:stm32lib/src/stm32f10x_rcc.c **** {
+ 705:stm32lib/src/stm32f10x_rcc.c **** RCC_Clocks->SYSCLK_Frequency = HSE_Value * pllmull;
+ 633 .loc 1 705 0
+ 634 01cc 134B ldr r3, .L98+8
+ 635 .L96:
+ 636 01ce 5343 muls r3, r2, r3
+ 637 01d0 00E0 b .L95
+ 638 .LVL42:
+ 639 .L94:
+ 706:stm32lib/src/stm32f10x_rcc.c **** }
+ 707:stm32lib/src/stm32f10x_rcc.c **** }
+ 708:stm32lib/src/stm32f10x_rcc.c **** break;
+ 709:stm32lib/src/stm32f10x_rcc.c ****
+ 710:stm32lib/src/stm32f10x_rcc.c **** default:
+ 711:stm32lib/src/stm32f10x_rcc.c **** RCC_Clocks->SYSCLK_Frequency = HSI_Value;
+ 640 .loc 1 711 0
+ 641 01d2 124B ldr r3, .L98+8
+ 642 .LVL43:
+ 643 .L95:
+ 712:stm32lib/src/stm32f10x_rcc.c **** break;
+ 713:stm32lib/src/stm32f10x_rcc.c **** }
+ 714:stm32lib/src/stm32f10x_rcc.c ****
+ 715:stm32lib/src/stm32f10x_rcc.c **** /* Compute HCLK, PCLK1, PCLK2 and ADCCLK clocks frequencies ----------------*/
+ 716:stm32lib/src/stm32f10x_rcc.c **** /* Get HCLK prescaler */
+ 717:stm32lib/src/stm32f10x_rcc.c **** tmp = RCC->CFGR & CFGR_HPRE_Set_Mask;
+ 644 .loc 1 717 0
+ 645 01d4 0F48 ldr r0, .L98
+ 646 .loc 1 711 0
+ 647 01d6 2360 str r3, [r4, #0]
+ 648 .loc 1 717 0
+ 649 01d8 4368 ldr r3, [r0, #4]
+ 718:stm32lib/src/stm32f10x_rcc.c **** tmp = tmp >> 4;
+ 719:stm32lib/src/stm32f10x_rcc.c **** presc = APBAHBPrescTable[tmp];
+ 720:stm32lib/src/stm32f10x_rcc.c ****
+ 721:stm32lib/src/stm32f10x_rcc.c **** /* HCLK clock frequency */
+ 722:stm32lib/src/stm32f10x_rcc.c **** RCC_Clocks->HCLK_Frequency = RCC_Clocks->SYSCLK_Frequency >> presc;
+ 650 .loc 1 722 0
+ 651 01da 1149 ldr r1, .L98+12
+ 652 01dc C3F30313 ubfx r3, r3, #4, #4
+ 653 01e0 CB5C ldrb r3, [r1, r3] @ zero_extendqisi2
+ 654 01e2 2268 ldr r2, [r4, #0]
+ 655 .LVL44:
+ 656 01e4 DA40 lsrs r2, r2, r3
+ 657 01e6 6260 str r2, [r4, #4]
+ 723:stm32lib/src/stm32f10x_rcc.c ****
+ 724:stm32lib/src/stm32f10x_rcc.c **** /* Get PCLK1 prescaler */
+ 725:stm32lib/src/stm32f10x_rcc.c **** tmp = RCC->CFGR & CFGR_PPRE1_Set_Mask;
+ 658 .loc 1 725 0
+ 659 01e8 4368 ldr r3, [r0, #4]
+ 726:stm32lib/src/stm32f10x_rcc.c **** tmp = tmp >> 8;
+ 727:stm32lib/src/stm32f10x_rcc.c **** presc = APBAHBPrescTable[tmp];
+ 728:stm32lib/src/stm32f10x_rcc.c ****
+ 729:stm32lib/src/stm32f10x_rcc.c **** /* PCLK1 clock frequency */
+ 730:stm32lib/src/stm32f10x_rcc.c **** RCC_Clocks->PCLK1_Frequency = RCC_Clocks->HCLK_Frequency >> presc;
+ 660 .loc 1 730 0
+ 661 01ea C3F30223 ubfx r3, r3, #8, #3
+ 662 01ee CB5C ldrb r3, [r1, r3] @ zero_extendqisi2
+ 663 01f0 32FA03F3 lsrs r3, r2, r3
+ 664 01f4 A360 str r3, [r4, #8]
+ 731:stm32lib/src/stm32f10x_rcc.c ****
+ 732:stm32lib/src/stm32f10x_rcc.c **** /* Get PCLK2 prescaler */
+ 733:stm32lib/src/stm32f10x_rcc.c **** tmp = RCC->CFGR & CFGR_PPRE2_Set_Mask;
+ 665 .loc 1 733 0
+ 666 01f6 4368 ldr r3, [r0, #4]
+ 734:stm32lib/src/stm32f10x_rcc.c **** tmp = tmp >> 11;
+ 735:stm32lib/src/stm32f10x_rcc.c **** presc = APBAHBPrescTable[tmp];
+ 736:stm32lib/src/stm32f10x_rcc.c ****
+ 737:stm32lib/src/stm32f10x_rcc.c **** /* PCLK2 clock frequency */
+ 738:stm32lib/src/stm32f10x_rcc.c **** RCC_Clocks->PCLK2_Frequency = RCC_Clocks->HCLK_Frequency >> presc;
+ 667 .loc 1 738 0
+ 668 01f8 C3F3C223 ubfx r3, r3, #11, #3
+ 669 01fc CB5C ldrb r3, [r1, r3] @ zero_extendqisi2
+ 670 01fe DA40 lsrs r2, r2, r3
+ 671 0200 E260 str r2, [r4, #12]
+ 739:stm32lib/src/stm32f10x_rcc.c ****
+ 740:stm32lib/src/stm32f10x_rcc.c **** /* Get ADCCLK prescaler */
+ 741:stm32lib/src/stm32f10x_rcc.c **** tmp = RCC->CFGR & CFGR_ADCPRE_Set_Mask;
+ 672 .loc 1 741 0
+ 673 0202 4368 ldr r3, [r0, #4]
+ 742:stm32lib/src/stm32f10x_rcc.c **** tmp = tmp >> 14;
+ 743:stm32lib/src/stm32f10x_rcc.c **** presc = ADCPrescTable[tmp];
+ 744:stm32lib/src/stm32f10x_rcc.c ****
+ 745:stm32lib/src/stm32f10x_rcc.c **** /* ADCCLK clock frequency */
+ 746:stm32lib/src/stm32f10x_rcc.c **** RCC_Clocks->ADCCLK_Frequency = RCC_Clocks->PCLK2_Frequency / presc;
+ 674 .loc 1 746 0
+ 675 0204 C3F38133 ubfx r3, r3, #14, #2
+ 676 0208 C918 adds r1, r1, r3
+ 677 020a 0B7C ldrb r3, [r1, #16] @ zero_extendqisi2
+ 678 020c B2FBF3F2 udiv r2, r2, r3
+ 679 0210 2261 str r2, [r4, #16]
+ 747:stm32lib/src/stm32f10x_rcc.c **** }
+ 680 .loc 1 747 0
+ 681 0212 10BD pop {r4, pc}
+ 682 .L99:
+ 683 .align 2
+ 684 .L98:
+ 685 0214 00100240 .word 1073876992
+ 686 0218 00093D00 .word 4000000
+ 687 021c 00127A00 .word 8000000
+ 688 0220 00000000 .word .LANCHOR0
+ 689 .LFE42:
+ 691 .align 2
+ 692 .global RCC_AHBPeriphClockCmd
+ 693 .thumb
+ 694 .thumb_func
+ 696 RCC_AHBPeriphClockCmd:
+ 697 .LFB43:
+ 748:stm32lib/src/stm32f10x_rcc.c ****
+ 749:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 750:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_AHBPeriphClockCmd
+ 751:stm32lib/src/stm32f10x_rcc.c **** * Description : Enables or disables the AHB peripheral clock.
+ 752:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_AHBPeriph: specifies the AHB peripheral to gates its clock.
+ 753:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be any combination of the following values:
+ 754:stm32lib/src/stm32f10x_rcc.c **** * - RCC_AHBPeriph_DMA1
+ 755:stm32lib/src/stm32f10x_rcc.c **** * - RCC_AHBPeriph_DMA2
+ 756:stm32lib/src/stm32f10x_rcc.c **** * - RCC_AHBPeriph_SRAM
+ 757:stm32lib/src/stm32f10x_rcc.c **** * - RCC_AHBPeriph_FLITF
+ 758:stm32lib/src/stm32f10x_rcc.c **** * - RCC_AHBPeriph_CRC
+ 759:stm32lib/src/stm32f10x_rcc.c **** * - RCC_AHBPeriph_FSMC
+ 760:stm32lib/src/stm32f10x_rcc.c **** * - RCC_AHBPeriph_SDIO
+ 761:stm32lib/src/stm32f10x_rcc.c **** * SRAM and FLITF clock can be disabled only during sleep mode.
+ 762:stm32lib/src/stm32f10x_rcc.c **** * - NewState: new state of the specified peripheral clock.
+ 763:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be: ENABLE or DISABLE.
+ 764:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 765:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 766:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 767:stm32lib/src/stm32f10x_rcc.c **** void RCC_AHBPeriphClockCmd(u32 RCC_AHBPeriph, FunctionalState NewState)
+ 768:stm32lib/src/stm32f10x_rcc.c **** {
+ 698 .loc 1 768 0
+ 699 @ args = 0, pretend = 0, frame = 0
+ 700 @ frame_needed = 0, uses_anonymous_args = 0
+ 701 @ link register save eliminated.
+ 702 .LVL45:
+ 769:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 770:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_AHB_PERIPH(RCC_AHBPeriph));
+ 771:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
+ 772:stm32lib/src/stm32f10x_rcc.c ****
+ 773:stm32lib/src/stm32f10x_rcc.c **** if (NewState != DISABLE)
+ 703 .loc 1 773 0
+ 704 0224 21B1 cbz r1, .L101
+ 774:stm32lib/src/stm32f10x_rcc.c **** {
+ 775:stm32lib/src/stm32f10x_rcc.c **** RCC->AHBENR |= RCC_AHBPeriph;
+ 705 .loc 1 775 0
+ 706 0226 054A ldr r2, .L105
+ 707 0228 5369 ldr r3, [r2, #20]
+ 708 022a 40EA0303 orr r3, r0, r3
+ 709 022e 03E0 b .L104
+ 710 .L101:
+ 776:stm32lib/src/stm32f10x_rcc.c **** }
+ 777:stm32lib/src/stm32f10x_rcc.c **** else
+ 778:stm32lib/src/stm32f10x_rcc.c **** {
+ 779:stm32lib/src/stm32f10x_rcc.c **** RCC->AHBENR &= ~RCC_AHBPeriph;
+ 711 .loc 1 779 0
+ 712 0230 024A ldr r2, .L105
+ 713 0232 5369 ldr r3, [r2, #20]
+ 714 0234 23EA0003 bic r3, r3, r0
+ 715 .L104:
+ 716 0238 5361 str r3, [r2, #20]
+ 780:stm32lib/src/stm32f10x_rcc.c **** }
+ 781:stm32lib/src/stm32f10x_rcc.c **** }
+ 717 .loc 1 781 0
+ 718 023a 7047 bx lr
+ 719 .L106:
+ 720 .align 2
+ 721 .L105:
+ 722 023c 00100240 .word 1073876992
+ 723 .LFE43:
+ 725 .align 2
+ 726 .global RCC_APB2PeriphClockCmd
+ 727 .thumb
+ 728 .thumb_func
+ 730 RCC_APB2PeriphClockCmd:
+ 731 .LFB44:
+ 782:stm32lib/src/stm32f10x_rcc.c ****
+ 783:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 784:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_APB2PeriphClockCmd
+ 785:stm32lib/src/stm32f10x_rcc.c **** * Description : Enables or disables the High Speed APB (APB2) peripheral clock.
+ 786:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_APB2Periph: specifies the APB2 peripheral to gates its
+ 787:stm32lib/src/stm32f10x_rcc.c **** * clock.
+ 788:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be any combination of the following values:
+ 789:stm32lib/src/stm32f10x_rcc.c **** * - RCC_APB2Periph_AFIO, RCC_APB2Periph_GPIOA, RCC_APB2Periph_GPIOB,
+ 790:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB2Periph_GPIOC, RCC_APB2Periph_GPIOD, RCC_APB2Periph_GPIOE,
+ 791:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB2Periph_GPIOF, RCC_APB2Periph_GPIOG, RCC_APB2Periph_ADC1,
+ 792:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB2Periph_ADC2, RCC_APB2Periph_TIM1, RCC_APB2Periph_SPI1,
+ 793:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB2Periph_TIM8, RCC_APB2Periph_USART1, RCC_APB2Periph_ADC3,
+ 794:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB2Periph_ALL
+ 795:stm32lib/src/stm32f10x_rcc.c **** * - NewState: new state of the specified peripheral clock.
+ 796:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be: ENABLE or DISABLE.
+ 797:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 798:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 799:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 800:stm32lib/src/stm32f10x_rcc.c **** void RCC_APB2PeriphClockCmd(u32 RCC_APB2Periph, FunctionalState NewState)
+ 801:stm32lib/src/stm32f10x_rcc.c **** {
+ 732 .loc 1 801 0
+ 733 @ args = 0, pretend = 0, frame = 0
+ 734 @ frame_needed = 0, uses_anonymous_args = 0
+ 735 @ link register save eliminated.
+ 736 .LVL46:
+ 802:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 803:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph));
+ 804:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
+ 805:stm32lib/src/stm32f10x_rcc.c ****
+ 806:stm32lib/src/stm32f10x_rcc.c **** if (NewState != DISABLE)
+ 737 .loc 1 806 0
+ 738 0240 21B1 cbz r1, .L108
+ 807:stm32lib/src/stm32f10x_rcc.c **** {
+ 808:stm32lib/src/stm32f10x_rcc.c **** RCC->APB2ENR |= RCC_APB2Periph;
+ 739 .loc 1 808 0
+ 740 0242 054A ldr r2, .L112
+ 741 0244 9369 ldr r3, [r2, #24]
+ 742 0246 40EA0303 orr r3, r0, r3
+ 743 024a 03E0 b .L111
+ 744 .L108:
+ 809:stm32lib/src/stm32f10x_rcc.c **** }
+ 810:stm32lib/src/stm32f10x_rcc.c **** else
+ 811:stm32lib/src/stm32f10x_rcc.c **** {
+ 812:stm32lib/src/stm32f10x_rcc.c **** RCC->APB2ENR &= ~RCC_APB2Periph;
+ 745 .loc 1 812 0
+ 746 024c 024A ldr r2, .L112
+ 747 024e 9369 ldr r3, [r2, #24]
+ 748 0250 23EA0003 bic r3, r3, r0
+ 749 .L111:
+ 750 0254 9361 str r3, [r2, #24]
+ 813:stm32lib/src/stm32f10x_rcc.c **** }
+ 814:stm32lib/src/stm32f10x_rcc.c **** }
+ 751 .loc 1 814 0
+ 752 0256 7047 bx lr
+ 753 .L113:
+ 754 .align 2
+ 755 .L112:
+ 756 0258 00100240 .word 1073876992
+ 757 .LFE44:
+ 759 .align 2
+ 760 .global RCC_APB1PeriphClockCmd
+ 761 .thumb
+ 762 .thumb_func
+ 764 RCC_APB1PeriphClockCmd:
+ 765 .LFB45:
+ 815:stm32lib/src/stm32f10x_rcc.c ****
+ 816:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 817:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_APB1PeriphClockCmd
+ 818:stm32lib/src/stm32f10x_rcc.c **** * Description : Enables or disables the Low Speed APB (APB1) peripheral clock.
+ 819:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_APB1Periph: specifies the APB1 peripheral to gates its
+ 820:stm32lib/src/stm32f10x_rcc.c **** * clock.
+ 821:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be any combination of the following values:
+ 822:stm32lib/src/stm32f10x_rcc.c **** * - RCC_APB1Periph_TIM2, RCC_APB1Periph_TIM3, RCC_APB1Periph_TIM4,
+ 823:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB1Periph_TIM5, RCC_APB1Periph_TIM6, RCC_APB1Periph_TIM7,
+ 824:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB1Periph_WWDG, RCC_APB1Periph_SPI2, RCC_APB1Periph_SPI3,
+ 825:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB1Periph_USART2, RCC_APB1Periph_USART3, RCC_APB1Periph_USART4,
+ 826:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB1Periph_USART5, RCC_APB1Periph_I2C1, RCC_APB1Periph_I2C2,
+ 827:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB1Periph_USB, RCC_APB1Periph_CAN, RCC_APB1Periph_BKP,
+ 828:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB1Periph_PWR, RCC_APB1Periph_DAC, RCC_APB1Periph_ALL
+ 829:stm32lib/src/stm32f10x_rcc.c **** * - NewState: new state of the specified peripheral clock.
+ 830:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be: ENABLE or DISABLE.
+ 831:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 832:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 833:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 834:stm32lib/src/stm32f10x_rcc.c **** void RCC_APB1PeriphClockCmd(u32 RCC_APB1Periph, FunctionalState NewState)
+ 835:stm32lib/src/stm32f10x_rcc.c **** {
+ 766 .loc 1 835 0
+ 767 @ args = 0, pretend = 0, frame = 0
+ 768 @ frame_needed = 0, uses_anonymous_args = 0
+ 769 @ link register save eliminated.
+ 770 .LVL47:
+ 836:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 837:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_APB1_PERIPH(RCC_APB1Periph));
+ 838:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
+ 839:stm32lib/src/stm32f10x_rcc.c ****
+ 840:stm32lib/src/stm32f10x_rcc.c **** if (NewState != DISABLE)
+ 771 .loc 1 840 0
+ 772 025c 21B1 cbz r1, .L115
+ 841:stm32lib/src/stm32f10x_rcc.c **** {
+ 842:stm32lib/src/stm32f10x_rcc.c **** RCC->APB1ENR |= RCC_APB1Periph;
+ 773 .loc 1 842 0
+ 774 025e 054A ldr r2, .L119
+ 775 0260 D369 ldr r3, [r2, #28]
+ 776 0262 40EA0303 orr r3, r0, r3
+ 777 0266 03E0 b .L118
+ 778 .L115:
+ 843:stm32lib/src/stm32f10x_rcc.c **** }
+ 844:stm32lib/src/stm32f10x_rcc.c **** else
+ 845:stm32lib/src/stm32f10x_rcc.c **** {
+ 846:stm32lib/src/stm32f10x_rcc.c **** RCC->APB1ENR &= ~RCC_APB1Periph;
+ 779 .loc 1 846 0
+ 780 0268 024A ldr r2, .L119
+ 781 026a D369 ldr r3, [r2, #28]
+ 782 026c 23EA0003 bic r3, r3, r0
+ 783 .L118:
+ 784 0270 D361 str r3, [r2, #28]
+ 847:stm32lib/src/stm32f10x_rcc.c **** }
+ 848:stm32lib/src/stm32f10x_rcc.c **** }
+ 785 .loc 1 848 0
+ 786 0272 7047 bx lr
+ 787 .L120:
+ 788 .align 2
+ 789 .L119:
+ 790 0274 00100240 .word 1073876992
+ 791 .LFE45:
+ 793 .align 2
+ 794 .global RCC_APB2PeriphResetCmd
+ 795 .thumb
+ 796 .thumb_func
+ 798 RCC_APB2PeriphResetCmd:
+ 799 .LFB46:
+ 849:stm32lib/src/stm32f10x_rcc.c ****
+ 850:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 851:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_APB2PeriphResetCmd
+ 852:stm32lib/src/stm32f10x_rcc.c **** * Description : Forces or releases High Speed APB (APB2) peripheral reset.
+ 853:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_APB2Periph: specifies the APB2 peripheral to reset.
+ 854:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be any combination of the following values:
+ 855:stm32lib/src/stm32f10x_rcc.c **** * - RCC_APB2Periph_AFIO, RCC_APB2Periph_GPIOA, RCC_APB2Periph_GPIOB,
+ 856:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB2Periph_GPIOC, RCC_APB2Periph_GPIOD, RCC_APB2Periph_GPIOE,
+ 857:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB2Periph_GPIOF, RCC_APB2Periph_GPIOG, RCC_APB2Periph_ADC1,
+ 858:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB2Periph_ADC2, RCC_APB2Periph_TIM1, RCC_APB2Periph_SPI1,
+ 859:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB2Periph_TIM8, RCC_APB2Periph_USART1, RCC_APB2Periph_ADC3,
+ 860:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB2Periph_ALL
+ 861:stm32lib/src/stm32f10x_rcc.c **** * - NewState: new state of the specified peripheral reset.
+ 862:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be: ENABLE or DISABLE.
+ 863:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 864:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 865:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 866:stm32lib/src/stm32f10x_rcc.c **** void RCC_APB2PeriphResetCmd(u32 RCC_APB2Periph, FunctionalState NewState)
+ 867:stm32lib/src/stm32f10x_rcc.c **** {
+ 800 .loc 1 867 0
+ 801 @ args = 0, pretend = 0, frame = 0
+ 802 @ frame_needed = 0, uses_anonymous_args = 0
+ 803 @ link register save eliminated.
+ 804 .LVL48:
+ 868:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 869:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph));
+ 870:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
+ 871:stm32lib/src/stm32f10x_rcc.c ****
+ 872:stm32lib/src/stm32f10x_rcc.c **** if (NewState != DISABLE)
+ 805 .loc 1 872 0
+ 806 0278 21B1 cbz r1, .L122
+ 873:stm32lib/src/stm32f10x_rcc.c **** {
+ 874:stm32lib/src/stm32f10x_rcc.c **** RCC->APB2RSTR |= RCC_APB2Periph;
+ 807 .loc 1 874 0
+ 808 027a 054A ldr r2, .L126
+ 809 027c D368 ldr r3, [r2, #12]
+ 810 027e 40EA0303 orr r3, r0, r3
+ 811 0282 03E0 b .L125
+ 812 .L122:
+ 875:stm32lib/src/stm32f10x_rcc.c **** }
+ 876:stm32lib/src/stm32f10x_rcc.c **** else
+ 877:stm32lib/src/stm32f10x_rcc.c **** {
+ 878:stm32lib/src/stm32f10x_rcc.c **** RCC->APB2RSTR &= ~RCC_APB2Periph;
+ 813 .loc 1 878 0
+ 814 0284 024A ldr r2, .L126
+ 815 0286 D368 ldr r3, [r2, #12]
+ 816 0288 23EA0003 bic r3, r3, r0
+ 817 .L125:
+ 818 028c D360 str r3, [r2, #12]
+ 879:stm32lib/src/stm32f10x_rcc.c **** }
+ 880:stm32lib/src/stm32f10x_rcc.c **** }
+ 819 .loc 1 880 0
+ 820 028e 7047 bx lr
+ 821 .L127:
+ 822 .align 2
+ 823 .L126:
+ 824 0290 00100240 .word 1073876992
+ 825 .LFE46:
+ 827 .align 2
+ 828 .global RCC_APB1PeriphResetCmd
+ 829 .thumb
+ 830 .thumb_func
+ 832 RCC_APB1PeriphResetCmd:
+ 833 .LFB47:
+ 881:stm32lib/src/stm32f10x_rcc.c ****
+ 882:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 883:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_APB1PeriphResetCmd
+ 884:stm32lib/src/stm32f10x_rcc.c **** * Description : Forces or releases Low Speed APB (APB1) peripheral reset.
+ 885:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_APB1Periph: specifies the APB1 peripheral to reset.
+ 886:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be any combination of the following values:
+ 887:stm32lib/src/stm32f10x_rcc.c **** * - RCC_APB1Periph_TIM2, RCC_APB1Periph_TIM3, RCC_APB1Periph_TIM4,
+ 888:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB1Periph_TIM5, RCC_APB1Periph_TIM6, RCC_APB1Periph_TIM7,
+ 889:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB1Periph_WWDG, RCC_APB1Periph_SPI2, RCC_APB1Periph_SPI3,
+ 890:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB1Periph_USART2, RCC_APB1Periph_USART3, RCC_APB1Periph_USART4,
+ 891:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB1Periph_USART5, RCC_APB1Periph_I2C1, RCC_APB1Periph_I2C2,
+ 892:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB1Periph_USB, RCC_APB1Periph_CAN, RCC_APB1Periph_BKP,
+ 893:stm32lib/src/stm32f10x_rcc.c **** * RCC_APB1Periph_PWR, RCC_APB1Periph_DAC, RCC_APB1Periph_ALL
+ 894:stm32lib/src/stm32f10x_rcc.c **** * - NewState: new state of the specified peripheral clock.
+ 895:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be: ENABLE or DISABLE.
+ 896:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 897:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 898:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 899:stm32lib/src/stm32f10x_rcc.c **** void RCC_APB1PeriphResetCmd(u32 RCC_APB1Periph, FunctionalState NewState)
+ 900:stm32lib/src/stm32f10x_rcc.c **** {
+ 834 .loc 1 900 0
+ 835 @ args = 0, pretend = 0, frame = 0
+ 836 @ frame_needed = 0, uses_anonymous_args = 0
+ 837 @ link register save eliminated.
+ 838 .LVL49:
+ 901:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 902:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_APB1_PERIPH(RCC_APB1Periph));
+ 903:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
+ 904:stm32lib/src/stm32f10x_rcc.c ****
+ 905:stm32lib/src/stm32f10x_rcc.c **** if (NewState != DISABLE)
+ 839 .loc 1 905 0
+ 840 0294 21B1 cbz r1, .L129
+ 906:stm32lib/src/stm32f10x_rcc.c **** {
+ 907:stm32lib/src/stm32f10x_rcc.c **** RCC->APB1RSTR |= RCC_APB1Periph;
+ 841 .loc 1 907 0
+ 842 0296 054A ldr r2, .L133
+ 843 0298 1369 ldr r3, [r2, #16]
+ 844 029a 40EA0303 orr r3, r0, r3
+ 845 029e 03E0 b .L132
+ 846 .L129:
+ 908:stm32lib/src/stm32f10x_rcc.c **** }
+ 909:stm32lib/src/stm32f10x_rcc.c **** else
+ 910:stm32lib/src/stm32f10x_rcc.c **** {
+ 911:stm32lib/src/stm32f10x_rcc.c **** RCC->APB1RSTR &= ~RCC_APB1Periph;
+ 847 .loc 1 911 0
+ 848 02a0 024A ldr r2, .L133
+ 849 02a2 1369 ldr r3, [r2, #16]
+ 850 02a4 23EA0003 bic r3, r3, r0
+ 851 .L132:
+ 852 02a8 1361 str r3, [r2, #16]
+ 912:stm32lib/src/stm32f10x_rcc.c **** }
+ 913:stm32lib/src/stm32f10x_rcc.c **** }
+ 853 .loc 1 913 0
+ 854 02aa 7047 bx lr
+ 855 .L134:
+ 856 .align 2
+ 857 .L133:
+ 858 02ac 00100240 .word 1073876992
+ 859 .LFE47:
+ 861 .align 2
+ 862 .global RCC_BackupResetCmd
+ 863 .thumb
+ 864 .thumb_func
+ 866 RCC_BackupResetCmd:
+ 867 .LFB48:
+ 914:stm32lib/src/stm32f10x_rcc.c ****
+ 915:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 916:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_BackupResetCmd
+ 917:stm32lib/src/stm32f10x_rcc.c **** * Description : Forces or releases the Backup domain reset.
+ 918:stm32lib/src/stm32f10x_rcc.c **** * Input : - NewState: new state of the Backup domain reset.
+ 919:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be: ENABLE or DISABLE.
+ 920:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 921:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 922:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 923:stm32lib/src/stm32f10x_rcc.c **** void RCC_BackupResetCmd(FunctionalState NewState)
+ 924:stm32lib/src/stm32f10x_rcc.c **** {
+ 868 .loc 1 924 0
+ 869 @ args = 0, pretend = 0, frame = 0
+ 870 @ frame_needed = 0, uses_anonymous_args = 0
+ 871 @ link register save eliminated.
+ 872 .LVL50:
+ 925:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 926:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
+ 927:stm32lib/src/stm32f10x_rcc.c ****
+ 928:stm32lib/src/stm32f10x_rcc.c **** *(vu32 *) BDCR_BDRST_BB = (u32)NewState;
+ 873 .loc 1 928 0
+ 874 02b0 014B ldr r3, .L137
+ 875 02b2 1860 str r0, [r3, #0]
+ 929:stm32lib/src/stm32f10x_rcc.c **** }
+ 876 .loc 1 929 0
+ 877 02b4 7047 bx lr
+ 878 .L138:
+ 879 02b6 00BF .align 2
+ 880 .L137:
+ 881 02b8 40044242 .word 1111622720
+ 882 .LFE48:
+ 884 .align 2
+ 885 .global RCC_ClockSecuritySystemCmd
+ 886 .thumb
+ 887 .thumb_func
+ 889 RCC_ClockSecuritySystemCmd:
+ 890 .LFB49:
+ 930:stm32lib/src/stm32f10x_rcc.c ****
+ 931:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 932:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_ClockSecuritySystemCmd
+ 933:stm32lib/src/stm32f10x_rcc.c **** * Description : Enables or disables the Clock Security System.
+ 934:stm32lib/src/stm32f10x_rcc.c **** * Input : - NewState: new state of the Clock Security System..
+ 935:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be: ENABLE or DISABLE.
+ 936:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 937:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 938:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 939:stm32lib/src/stm32f10x_rcc.c **** void RCC_ClockSecuritySystemCmd(FunctionalState NewState)
+ 940:stm32lib/src/stm32f10x_rcc.c **** {
+ 891 .loc 1 940 0
+ 892 @ args = 0, pretend = 0, frame = 0
+ 893 @ frame_needed = 0, uses_anonymous_args = 0
+ 894 @ link register save eliminated.
+ 895 .LVL51:
+ 941:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 942:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
+ 943:stm32lib/src/stm32f10x_rcc.c ****
+ 944:stm32lib/src/stm32f10x_rcc.c **** *(vu32 *) CR_CSSON_BB = (u32)NewState;
+ 896 .loc 1 944 0
+ 897 02bc 014B ldr r3, .L141
+ 898 02be 1860 str r0, [r3, #0]
+ 945:stm32lib/src/stm32f10x_rcc.c **** }
+ 899 .loc 1 945 0
+ 900 02c0 7047 bx lr
+ 901 .L142:
+ 902 02c2 00BF .align 2
+ 903 .L141:
+ 904 02c4 4C004242 .word 1111621708
+ 905 .LFE49:
+ 907 .align 2
+ 908 .global RCC_MCOConfig
+ 909 .thumb
+ 910 .thumb_func
+ 912 RCC_MCOConfig:
+ 913 .LFB50:
+ 946:stm32lib/src/stm32f10x_rcc.c ****
+ 947:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 948:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_MCOConfig
+ 949:stm32lib/src/stm32f10x_rcc.c **** * Description : Selects the clock source to output on MCO pin.
+ 950:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_MCO: specifies the clock source to output.
+ 951:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be one of the following values:
+ 952:stm32lib/src/stm32f10x_rcc.c **** * - RCC_MCO_NoClock: No clock selected
+ 953:stm32lib/src/stm32f10x_rcc.c **** * - RCC_MCO_SYSCLK: System clock selected
+ 954:stm32lib/src/stm32f10x_rcc.c **** * - RCC_MCO_HSI: HSI oscillator clock selected
+ 955:stm32lib/src/stm32f10x_rcc.c **** * - RCC_MCO_HSE: HSE oscillator clock selected
+ 956:stm32lib/src/stm32f10x_rcc.c **** * - RCC_MCO_PLLCLK_Div2: PLL clock divided by 2 selected
+ 957:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 958:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+ 959:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 960:stm32lib/src/stm32f10x_rcc.c **** void RCC_MCOConfig(u8 RCC_MCO)
+ 961:stm32lib/src/stm32f10x_rcc.c **** {
+ 914 .loc 1 961 0
+ 915 @ args = 0, pretend = 0, frame = 0
+ 916 @ frame_needed = 0, uses_anonymous_args = 0
+ 917 @ link register save eliminated.
+ 918 .LVL52:
+ 962:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 963:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_MCO(RCC_MCO));
+ 964:stm32lib/src/stm32f10x_rcc.c ****
+ 965:stm32lib/src/stm32f10x_rcc.c **** /* Perform Byte access to MCO[2:0] bits to select the MCO source */
+ 966:stm32lib/src/stm32f10x_rcc.c **** *(vu8 *) CFGR_BYTE4_ADDRESS = RCC_MCO;
+ 919 .loc 1 966 0
+ 920 02c8 014B ldr r3, .L145
+ 921 02ca 1870 strb r0, [r3, #0]
+ 967:stm32lib/src/stm32f10x_rcc.c **** }
+ 922 .loc 1 967 0
+ 923 02cc 7047 bx lr
+ 924 .L146:
+ 925 02ce 00BF .align 2
+ 926 .L145:
+ 927 02d0 07100240 .word 1073876999
+ 928 .LFE50:
+ 930 .align 2
+ 931 .global RCC_GetFlagStatus
+ 932 .thumb
+ 933 .thumb_func
+ 935 RCC_GetFlagStatus:
+ 936 .LFB51:
+ 968:stm32lib/src/stm32f10x_rcc.c ****
+ 969:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+ 970:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_GetFlagStatus
+ 971:stm32lib/src/stm32f10x_rcc.c **** * Description : Checks whether the specified RCC flag is set or not.
+ 972:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_FLAG: specifies the flag to check.
+ 973:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be one of the following values:
+ 974:stm32lib/src/stm32f10x_rcc.c **** * - RCC_FLAG_HSIRDY: HSI oscillator clock ready
+ 975:stm32lib/src/stm32f10x_rcc.c **** * - RCC_FLAG_HSERDY: HSE oscillator clock ready
+ 976:stm32lib/src/stm32f10x_rcc.c **** * - RCC_FLAG_PLLRDY: PLL clock ready
+ 977:stm32lib/src/stm32f10x_rcc.c **** * - RCC_FLAG_LSERDY: LSE oscillator clock ready
+ 978:stm32lib/src/stm32f10x_rcc.c **** * - RCC_FLAG_LSIRDY: LSI oscillator clock ready
+ 979:stm32lib/src/stm32f10x_rcc.c **** * - RCC_FLAG_PINRST: Pin reset
+ 980:stm32lib/src/stm32f10x_rcc.c **** * - RCC_FLAG_PORRST: POR/PDR reset
+ 981:stm32lib/src/stm32f10x_rcc.c **** * - RCC_FLAG_SFTRST: Software reset
+ 982:stm32lib/src/stm32f10x_rcc.c **** * - RCC_FLAG_IWDGRST: Independent Watchdog reset
+ 983:stm32lib/src/stm32f10x_rcc.c **** * - RCC_FLAG_WWDGRST: Window Watchdog reset
+ 984:stm32lib/src/stm32f10x_rcc.c **** * - RCC_FLAG_LPWRRST: Low Power reset
+ 985:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+ 986:stm32lib/src/stm32f10x_rcc.c **** * Return : The new state of RCC_FLAG (SET or RESET).
+ 987:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+ 988:stm32lib/src/stm32f10x_rcc.c **** FlagStatus RCC_GetFlagStatus(u8 RCC_FLAG)
+ 989:stm32lib/src/stm32f10x_rcc.c **** {
+ 937 .loc 1 989 0
+ 938 @ args = 0, pretend = 0, frame = 0
+ 939 @ frame_needed = 0, uses_anonymous_args = 0
+ 940 @ link register save eliminated.
+ 941 .LVL53:
+ 990:stm32lib/src/stm32f10x_rcc.c **** u32 tmp = 0;
+ 991:stm32lib/src/stm32f10x_rcc.c **** u32 statusreg = 0;
+ 992:stm32lib/src/stm32f10x_rcc.c **** FlagStatus bitstatus = RESET;
+ 993:stm32lib/src/stm32f10x_rcc.c ****
+ 994:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+ 995:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_FLAG(RCC_FLAG));
+ 996:stm32lib/src/stm32f10x_rcc.c ****
+ 997:stm32lib/src/stm32f10x_rcc.c **** /* Get the RCC register index */
+ 998:stm32lib/src/stm32f10x_rcc.c **** tmp = RCC_FLAG >> 5;
+ 942 .loc 1 998 0
+ 943 02d4 4309 lsrs r3, r0, #5
+ 944 .LVL54:
+ 999:stm32lib/src/stm32f10x_rcc.c ****
+1000:stm32lib/src/stm32f10x_rcc.c **** if (tmp == 1) /* The flag to check is in CR register */
+ 945 .loc 1 1000 0
+ 946 02d6 012B cmp r3, #1
+ 947 02d8 02D1 bne .L148
+1001:stm32lib/src/stm32f10x_rcc.c **** {
+1002:stm32lib/src/stm32f10x_rcc.c **** statusreg = RCC->CR;
+ 948 .loc 1 1002 0
+ 949 02da 084B ldr r3, .L152
+ 950 .LVL55:
+ 951 02dc 1B68 ldr r3, [r3, #0]
+ 952 .LVL56:
+ 953 02de 05E0 b .L149
+ 954 .LVL57:
+ 955 .L148:
+1003:stm32lib/src/stm32f10x_rcc.c **** }
+1004:stm32lib/src/stm32f10x_rcc.c **** else if (tmp == 2) /* The flag to check is in BDCR register */
+ 956 .loc 1 1004 0
+ 957 02e0 022B cmp r3, #2
+1005:stm32lib/src/stm32f10x_rcc.c **** {
+1006:stm32lib/src/stm32f10x_rcc.c **** statusreg = RCC->BDCR;
+ 958 .loc 1 1006 0
+ 959 02e2 0BBF itete eq
+ 960 02e4 054B ldreq r3, .L152
+ 961 .LVL58:
+1007:stm32lib/src/stm32f10x_rcc.c **** }
+1008:stm32lib/src/stm32f10x_rcc.c **** else /* The flag to check is in CSR register */
+1009:stm32lib/src/stm32f10x_rcc.c **** {
+1010:stm32lib/src/stm32f10x_rcc.c **** statusreg = RCC->CSR;
+ 962 .loc 1 1010 0
+ 963 02e6 054B ldrne r3, .L152
+ 964 .loc 1 1006 0
+ 965 02e8 1B6A ldreq r3, [r3, #32]
+ 966 .LVL59:
+ 967 .loc 1 1010 0
+ 968 02ea 5B6A ldrne r3, [r3, #36]
+ 969 .LVL60:
+ 970 .L149:
+ 971 02ec 00F01F00 and r0, r0, #31
+ 972 .LVL61:
+ 973 02f0 33FA00F0 lsrs r0, r3, r0
+1011:stm32lib/src/stm32f10x_rcc.c **** }
+1012:stm32lib/src/stm32f10x_rcc.c ****
+1013:stm32lib/src/stm32f10x_rcc.c **** /* Get the flag position */
+1014:stm32lib/src/stm32f10x_rcc.c **** tmp = RCC_FLAG & FLAG_Mask;
+1015:stm32lib/src/stm32f10x_rcc.c ****
+1016:stm32lib/src/stm32f10x_rcc.c **** if ((statusreg & ((u32)1 << tmp)) != (u32)RESET)
+1017:stm32lib/src/stm32f10x_rcc.c **** {
+1018:stm32lib/src/stm32f10x_rcc.c **** bitstatus = SET;
+1019:stm32lib/src/stm32f10x_rcc.c **** }
+1020:stm32lib/src/stm32f10x_rcc.c **** else
+1021:stm32lib/src/stm32f10x_rcc.c **** {
+1022:stm32lib/src/stm32f10x_rcc.c **** bitstatus = RESET;
+1023:stm32lib/src/stm32f10x_rcc.c **** }
+1024:stm32lib/src/stm32f10x_rcc.c ****
+1025:stm32lib/src/stm32f10x_rcc.c **** /* Return the flag status */
+1026:stm32lib/src/stm32f10x_rcc.c **** return bitstatus;
+1027:stm32lib/src/stm32f10x_rcc.c **** }
+ 974 .loc 1 1027 0
+ 975 02f4 00F00100 and r0, r0, #1
+ 976 02f8 7047 bx lr
+ 977 .L153:
+ 978 02fa 00BF .align 2
+ 979 .L152:
+ 980 02fc 00100240 .word 1073876992
+ 981 .LFE51:
+ 983 .align 2
+ 984 .global RCC_WaitForHSEStartUp
+ 985 .thumb
+ 986 .thumb_func
+ 988 RCC_WaitForHSEStartUp:
+ 989 .LFB25:
+ 990 .loc 1 200 0
+ 991 @ args = 0, pretend = 0, frame = 0
+ 992 @ frame_needed = 0, uses_anonymous_args = 0
+ 993 0300 10B5 push {r4, lr}
+ 994 .LCFI1:
+ 995 .L156:
+ 996 .loc 1 206 0
+ 997 0302 3120 movs r0, #49
+ 998 0304 FFF7FEFF bl RCC_GetFlagStatus
+ 999 0308 094A ldr r2, .L158
+ 1000 030a 1070 strb r0, [r2, #0]
+ 1001 .loc 1 207 0
+ 1002 030c 5368 ldr r3, [r2, #4]
+ 1003 030e 0133 adds r3, r3, #1
+ 1004 0310 5360 str r3, [r2, #4]
+ 1005 .loc 1 208 0
+ 1006 0312 1378 ldrb r3, [r2, #0] @ zero_extendqisi2
+ 1007 0314 23B9 cbnz r3, .L155
+ 1008 0316 5268 ldr r2, [r2, #4]
+ 1009 0318 40F2FF13 movw r3, #511
+ 1010 031c 9A42 cmp r2, r3
+ 1011 031e F0D1 bne .L156
+ 1012 .L155:
+ 1013 .loc 1 211 0
+ 1014 0320 3120 movs r0, #49
+ 1015 0322 FFF7FEFF bl RCC_GetFlagStatus
+ 1016 .loc 1 221 0
+ 1017 0326 0038 subs r0, r0, #0
+ 1018 0328 18BF it ne
+ 1019 032a 0120 movne r0, #1
+ 1020 032c 10BD pop {r4, pc}
+ 1021 .L159:
+ 1022 032e 00BF .align 2
+ 1023 .L158:
+ 1024 0330 00000000 .word .LANCHOR1
+ 1025 .LFE25:
+ 1027 .align 2
+ 1028 .global RCC_ClearFlag
+ 1029 .thumb
+ 1030 .thumb_func
+ 1032 RCC_ClearFlag:
+ 1033 .LFB52:
+1028:stm32lib/src/stm32f10x_rcc.c ****
+1029:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+1030:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_ClearFlag
+1031:stm32lib/src/stm32f10x_rcc.c **** * Description : Clears the RCC reset flags.
+1032:stm32lib/src/stm32f10x_rcc.c **** * The reset flags are: RCC_FLAG_PINRST, RCC_FLAG_PORRST,
+1033:stm32lib/src/stm32f10x_rcc.c **** * RCC_FLAG_SFTRST, RCC_FLAG_IWDGRST, RCC_FLAG_WWDGRST,
+1034:stm32lib/src/stm32f10x_rcc.c **** * RCC_FLAG_LPWRRST
+1035:stm32lib/src/stm32f10x_rcc.c **** * Input : None
+1036:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+1037:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+1038:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+1039:stm32lib/src/stm32f10x_rcc.c **** void RCC_ClearFlag(void)
+1040:stm32lib/src/stm32f10x_rcc.c **** {
+ 1034 .loc 1 1040 0
+ 1035 @ args = 0, pretend = 0, frame = 0
+ 1036 @ frame_needed = 0, uses_anonymous_args = 0
+ 1037 @ link register save eliminated.
+1041:stm32lib/src/stm32f10x_rcc.c **** /* Set RMVF bit to clear the reset flags */
+1042:stm32lib/src/stm32f10x_rcc.c **** RCC->CSR |= CSR_RMVF_Set;
+ 1038 .loc 1 1042 0
+ 1039 0334 024A ldr r2, .L162
+ 1040 0336 536A ldr r3, [r2, #36]
+ 1041 0338 43F08073 orr r3, r3, #16777216
+ 1042 033c 5362 str r3, [r2, #36]
+1043:stm32lib/src/stm32f10x_rcc.c **** }
+ 1043 .loc 1 1043 0
+ 1044 033e 7047 bx lr
+ 1045 .L163:
+ 1046 .align 2
+ 1047 .L162:
+ 1048 0340 00100240 .word 1073876992
+ 1049 .LFE52:
+ 1051 .align 2
+ 1052 .global RCC_GetITStatus
+ 1053 .thumb
+ 1054 .thumb_func
+ 1056 RCC_GetITStatus:
+ 1057 .LFB53:
+1044:stm32lib/src/stm32f10x_rcc.c ****
+1045:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+1046:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_GetITStatus
+1047:stm32lib/src/stm32f10x_rcc.c **** * Description : Checks whether the specified RCC interrupt has occurred or not.
+1048:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_IT: specifies the RCC interrupt source to check.
+1049:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be one of the following values:
+1050:stm32lib/src/stm32f10x_rcc.c **** * - RCC_IT_LSIRDY: LSI ready interrupt
+1051:stm32lib/src/stm32f10x_rcc.c **** * - RCC_IT_LSERDY: LSE ready interrupt
+1052:stm32lib/src/stm32f10x_rcc.c **** * - RCC_IT_HSIRDY: HSI ready interrupt
+1053:stm32lib/src/stm32f10x_rcc.c **** * - RCC_IT_HSERDY: HSE ready interrupt
+1054:stm32lib/src/stm32f10x_rcc.c **** * - RCC_IT_PLLRDY: PLL ready interrupt
+1055:stm32lib/src/stm32f10x_rcc.c **** * - RCC_IT_CSS: Clock Security System interrupt
+1056:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+1057:stm32lib/src/stm32f10x_rcc.c **** * Return : The new state of RCC_IT (SET or RESET).
+1058:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+1059:stm32lib/src/stm32f10x_rcc.c **** ITStatus RCC_GetITStatus(u8 RCC_IT)
+1060:stm32lib/src/stm32f10x_rcc.c **** {
+ 1058 .loc 1 1060 0
+ 1059 @ args = 0, pretend = 0, frame = 0
+ 1060 @ frame_needed = 0, uses_anonymous_args = 0
+ 1061 @ link register save eliminated.
+ 1062 .LVL62:
+1061:stm32lib/src/stm32f10x_rcc.c **** ITStatus bitstatus = RESET;
+1062:stm32lib/src/stm32f10x_rcc.c ****
+1063:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+1064:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_GET_IT(RCC_IT));
+1065:stm32lib/src/stm32f10x_rcc.c ****
+1066:stm32lib/src/stm32f10x_rcc.c **** /* Check the status of the specified RCC interrupt */
+1067:stm32lib/src/stm32f10x_rcc.c **** if ((RCC->CIR & RCC_IT) != (u32)RESET)
+ 1063 .loc 1 1067 0
+ 1064 0344 034B ldr r3, .L166
+ 1065 0346 9B68 ldr r3, [r3, #8]
+ 1066 0348 1842 tst r0, r3
+1068:stm32lib/src/stm32f10x_rcc.c **** {
+1069:stm32lib/src/stm32f10x_rcc.c **** bitstatus = SET;
+1070:stm32lib/src/stm32f10x_rcc.c **** }
+1071:stm32lib/src/stm32f10x_rcc.c **** else
+1072:stm32lib/src/stm32f10x_rcc.c **** {
+1073:stm32lib/src/stm32f10x_rcc.c **** bitstatus = RESET;
+1074:stm32lib/src/stm32f10x_rcc.c **** }
+1075:stm32lib/src/stm32f10x_rcc.c ****
+1076:stm32lib/src/stm32f10x_rcc.c **** /* Return the RCC_IT status */
+1077:stm32lib/src/stm32f10x_rcc.c **** return bitstatus;
+1078:stm32lib/src/stm32f10x_rcc.c **** }
+ 1067 .loc 1 1078 0
+ 1068 034a 0CBF ite eq
+ 1069 034c 0020 moveq r0, #0
+ 1070 034e 0120 movne r0, #1
+ 1071 .LVL63:
+ 1072 0350 7047 bx lr
+ 1073 .L167:
+ 1074 0352 00BF .align 2
+ 1075 .L166:
+ 1076 0354 00100240 .word 1073876992
+ 1077 .LFE53:
+ 1079 .align 2
+ 1080 .global RCC_ClearITPendingBit
+ 1081 .thumb
+ 1082 .thumb_func
+ 1084 RCC_ClearITPendingBit:
+ 1085 .LFB54:
+1079:stm32lib/src/stm32f10x_rcc.c ****
+1080:stm32lib/src/stm32f10x_rcc.c **** /*******************************************************************************
+1081:stm32lib/src/stm32f10x_rcc.c **** * Function Name : RCC_ClearITPendingBit
+1082:stm32lib/src/stm32f10x_rcc.c **** * Description : Clears the RCC’s interrupt pending bits.
+1083:stm32lib/src/stm32f10x_rcc.c **** * Input : - RCC_IT: specifies the interrupt pending bit to clear.
+1084:stm32lib/src/stm32f10x_rcc.c **** * This parameter can be any combination of the following values:
+1085:stm32lib/src/stm32f10x_rcc.c **** * - RCC_IT_LSIRDY: LSI ready interrupt
+1086:stm32lib/src/stm32f10x_rcc.c **** * - RCC_IT_LSERDY: LSE ready interrupt
+1087:stm32lib/src/stm32f10x_rcc.c **** * - RCC_IT_HSIRDY: HSI ready interrupt
+1088:stm32lib/src/stm32f10x_rcc.c **** * - RCC_IT_HSERDY: HSE ready interrupt
+1089:stm32lib/src/stm32f10x_rcc.c **** * - RCC_IT_PLLRDY: PLL ready interrupt
+1090:stm32lib/src/stm32f10x_rcc.c **** * - RCC_IT_CSS: Clock Security System interrupt
+1091:stm32lib/src/stm32f10x_rcc.c **** * Output : None
+1092:stm32lib/src/stm32f10x_rcc.c **** * Return : None
+1093:stm32lib/src/stm32f10x_rcc.c **** *******************************************************************************/
+1094:stm32lib/src/stm32f10x_rcc.c **** void RCC_ClearITPendingBit(u8 RCC_IT)
+1095:stm32lib/src/stm32f10x_rcc.c **** {
+ 1086 .loc 1 1095 0
+ 1087 @ args = 0, pretend = 0, frame = 0
+ 1088 @ frame_needed = 0, uses_anonymous_args = 0
+ 1089 @ link register save eliminated.
+ 1090 .LVL64:
+1096:stm32lib/src/stm32f10x_rcc.c **** /* Check the parameters */
+1097:stm32lib/src/stm32f10x_rcc.c **** assert_param(IS_RCC_CLEAR_IT(RCC_IT));
+1098:stm32lib/src/stm32f10x_rcc.c ****
+1099:stm32lib/src/stm32f10x_rcc.c **** /* Perform Byte access to RCC_CIR[23:16] bits to clear the selected interrupt
+1100:stm32lib/src/stm32f10x_rcc.c **** pending bits */
+1101:stm32lib/src/stm32f10x_rcc.c **** *(vu8 *) CIR_BYTE3_ADDRESS = RCC_IT;
+ 1091 .loc 1 1101 0
+ 1092 0358 014B ldr r3, .L170
+ 1093 035a 1870 strb r0, [r3, #0]
+1102:stm32lib/src/stm32f10x_rcc.c **** }
+ 1094 .loc 1 1102 0
+ 1095 035c 7047 bx lr
+ 1096 .L171:
+ 1097 035e 00BF .align 2
+ 1098 .L170:
+ 1099 0360 0A100240 .word 1073877002
+ 1100 .LFE54:
+ 1102 .section .rodata
+ 1103 .set .LANCHOR0,. + 0
+ 1106 APBAHBPrescTable:
+ 1107 0000 00 .byte 0
+ 1108 0001 00 .byte 0
+ 1109 0002 00 .byte 0
+ 1110 0003 00 .byte 0
+ 1111 0004 01 .byte 1
+ 1112 0005 02 .byte 2
+ 1113 0006 03 .byte 3
+ 1114 0007 04 .byte 4
+ 1115 0008 01 .byte 1
+ 1116 0009 02 .byte 2
+ 1117 000a 03 .byte 3
+ 1118 000b 04 .byte 4
+ 1119 000c 06 .byte 6
+ 1120 000d 07 .byte 7
+ 1121 000e 08 .byte 8
+ 1122 000f 09 .byte 9
+ 1125 ADCPrescTable:
+ 1126 0010 02 .byte 2
+ 1127 0011 04 .byte 4
+ 1128 0012 06 .byte 6
+ 1129 0013 08 .byte 8
+ 1130 .bss
+ 1131 .align 2
+ 1132 .set .LANCHOR1,. + 0
+ 1135 HSEStatus:
+ 1136 0000 00 .space 1
+ 1137 0001 000000 .space 3
+ 1140 StartUpCounter:
+ 1141 0004 00000000 .space 4
+ 1430 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:00000000 stm32f10x_rcc.c
+ /tmp/cck1KuUa.s:22 .text:00000000 $t
+ /tmp/cck1KuUa.s:27 .text:00000000 RCC_DeInit
+ /tmp/cck1KuUa.s:65 .text:00000038 $d
+ /tmp/cck1KuUa.s:69 .text:00000040 $t
+ /tmp/cck1KuUa.s:74 .text:00000040 RCC_HSEConfig
+ /tmp/cck1KuUa.s:115 .text:00000074 $d
+ /tmp/cck1KuUa.s:118 .text:00000078 $t
+ /tmp/cck1KuUa.s:123 .text:00000078 RCC_AdjustHSICalibrationValue
+ /tmp/cck1KuUa.s:147 .text:00000088 $d
+ /tmp/cck1KuUa.s:150 .text:0000008c $t
+ /tmp/cck1KuUa.s:155 .text:0000008c RCC_HSICmd
+ /tmp/cck1KuUa.s:170 .text:00000094 $d
+ /tmp/cck1KuUa.s:173 .text:00000098 $t
+ /tmp/cck1KuUa.s:178 .text:00000098 RCC_PLLConfig
+ /tmp/cck1KuUa.s:203 .text:000000a8 $d
+ /tmp/cck1KuUa.s:206 .text:000000ac $t
+ /tmp/cck1KuUa.s:211 .text:000000ac RCC_PLLCmd
+ /tmp/cck1KuUa.s:226 .text:000000b4 $d
+ /tmp/cck1KuUa.s:229 .text:000000b8 $t
+ /tmp/cck1KuUa.s:234 .text:000000b8 RCC_SYSCLKConfig
+ /tmp/cck1KuUa.s:258 .text:000000c8 $d
+ /tmp/cck1KuUa.s:261 .text:000000cc $t
+ /tmp/cck1KuUa.s:266 .text:000000cc RCC_GetSYSCLKSource
+ /tmp/cck1KuUa.s:281 .text:000000d8 $d
+ /tmp/cck1KuUa.s:284 .text:000000dc $t
+ /tmp/cck1KuUa.s:289 .text:000000dc RCC_HCLKConfig
+ /tmp/cck1KuUa.s:313 .text:000000ec $d
+ /tmp/cck1KuUa.s:316 .text:000000f0 $t
+ /tmp/cck1KuUa.s:321 .text:000000f0 RCC_PCLK1Config
+ /tmp/cck1KuUa.s:345 .text:00000100 $d
+ /tmp/cck1KuUa.s:348 .text:00000104 $t
+ /tmp/cck1KuUa.s:353 .text:00000104 RCC_PCLK2Config
+ /tmp/cck1KuUa.s:377 .text:00000114 $d
+ /tmp/cck1KuUa.s:380 .text:00000118 $t
+ /tmp/cck1KuUa.s:385 .text:00000118 RCC_ITConfig
+ /tmp/cck1KuUa.s:411 .text:00000130 $d
+ /tmp/cck1KuUa.s:414 .text:00000134 $t
+ /tmp/cck1KuUa.s:419 .text:00000134 RCC_USBCLKConfig
+ /tmp/cck1KuUa.s:434 .text:0000013c $d
+ /tmp/cck1KuUa.s:437 .text:00000140 $t
+ /tmp/cck1KuUa.s:442 .text:00000140 RCC_ADCCLKConfig
+ /tmp/cck1KuUa.s:466 .text:00000150 $d
+ /tmp/cck1KuUa.s:469 .text:00000154 $t
+ /tmp/cck1KuUa.s:474 .text:00000154 RCC_LSEConfig
+ /tmp/cck1KuUa.s:509 .text:00000170 $d
+ /tmp/cck1KuUa.s:512 .text:00000174 $t
+ /tmp/cck1KuUa.s:517 .text:00000174 RCC_LSICmd
+ /tmp/cck1KuUa.s:532 .text:0000017c $d
+ /tmp/cck1KuUa.s:535 .text:00000180 $t
+ /tmp/cck1KuUa.s:540 .text:00000180 RCC_RTCCLKConfig
+ /tmp/cck1KuUa.s:558 .text:0000018c $d
+ /tmp/cck1KuUa.s:561 .text:00000190 $t
+ /tmp/cck1KuUa.s:566 .text:00000190 RCC_RTCCLKCmd
+ /tmp/cck1KuUa.s:581 .text:00000198 $d
+ /tmp/cck1KuUa.s:584 .text:0000019c $t
+ /tmp/cck1KuUa.s:589 .text:0000019c RCC_GetClocksFreq
+ /tmp/cck1KuUa.s:685 .text:00000214 $d
+ /tmp/cck1KuUa.s:691 .text:00000224 $t
+ /tmp/cck1KuUa.s:696 .text:00000224 RCC_AHBPeriphClockCmd
+ /tmp/cck1KuUa.s:722 .text:0000023c $d
+ /tmp/cck1KuUa.s:725 .text:00000240 $t
+ /tmp/cck1KuUa.s:730 .text:00000240 RCC_APB2PeriphClockCmd
+ /tmp/cck1KuUa.s:756 .text:00000258 $d
+ /tmp/cck1KuUa.s:759 .text:0000025c $t
+ /tmp/cck1KuUa.s:764 .text:0000025c RCC_APB1PeriphClockCmd
+ /tmp/cck1KuUa.s:790 .text:00000274 $d
+ /tmp/cck1KuUa.s:793 .text:00000278 $t
+ /tmp/cck1KuUa.s:798 .text:00000278 RCC_APB2PeriphResetCmd
+ /tmp/cck1KuUa.s:824 .text:00000290 $d
+ /tmp/cck1KuUa.s:827 .text:00000294 $t
+ /tmp/cck1KuUa.s:832 .text:00000294 RCC_APB1PeriphResetCmd
+ /tmp/cck1KuUa.s:858 .text:000002ac $d
+ /tmp/cck1KuUa.s:861 .text:000002b0 $t
+ /tmp/cck1KuUa.s:866 .text:000002b0 RCC_BackupResetCmd
+ /tmp/cck1KuUa.s:881 .text:000002b8 $d
+ /tmp/cck1KuUa.s:884 .text:000002bc $t
+ /tmp/cck1KuUa.s:889 .text:000002bc RCC_ClockSecuritySystemCmd
+ /tmp/cck1KuUa.s:904 .text:000002c4 $d
+ /tmp/cck1KuUa.s:907 .text:000002c8 $t
+ /tmp/cck1KuUa.s:912 .text:000002c8 RCC_MCOConfig
+ /tmp/cck1KuUa.s:927 .text:000002d0 $d
+ /tmp/cck1KuUa.s:930 .text:000002d4 $t
+ /tmp/cck1KuUa.s:935 .text:000002d4 RCC_GetFlagStatus
+ /tmp/cck1KuUa.s:980 .text:000002fc $d
+ /tmp/cck1KuUa.s:983 .text:00000300 $t
+ /tmp/cck1KuUa.s:988 .text:00000300 RCC_WaitForHSEStartUp
+ /tmp/cck1KuUa.s:1024 .text:00000330 $d
+ /tmp/cck1KuUa.s:1027 .text:00000334 $t
+ /tmp/cck1KuUa.s:1032 .text:00000334 RCC_ClearFlag
+ /tmp/cck1KuUa.s:1048 .text:00000340 $d
+ /tmp/cck1KuUa.s:1051 .text:00000344 $t
+ /tmp/cck1KuUa.s:1056 .text:00000344 RCC_GetITStatus
+ /tmp/cck1KuUa.s:1076 .text:00000354 $d
+ /tmp/cck1KuUa.s:1079 .text:00000358 $t
+ /tmp/cck1KuUa.s:1084 .text:00000358 RCC_ClearITPendingBit
+ /tmp/cck1KuUa.s:1099 .text:00000360 $d
+ /tmp/cck1KuUa.s:1106 .rodata:00000000 APBAHBPrescTable
+ /tmp/cck1KuUa.s:1107 .rodata:00000000 $d
+ /tmp/cck1KuUa.s:1125 .rodata:00000010 ADCPrescTable
+ /tmp/cck1KuUa.s:1131 .bss:00000000 $d
+ /tmp/cck1KuUa.s:1135 .bss:00000000 HSEStatus
+ /tmp/cck1KuUa.s:1140 .bss:00000004 StartUpCounter
+
+NO UNDEFINED SYMBOLS