1863 lines
123 KiB
Plaintext
1863 lines
123 KiB
Plaintext
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, 1
|
|
11 .eabi_attribute 34, 1
|
|
12 .eabi_attribute 18, 4
|
|
13 .thumb
|
|
14 .file "stm32f10x_spi.c"
|
|
15 .text
|
|
16 .Ltext0:
|
|
17 .cfi_sections .debug_frame
|
|
18 .section .text.SPI_I2S_DeInit,"ax",%progbits
|
|
19 .align 2
|
|
20 .global SPI_I2S_DeInit
|
|
21 .thumb
|
|
22 .thumb_func
|
|
24 SPI_I2S_DeInit:
|
|
25 .LFB29:
|
|
26 .file 1 "./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c"
|
|
1:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
2:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** ******************************************************************************
|
|
3:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @file stm32f10x_spi.c
|
|
4:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @author MCD Application Team
|
|
5:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @version V3.5.0
|
|
6:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @date 11-March-2011
|
|
7:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief This file provides all the SPI firmware functions.
|
|
8:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** ******************************************************************************
|
|
9:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @attention
|
|
10:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** *
|
|
11:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
|
12:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
|
|
13:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
|
|
14:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
|
|
15:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
|
|
16:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
|
17:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** *
|
|
18:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * <h2><center>© COPYRIGHT 2011 STMicroelectronics</center></h2>
|
|
19:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** ******************************************************************************
|
|
20:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
21:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
22:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Includes ------------------------------------------------------------------*/
|
|
23:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #include "stm32f10x_spi.h"
|
|
24:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #include "stm32f10x_rcc.h"
|
|
25:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
26:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /** @addtogroup STM32F10x_StdPeriph_Driver
|
|
27:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @{
|
|
28:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
29:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
30:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /** @defgroup SPI
|
|
31:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief SPI driver modules
|
|
32:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @{
|
|
33:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
34:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
35:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /** @defgroup SPI_Private_TypesDefinitions
|
|
36:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @{
|
|
37:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
38:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
39:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
40:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @}
|
|
41:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
42:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
43:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
44:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /** @defgroup SPI_Private_Defines
|
|
45:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @{
|
|
46:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
47:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
48:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* SPI SPE mask */
|
|
49:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #define CR1_SPE_Set ((uint16_t)0x0040)
|
|
50:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #define CR1_SPE_Reset ((uint16_t)0xFFBF)
|
|
51:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
52:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* I2S I2SE mask */
|
|
53:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #define I2SCFGR_I2SE_Set ((uint16_t)0x0400)
|
|
54:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #define I2SCFGR_I2SE_Reset ((uint16_t)0xFBFF)
|
|
55:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
56:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* SPI CRCNext mask */
|
|
57:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #define CR1_CRCNext_Set ((uint16_t)0x1000)
|
|
58:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
59:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* SPI CRCEN mask */
|
|
60:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #define CR1_CRCEN_Set ((uint16_t)0x2000)
|
|
61:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #define CR1_CRCEN_Reset ((uint16_t)0xDFFF)
|
|
62:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
63:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* SPI SSOE mask */
|
|
64:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #define CR2_SSOE_Set ((uint16_t)0x0004)
|
|
65:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #define CR2_SSOE_Reset ((uint16_t)0xFFFB)
|
|
66:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
67:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* SPI registers Masks */
|
|
68:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #define CR1_CLEAR_Mask ((uint16_t)0x3040)
|
|
69:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #define I2SCFGR_CLEAR_Mask ((uint16_t)0xF040)
|
|
70:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
71:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* SPI or I2S mode selection masks */
|
|
72:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #define SPI_Mode_Select ((uint16_t)0xF7FF)
|
|
73:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #define I2S_Mode_Select ((uint16_t)0x0800)
|
|
74:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
75:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* I2S clock source selection masks */
|
|
76:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #define I2S2_CLOCK_SRC ((uint32_t)(0x00020000))
|
|
77:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #define I2S3_CLOCK_SRC ((uint32_t)(0x00040000))
|
|
78:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #define I2S_MUL_MASK ((uint32_t)(0x0000F000))
|
|
79:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #define I2S_DIV_MASK ((uint32_t)(0x000000F0))
|
|
80:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
81:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
82:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @}
|
|
83:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
84:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
85:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /** @defgroup SPI_Private_Macros
|
|
86:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @{
|
|
87:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
88:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
89:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
90:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @}
|
|
91:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
92:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
93:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /** @defgroup SPI_Private_Variables
|
|
94:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @{
|
|
95:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
96:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
97:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
98:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @}
|
|
99:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
100:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
101:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /** @defgroup SPI_Private_FunctionPrototypes
|
|
102:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @{
|
|
103:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
104:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
105:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
106:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @}
|
|
107:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
108:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
109:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /** @defgroup SPI_Private_Functions
|
|
110:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @{
|
|
111:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
112:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
113:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
114:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Deinitializes the SPIx peripheral registers to their default
|
|
115:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * reset values (Affects also the I2Ss).
|
|
116:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral.
|
|
117:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval None
|
|
118:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
119:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void SPI_I2S_DeInit(SPI_TypeDef* SPIx)
|
|
120:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
27 .loc 1 120 0
|
|
28 .cfi_startproc
|
|
29 @ args = 0, pretend = 0, frame = 0
|
|
30 @ frame_needed = 0, uses_anonymous_args = 0
|
|
31 .LVL0:
|
|
32 0000 08B5 push {r3, lr}
|
|
33 .cfi_def_cfa_offset 8
|
|
34 .cfi_offset 3, -8
|
|
35 .cfi_offset 14, -4
|
|
121:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
|
|
122:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
|
|
123:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
124:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if (SPIx == SPI1)
|
|
36 .loc 1 124 0
|
|
37 0002 154B ldr r3, .L6
|
|
38 0004 9842 cmp r0, r3
|
|
39 0006 0AD1 bne .L2
|
|
125:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
126:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Enable SPI1 reset state */
|
|
127:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** RCC_APB2PeriphResetCmd(RCC_APB2Periph_SPI1, ENABLE);
|
|
40 .loc 1 127 0
|
|
41 0008 4FF48050 mov r0, #4096
|
|
42 .LVL1:
|
|
43 000c 0121 movs r1, #1
|
|
44 000e FFF7FEFF bl RCC_APB2PeriphResetCmd
|
|
45 .LVL2:
|
|
128:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Release SPI1 from reset state */
|
|
129:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** RCC_APB2PeriphResetCmd(RCC_APB2Periph_SPI1, DISABLE);
|
|
46 .loc 1 129 0
|
|
47 0012 4FF48050 mov r0, #4096
|
|
48 0016 0021 movs r1, #0
|
|
49 0018 FFF7FEFF bl RCC_APB2PeriphResetCmd
|
|
50 .LVL3:
|
|
51 001c 08BD pop {r3, pc}
|
|
52 .LVL4:
|
|
53 .L2:
|
|
130:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
131:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else if (SPIx == SPI2)
|
|
54 .loc 1 131 0
|
|
55 001e 0F4B ldr r3, .L6+4
|
|
56 0020 9842 cmp r0, r3
|
|
57 0022 0AD1 bne .L4
|
|
132:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
133:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Enable SPI2 reset state */
|
|
134:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** RCC_APB1PeriphResetCmd(RCC_APB1Periph_SPI2, ENABLE);
|
|
58 .loc 1 134 0
|
|
59 0024 4FF48040 mov r0, #16384
|
|
60 .LVL5:
|
|
61 0028 0121 movs r1, #1
|
|
62 002a FFF7FEFF bl RCC_APB1PeriphResetCmd
|
|
63 .LVL6:
|
|
135:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Release SPI2 from reset state */
|
|
136:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** RCC_APB1PeriphResetCmd(RCC_APB1Periph_SPI2, DISABLE);
|
|
64 .loc 1 136 0
|
|
65 002e 4FF48040 mov r0, #16384
|
|
66 0032 0021 movs r1, #0
|
|
67 0034 FFF7FEFF bl RCC_APB1PeriphResetCmd
|
|
68 .LVL7:
|
|
69 0038 08BD pop {r3, pc}
|
|
70 .LVL8:
|
|
71 .L4:
|
|
137:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
138:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else
|
|
139:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
140:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if (SPIx == SPI3)
|
|
72 .loc 1 140 0
|
|
73 003a 094B ldr r3, .L6+8
|
|
74 003c 9842 cmp r0, r3
|
|
75 003e 09D1 bne .L1
|
|
141:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
142:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Enable SPI3 reset state */
|
|
143:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** RCC_APB1PeriphResetCmd(RCC_APB1Periph_SPI3, ENABLE);
|
|
76 .loc 1 143 0
|
|
77 0040 4FF40040 mov r0, #32768
|
|
78 .LVL9:
|
|
79 0044 0121 movs r1, #1
|
|
80 0046 FFF7FEFF bl RCC_APB1PeriphResetCmd
|
|
81 .LVL10:
|
|
144:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Release SPI3 from reset state */
|
|
145:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** RCC_APB1PeriphResetCmd(RCC_APB1Periph_SPI3, DISABLE);
|
|
82 .loc 1 145 0
|
|
83 004a 4FF40040 mov r0, #32768
|
|
84 004e 0021 movs r1, #0
|
|
85 0050 FFF7FEFF bl RCC_APB1PeriphResetCmd
|
|
86 .LVL11:
|
|
87 .L1:
|
|
88 0054 08BD pop {r3, pc}
|
|
89 .L7:
|
|
90 0056 00BF .align 2
|
|
91 .L6:
|
|
92 0058 00300140 .word 1073819648
|
|
93 005c 00380040 .word 1073756160
|
|
94 0060 003C0040 .word 1073757184
|
|
95 .cfi_endproc
|
|
96 .LFE29:
|
|
98 .section .text.SPI_Init,"ax",%progbits
|
|
99 .align 2
|
|
100 .global SPI_Init
|
|
101 .thumb
|
|
102 .thumb_func
|
|
104 SPI_Init:
|
|
105 .LFB30:
|
|
146:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
147:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
148:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
149:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
150:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
151:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Initializes the SPIx peripheral according to the specified
|
|
152:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * parameters in the SPI_InitStruct.
|
|
153:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral.
|
|
154:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPI_InitStruct: pointer to a SPI_InitTypeDef structure that
|
|
155:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * contains the configuration information for the specified SPI peripheral.
|
|
156:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval None
|
|
157:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
158:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void SPI_Init(SPI_TypeDef* SPIx, SPI_InitTypeDef* SPI_InitStruct)
|
|
159:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
106 .loc 1 159 0
|
|
107 .cfi_startproc
|
|
108 @ args = 0, pretend = 0, frame = 0
|
|
109 @ frame_needed = 0, uses_anonymous_args = 0
|
|
110 @ link register save eliminated.
|
|
111 .LVL12:
|
|
112 0000 10B4 push {r4}
|
|
113 .cfi_def_cfa_offset 4
|
|
114 .cfi_offset 4, -4
|
|
115 .LVL13:
|
|
160:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** uint16_t tmpreg = 0;
|
|
161:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
162:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* check the parameters */
|
|
163:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
|
|
164:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
165:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the SPI parameters */
|
|
166:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_DIRECTION_MODE(SPI_InitStruct->SPI_Direction));
|
|
167:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_MODE(SPI_InitStruct->SPI_Mode));
|
|
168:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_DATASIZE(SPI_InitStruct->SPI_DataSize));
|
|
169:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_CPOL(SPI_InitStruct->SPI_CPOL));
|
|
170:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_CPHA(SPI_InitStruct->SPI_CPHA));
|
|
171:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_NSS(SPI_InitStruct->SPI_NSS));
|
|
172:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_BAUDRATE_PRESCALER(SPI_InitStruct->SPI_BaudRatePrescaler));
|
|
173:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_FIRST_BIT(SPI_InitStruct->SPI_FirstBit));
|
|
174:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_CRC_POLYNOMIAL(SPI_InitStruct->SPI_CRCPolynomial));
|
|
175:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
176:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /*---------------------------- SPIx CR1 Configuration ------------------------*/
|
|
177:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Get the SPIx CR1 value */
|
|
178:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** tmpreg = SPIx->CR1;
|
|
116 .loc 1 178 0
|
|
117 0002 0388 ldrh r3, [r0]
|
|
118 .LVL14:
|
|
179:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Clear BIDIMode, BIDIOE, RxONLY, SSM, SSI, LSBFirst, BR, MSTR, CPOL and CPHA bits */
|
|
180:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** tmpreg &= CR1_CLEAR_Mask;
|
|
119 .loc 1 180 0
|
|
120 0004 03F44154 and r4, r3, #12352
|
|
121 .LVL15:
|
|
181:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Configure SPIx: direction, NSS management, first transmitted bit, BaudRate prescaler
|
|
182:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** master/salve mode, CPOL and CPHA */
|
|
183:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Set BIDImode, BIDIOE and RxONLY bits according to SPI_Direction value */
|
|
184:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Set SSM, SSI and MSTR bits according to SPI_Mode and SPI_NSS values */
|
|
185:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Set LSBFirst bit according to SPI_FirstBit value */
|
|
186:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Set BR bits according to SPI_BaudRatePrescaler value */
|
|
187:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Set CPOL bit according to SPI_CPOL value */
|
|
188:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Set CPHA bit according to SPI_CPHA value */
|
|
189:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** tmpreg |= (uint16_t)((uint32_t)SPI_InitStruct->SPI_Direction | SPI_InitStruct->SPI_Mode |
|
|
122 .loc 1 189 0
|
|
123 0008 4A88 ldrh r2, [r1, #2]
|
|
124 000a 0B88 ldrh r3, [r1]
|
|
125 000c 1343 orrs r3, r3, r2
|
|
126 000e 8A88 ldrh r2, [r1, #4]
|
|
127 0010 1343 orrs r3, r3, r2
|
|
128 0012 CA88 ldrh r2, [r1, #6]
|
|
129 0014 1343 orrs r3, r3, r2
|
|
130 0016 0A89 ldrh r2, [r1, #8]
|
|
131 0018 1343 orrs r3, r3, r2
|
|
132 001a 4A89 ldrh r2, [r1, #10]
|
|
133 001c 1343 orrs r3, r3, r2
|
|
134 001e 8A89 ldrh r2, [r1, #12]
|
|
135 0020 1343 orrs r3, r3, r2
|
|
136 0022 CA89 ldrh r2, [r1, #14]
|
|
137 0024 1343 orrs r3, r3, r2
|
|
138 0026 2343 orrs r3, r3, r4
|
|
139 0028 9BB2 uxth r3, r3
|
|
140 .LVL16:
|
|
190:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPI_InitStruct->SPI_DataSize | SPI_InitStruct->SPI_CPOL |
|
|
191:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPI_InitStruct->SPI_CPHA | SPI_InitStruct->SPI_NSS |
|
|
192:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPI_InitStruct->SPI_BaudRatePrescaler | SPI_InitStruct->SPI_FirstBit);
|
|
193:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Write to SPIx CR1 */
|
|
194:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR1 = tmpreg;
|
|
141 .loc 1 194 0
|
|
142 002a 0380 strh r3, [r0] @ movhi
|
|
195:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
196:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Activate the SPI mode (Reset I2SMOD bit in I2SCFGR register) */
|
|
197:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->I2SCFGR &= SPI_Mode_Select;
|
|
143 .loc 1 197 0
|
|
144 002c 838B ldrh r3, [r0, #28]
|
|
145 .LVL17:
|
|
146 002e 23F40063 bic r3, r3, #2048
|
|
147 0032 1B04 lsls r3, r3, #16
|
|
148 0034 1B0C lsrs r3, r3, #16
|
|
149 0036 8383 strh r3, [r0, #28] @ movhi
|
|
150 .LVL18:
|
|
198:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
199:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /*---------------------------- SPIx CRCPOLY Configuration --------------------*/
|
|
200:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Write to SPIx CRCPOLY */
|
|
201:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CRCPR = SPI_InitStruct->SPI_CRCPolynomial;
|
|
151 .loc 1 201 0
|
|
152 0038 0B8A ldrh r3, [r1, #16]
|
|
153 003a 0382 strh r3, [r0, #16] @ movhi
|
|
202:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
154 .loc 1 202 0
|
|
155 003c 5DF8044B ldr r4, [sp], #4
|
|
156 .cfi_restore 4
|
|
157 .cfi_def_cfa_offset 0
|
|
158 0040 7047 bx lr
|
|
159 .cfi_endproc
|
|
160 .LFE30:
|
|
162 0042 00BF .section .text.I2S_Init,"ax",%progbits
|
|
163 .align 2
|
|
164 .global I2S_Init
|
|
165 .thumb
|
|
166 .thumb_func
|
|
168 I2S_Init:
|
|
169 .LFB31:
|
|
203:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
204:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
205:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Initializes the SPIx peripheral according to the specified
|
|
206:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * parameters in the I2S_InitStruct.
|
|
207:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be 2 or 3 to select the SPI peripheral
|
|
208:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * (configured in I2S mode).
|
|
209:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param I2S_InitStruct: pointer to an I2S_InitTypeDef structure that
|
|
210:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * contains the configuration information for the specified SPI peripheral
|
|
211:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * configured in I2S mode.
|
|
212:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @note
|
|
213:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * The function calculates the optimal prescaler needed to obtain the most
|
|
214:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * accurate audio frequency (depending on the I2S clock source, the PLL values
|
|
215:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * and the product configuration). But in case the prescaler value is greater
|
|
216:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * than 511, the default value (0x02) will be configured instead. *
|
|
217:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval None
|
|
218:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
219:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void I2S_Init(SPI_TypeDef* SPIx, I2S_InitTypeDef* I2S_InitStruct)
|
|
220:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
170 .loc 1 220 0
|
|
171 .cfi_startproc
|
|
172 @ args = 0, pretend = 0, frame = 24
|
|
173 @ frame_needed = 0, uses_anonymous_args = 0
|
|
174 .LVL19:
|
|
175 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
176 .cfi_def_cfa_offset 20
|
|
177 .cfi_offset 4, -20
|
|
178 .cfi_offset 5, -16
|
|
179 .cfi_offset 6, -12
|
|
180 .cfi_offset 7, -8
|
|
181 .cfi_offset 14, -4
|
|
182 0002 87B0 sub sp, sp, #28
|
|
183 .cfi_def_cfa_offset 48
|
|
184 0004 0546 mov r5, r0
|
|
185 0006 0C46 mov r4, r1
|
|
186 .LVL20:
|
|
221:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** uint16_t tmpreg = 0, i2sdiv = 2, i2sodd = 0, packetlength = 1;
|
|
222:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** uint32_t tmp = 0;
|
|
223:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** RCC_ClocksTypeDef RCC_Clocks;
|
|
224:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** uint32_t sourceclock = 0;
|
|
225:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
226:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the I2S parameters */
|
|
227:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_23_PERIPH(SPIx));
|
|
228:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_I2S_MODE(I2S_InitStruct->I2S_Mode));
|
|
229:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_I2S_STANDARD(I2S_InitStruct->I2S_Standard));
|
|
230:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_I2S_DATA_FORMAT(I2S_InitStruct->I2S_DataFormat));
|
|
231:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_I2S_MCLK_OUTPUT(I2S_InitStruct->I2S_MCLKOutput));
|
|
232:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_I2S_AUDIO_FREQ(I2S_InitStruct->I2S_AudioFreq));
|
|
233:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_I2S_CPOL(I2S_InitStruct->I2S_CPOL));
|
|
234:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
235:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /*----------------------- SPIx I2SCFGR & I2SPR Configuration -----------------*/
|
|
236:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Clear I2SMOD, I2SE, I2SCFG, PCMSYNC, I2SSTD, CKPOL, DATLEN and CHLEN bits */
|
|
237:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->I2SCFGR &= I2SCFGR_CLEAR_Mask;
|
|
187 .loc 1 237 0
|
|
188 0008 838B ldrh r3, [r0, #28]
|
|
189 000a 9BB2 uxth r3, r3
|
|
190 000c 23F47B63 bic r3, r3, #4016
|
|
191 0010 23F00F03 bic r3, r3, #15
|
|
192 0014 9BB2 uxth r3, r3
|
|
193 0016 8383 strh r3, [r0, #28] @ movhi
|
|
238:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->I2SPR = 0x0002;
|
|
194 .loc 1 238 0
|
|
195 0018 0223 movs r3, #2
|
|
196 001a 0384 strh r3, [r0, #32] @ movhi
|
|
239:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
240:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Get the I2SCFGR register value */
|
|
241:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** tmpreg = SPIx->I2SCFGR;
|
|
197 .loc 1 241 0
|
|
198 001c 868B ldrh r6, [r0, #28]
|
|
199 001e B6B2 uxth r6, r6
|
|
200 .LVL21:
|
|
242:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
243:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* If the default value has to be written, reinitialize i2sdiv and i2sodd*/
|
|
244:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if(I2S_InitStruct->I2S_AudioFreq == I2S_AudioFreq_Default)
|
|
201 .loc 1 244 0
|
|
202 0020 8B68 ldr r3, [r1, #8]
|
|
203 0022 022B cmp r3, #2
|
|
204 0024 26D0 beq .L15
|
|
245:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
246:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** i2sodd = (uint16_t)0;
|
|
247:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** i2sdiv = (uint16_t)2;
|
|
248:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
249:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* If the requested audio frequency is not the default, compute the prescaler */
|
|
250:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else
|
|
251:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
252:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the frame length (For the Prescaler computing) */
|
|
253:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if(I2S_InitStruct->I2S_DataFormat == I2S_DataFormat_16b)
|
|
205 .loc 1 253 0
|
|
206 0026 8B88 ldrh r3, [r1, #4]
|
|
254:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
255:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Packet length is 16 bits */
|
|
256:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** packetlength = 1;
|
|
257:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
258:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else
|
|
259:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
260:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Packet length is 32 bits */
|
|
261:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** packetlength = 2;
|
|
207 .loc 1 261 0
|
|
208 0028 002B cmp r3, #0
|
|
209 002a 0CBF ite eq
|
|
210 002c 0127 moveq r7, #1
|
|
211 002e 0227 movne r7, #2
|
|
212 .LVL22:
|
|
262:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
263:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
264:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Get the I2S clock source mask depending on the peripheral number */
|
|
265:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if(((uint32_t)SPIx) == SPI2_BASE)
|
|
266:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
267:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* The mask is relative to I2S2 */
|
|
268:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** tmp = I2S2_CLOCK_SRC;
|
|
269:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
270:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else
|
|
271:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
272:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* The mask is relative to I2S3 */
|
|
273:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** tmp = I2S3_CLOCK_SRC;
|
|
274:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
275:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
276:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the I2S clock source configuration depending on the Device:
|
|
277:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** Only Connectivity line devices have the PLL3 VCO clock */
|
|
278:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #ifdef STM32F10X_CL
|
|
279:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if((RCC->CFGR2 & tmp) != 0)
|
|
280:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
281:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Get the configuration bits of RCC PLL3 multiplier */
|
|
282:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** tmp = (uint32_t)((RCC->CFGR2 & I2S_MUL_MASK) >> 12);
|
|
283:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
284:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Get the value of the PLL3 multiplier */
|
|
285:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if((tmp > 5) && (tmp < 15))
|
|
286:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
287:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Multiplier is between 8 and 14 (value 15 is forbidden) */
|
|
288:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** tmp += 2;
|
|
289:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
290:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else
|
|
291:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
292:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if (tmp == 15)
|
|
293:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
294:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Multiplier is 20 */
|
|
295:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** tmp = 20;
|
|
296:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
297:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
298:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Get the PREDIV2 value */
|
|
299:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** sourceclock = (uint32_t)(((RCC->CFGR2 & I2S_DIV_MASK) >> 4) + 1);
|
|
300:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
301:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Calculate the Source Clock frequency based on PLL3 and PREDIV2 values */
|
|
302:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** sourceclock = (uint32_t) ((HSE_Value / sourceclock) * tmp * 2);
|
|
303:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
304:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else
|
|
305:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
306:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* I2S Clock source is System clock: Get System Clock frequency */
|
|
307:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** RCC_GetClocksFreq(&RCC_Clocks);
|
|
308:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
309:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Get the source clock value: based on System Clock value */
|
|
310:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** sourceclock = RCC_Clocks.SYSCLK_Frequency;
|
|
311:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
312:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #else /* STM32F10X_HD */
|
|
313:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* I2S Clock source is System clock: Get System Clock frequency */
|
|
314:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** RCC_GetClocksFreq(&RCC_Clocks);
|
|
213 .loc 1 314 0
|
|
214 0030 01A8 add r0, sp, #4
|
|
215 .LVL23:
|
|
216 0032 FFF7FEFF bl RCC_GetClocksFreq
|
|
217 .LVL24:
|
|
315:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
316:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Get the source clock value: based on System Clock value */
|
|
317:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** sourceclock = RCC_Clocks.SYSCLK_Frequency;
|
|
218 .loc 1 317 0
|
|
219 0036 019A ldr r2, [sp, #4]
|
|
220 .LVL25:
|
|
318:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** #endif /* STM32F10X_CL */
|
|
319:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
320:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Compute the Real divider depending on the MCLK output state with a floating point */
|
|
321:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if(I2S_InitStruct->I2S_MCLKOutput == I2S_MCLKOutput_Enable)
|
|
221 .loc 1 321 0
|
|
222 0038 E388 ldrh r3, [r4, #6]
|
|
223 003a B3F5007F cmp r3, #512
|
|
322:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
323:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* MCLK output is enabled */
|
|
324:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** tmp = (uint16_t)(((((sourceclock / 256) * 10) / I2S_InitStruct->I2S_AudioFreq)) + 5);
|
|
224 .loc 1 324 0
|
|
225 003e 0EBF itee eq
|
|
226 0040 130A lsreq r3, r2, #8
|
|
325:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
326:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else
|
|
327:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
328:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* MCLK output is disabled */
|
|
329:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** tmp = (uint16_t)(((((sourceclock / (32 * packetlength)) *10 ) / I2S_InitStruct->I2S_AudioFreq
|
|
227 .loc 1 329 0
|
|
228 0042 7B01 lslne r3, r7, #5
|
|
229 0044 B2FBF3F3 udivne r3, r2, r3
|
|
230 0048 03EB8303 add r3, r3, r3, lsl #2
|
|
231 004c 5B00 lsls r3, r3, #1
|
|
232 004e A268 ldr r2, [r4, #8]
|
|
233 .LVL26:
|
|
234 0050 B3FBF2F3 udiv r3, r3, r2
|
|
235 0054 0533 adds r3, r3, #5
|
|
236 0056 9BB2 uxth r3, r3
|
|
237 .LVL27:
|
|
330:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
331:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
332:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Remove the floating point */
|
|
333:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** tmp = tmp / 10;
|
|
238 .loc 1 333 0
|
|
239 0058 124A ldr r2, .L19
|
|
240 005a A2FB0323 umull r2, r3, r2, r3
|
|
241 .LVL28:
|
|
242 005e DB08 lsrs r3, r3, #3
|
|
243 .LVL29:
|
|
334:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
335:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parity of the divider */
|
|
336:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** i2sodd = (uint16_t)(tmp & (uint16_t)0x0001);
|
|
337:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
338:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Compute the i2sdiv prescaler */
|
|
339:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** i2sdiv = (uint16_t)((tmp - i2sodd) / 2);
|
|
244 .loc 1 339 0
|
|
245 0060 03F00102 and r2, r3, #1
|
|
246 0064 5B08 lsrs r3, r3, #1
|
|
247 .LVL30:
|
|
340:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
341:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Get the Mask for the Odd bit (SPI_I2SPR[8]) register */
|
|
342:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** i2sodd = (uint16_t) (i2sodd << 8);
|
|
343:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
344:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
345:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Test if the divider is 1 or 0 or greater than 0xFF */
|
|
346:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if ((i2sdiv < 2) || (i2sdiv > 0xFF))
|
|
248 .loc 1 346 0
|
|
249 0066 991E subs r1, r3, #2
|
|
250 0068 89B2 uxth r1, r1
|
|
251 006a FD29 cmp r1, #253
|
|
252 .LVL31:
|
|
253 006c 05D8 bhi .L17
|
|
342:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
254 .loc 1 342 0
|
|
255 006e 1202 lsls r2, r2, #8
|
|
256 .LVL32:
|
|
257 0070 92B2 uxth r2, r2
|
|
258 0072 04E0 b .L11
|
|
259 .LVL33:
|
|
260 .L15:
|
|
246:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** i2sdiv = (uint16_t)2;
|
|
261 .loc 1 246 0
|
|
262 0074 0022 movs r2, #0
|
|
247:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
263 .loc 1 247 0
|
|
264 0076 0223 movs r3, #2
|
|
265 0078 01E0 b .L11
|
|
266 .LVL34:
|
|
267 .L17:
|
|
347:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
348:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Set the default values */
|
|
349:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** i2sdiv = 2;
|
|
350:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** i2sodd = 0;
|
|
268 .loc 1 350 0
|
|
269 007a 0022 movs r2, #0
|
|
270 .LVL35:
|
|
349:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** i2sodd = 0;
|
|
271 .loc 1 349 0
|
|
272 007c 0223 movs r3, #2
|
|
273 .LVL36:
|
|
274 .L11:
|
|
275 007e 1343 orrs r3, r3, r2
|
|
276 .LVL37:
|
|
351:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
352:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
353:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Write to SPIx I2SPR register the computed value */
|
|
354:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->I2SPR = (uint16_t)(i2sdiv | (uint16_t)(i2sodd | (uint16_t)I2S_InitStruct->I2S_MCLKOutput));
|
|
277 .loc 1 354 0
|
|
278 0080 E288 ldrh r2, [r4, #6]
|
|
279 .LVL38:
|
|
280 0082 1343 orrs r3, r3, r2
|
|
281 0084 2B84 strh r3, [r5, #32] @ movhi
|
|
282 0086 2388 ldrh r3, [r4]
|
|
283 0088 1E43 orrs r6, r6, r3
|
|
284 .LVL39:
|
|
285 008a 46F40066 orr r6, r6, #2048
|
|
286 008e 6388 ldrh r3, [r4, #2]
|
|
287 0090 3343 orrs r3, r3, r6
|
|
288 0092 A288 ldrh r2, [r4, #4]
|
|
289 0094 1343 orrs r3, r3, r2
|
|
355:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
356:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Configure the I2S with the SPI_InitStruct values */
|
|
357:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** tmpreg |= (uint16_t)(I2S_Mode_Select | (uint16_t)(I2S_InitStruct->I2S_Mode | \
|
|
290 .loc 1 357 0
|
|
291 0096 A289 ldrh r2, [r4, #12]
|
|
292 0098 1343 orrs r3, r3, r2
|
|
293 009a 9BB2 uxth r3, r3
|
|
294 .LVL40:
|
|
358:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** (uint16_t)(I2S_InitStruct->I2S_Standard | (uint16_t)(I2S_InitStruct->I2S_DataForm
|
|
359:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** (uint16_t)I2S_InitStruct->I2S_CPOL))));
|
|
360:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
361:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Write to SPIx I2SCFGR */
|
|
362:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->I2SCFGR = tmpreg;
|
|
295 .loc 1 362 0
|
|
296 009c AB83 strh r3, [r5, #28] @ movhi
|
|
363:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
297 .loc 1 363 0
|
|
298 009e 07B0 add sp, sp, #28
|
|
299 .cfi_def_cfa_offset 20
|
|
300 @ sp needed
|
|
301 00a0 F0BD pop {r4, r5, r6, r7, pc}
|
|
302 .LVL41:
|
|
303 .L20:
|
|
304 00a2 00BF .align 2
|
|
305 .L19:
|
|
306 00a4 CDCCCCCC .word -858993459
|
|
307 .cfi_endproc
|
|
308 .LFE31:
|
|
310 .section .text.SPI_StructInit,"ax",%progbits
|
|
311 .align 2
|
|
312 .global SPI_StructInit
|
|
313 .thumb
|
|
314 .thumb_func
|
|
316 SPI_StructInit:
|
|
317 .LFB32:
|
|
364:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
365:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
366:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Fills each SPI_InitStruct member with its default value.
|
|
367:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPI_InitStruct : pointer to a SPI_InitTypeDef structure which will be initialized.
|
|
368:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval None
|
|
369:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
370:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void SPI_StructInit(SPI_InitTypeDef* SPI_InitStruct)
|
|
371:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
318 .loc 1 371 0
|
|
319 .cfi_startproc
|
|
320 @ args = 0, pretend = 0, frame = 0
|
|
321 @ frame_needed = 0, uses_anonymous_args = 0
|
|
322 @ link register save eliminated.
|
|
323 .LVL42:
|
|
372:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /*--------------- Reset SPI init structure parameters values -----------------*/
|
|
373:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Initialize the SPI_Direction member */
|
|
374:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPI_InitStruct->SPI_Direction = SPI_Direction_2Lines_FullDuplex;
|
|
324 .loc 1 374 0
|
|
325 0000 0023 movs r3, #0
|
|
326 0002 0380 strh r3, [r0] @ movhi
|
|
375:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* initialize the SPI_Mode member */
|
|
376:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPI_InitStruct->SPI_Mode = SPI_Mode_Slave;
|
|
327 .loc 1 376 0
|
|
328 0004 4380 strh r3, [r0, #2] @ movhi
|
|
377:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* initialize the SPI_DataSize member */
|
|
378:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPI_InitStruct->SPI_DataSize = SPI_DataSize_8b;
|
|
329 .loc 1 378 0
|
|
330 0006 8380 strh r3, [r0, #4] @ movhi
|
|
379:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Initialize the SPI_CPOL member */
|
|
380:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPI_InitStruct->SPI_CPOL = SPI_CPOL_Low;
|
|
331 .loc 1 380 0
|
|
332 0008 C380 strh r3, [r0, #6] @ movhi
|
|
381:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Initialize the SPI_CPHA member */
|
|
382:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPI_InitStruct->SPI_CPHA = SPI_CPHA_1Edge;
|
|
333 .loc 1 382 0
|
|
334 000a 0381 strh r3, [r0, #8] @ movhi
|
|
383:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Initialize the SPI_NSS member */
|
|
384:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPI_InitStruct->SPI_NSS = SPI_NSS_Hard;
|
|
335 .loc 1 384 0
|
|
336 000c 4381 strh r3, [r0, #10] @ movhi
|
|
385:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Initialize the SPI_BaudRatePrescaler member */
|
|
386:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPI_InitStruct->SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2;
|
|
337 .loc 1 386 0
|
|
338 000e 8381 strh r3, [r0, #12] @ movhi
|
|
387:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Initialize the SPI_FirstBit member */
|
|
388:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPI_InitStruct->SPI_FirstBit = SPI_FirstBit_MSB;
|
|
339 .loc 1 388 0
|
|
340 0010 C381 strh r3, [r0, #14] @ movhi
|
|
389:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Initialize the SPI_CRCPolynomial member */
|
|
390:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPI_InitStruct->SPI_CRCPolynomial = 7;
|
|
341 .loc 1 390 0
|
|
342 0012 0723 movs r3, #7
|
|
343 0014 0382 strh r3, [r0, #16] @ movhi
|
|
344 0016 7047 bx lr
|
|
345 .cfi_endproc
|
|
346 .LFE32:
|
|
348 .section .text.I2S_StructInit,"ax",%progbits
|
|
349 .align 2
|
|
350 .global I2S_StructInit
|
|
351 .thumb
|
|
352 .thumb_func
|
|
354 I2S_StructInit:
|
|
355 .LFB33:
|
|
391:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
392:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
393:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
394:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Fills each I2S_InitStruct member with its default value.
|
|
395:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param I2S_InitStruct : pointer to a I2S_InitTypeDef structure which will be initialized.
|
|
396:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval None
|
|
397:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
398:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void I2S_StructInit(I2S_InitTypeDef* I2S_InitStruct)
|
|
399:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
356 .loc 1 399 0
|
|
357 .cfi_startproc
|
|
358 @ args = 0, pretend = 0, frame = 0
|
|
359 @ frame_needed = 0, uses_anonymous_args = 0
|
|
360 @ link register save eliminated.
|
|
361 .LVL43:
|
|
400:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /*--------------- Reset I2S init structure parameters values -----------------*/
|
|
401:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Initialize the I2S_Mode member */
|
|
402:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** I2S_InitStruct->I2S_Mode = I2S_Mode_SlaveTx;
|
|
362 .loc 1 402 0
|
|
363 0000 0023 movs r3, #0
|
|
364 0002 0380 strh r3, [r0] @ movhi
|
|
403:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
404:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Initialize the I2S_Standard member */
|
|
405:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** I2S_InitStruct->I2S_Standard = I2S_Standard_Phillips;
|
|
365 .loc 1 405 0
|
|
366 0004 4380 strh r3, [r0, #2] @ movhi
|
|
406:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
407:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Initialize the I2S_DataFormat member */
|
|
408:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** I2S_InitStruct->I2S_DataFormat = I2S_DataFormat_16b;
|
|
367 .loc 1 408 0
|
|
368 0006 8380 strh r3, [r0, #4] @ movhi
|
|
409:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
410:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Initialize the I2S_MCLKOutput member */
|
|
411:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** I2S_InitStruct->I2S_MCLKOutput = I2S_MCLKOutput_Disable;
|
|
369 .loc 1 411 0
|
|
370 0008 C380 strh r3, [r0, #6] @ movhi
|
|
412:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
413:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Initialize the I2S_AudioFreq member */
|
|
414:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** I2S_InitStruct->I2S_AudioFreq = I2S_AudioFreq_Default;
|
|
371 .loc 1 414 0
|
|
372 000a 0222 movs r2, #2
|
|
373 000c 8260 str r2, [r0, #8]
|
|
415:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
416:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Initialize the I2S_CPOL member */
|
|
417:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** I2S_InitStruct->I2S_CPOL = I2S_CPOL_Low;
|
|
374 .loc 1 417 0
|
|
375 000e 8381 strh r3, [r0, #12] @ movhi
|
|
376 0010 7047 bx lr
|
|
377 .cfi_endproc
|
|
378 .LFE33:
|
|
380 0012 00BF .section .text.SPI_Cmd,"ax",%progbits
|
|
381 .align 2
|
|
382 .global SPI_Cmd
|
|
383 .thumb
|
|
384 .thumb_func
|
|
386 SPI_Cmd:
|
|
387 .LFB34:
|
|
418:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
419:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
420:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
421:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Enables or disables the specified SPI peripheral.
|
|
422:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral.
|
|
423:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param NewState: new state of the SPIx peripheral.
|
|
424:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * This parameter can be: ENABLE or DISABLE.
|
|
425:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval None
|
|
426:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
427:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void SPI_Cmd(SPI_TypeDef* SPIx, FunctionalState NewState)
|
|
428:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
388 .loc 1 428 0
|
|
389 .cfi_startproc
|
|
390 @ args = 0, pretend = 0, frame = 0
|
|
391 @ frame_needed = 0, uses_anonymous_args = 0
|
|
392 @ link register save eliminated.
|
|
393 .LVL44:
|
|
429:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
|
|
430:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
|
|
431:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
|
|
432:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if (NewState != DISABLE)
|
|
394 .loc 1 432 0
|
|
395 0000 29B1 cbz r1, .L24
|
|
433:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
434:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Enable the selected SPI peripheral */
|
|
435:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR1 |= CR1_SPE_Set;
|
|
396 .loc 1 435 0
|
|
397 0002 0388 ldrh r3, [r0]
|
|
398 0004 9BB2 uxth r3, r3
|
|
399 0006 43F04003 orr r3, r3, #64
|
|
400 000a 0380 strh r3, [r0] @ movhi
|
|
401 000c 7047 bx lr
|
|
402 .L24:
|
|
436:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
437:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else
|
|
438:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
439:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Disable the selected SPI peripheral */
|
|
440:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR1 &= CR1_SPE_Reset;
|
|
403 .loc 1 440 0
|
|
404 000e 0388 ldrh r3, [r0]
|
|
405 0010 23F04003 bic r3, r3, #64
|
|
406 0014 1B04 lsls r3, r3, #16
|
|
407 0016 1B0C lsrs r3, r3, #16
|
|
408 0018 0380 strh r3, [r0] @ movhi
|
|
409 001a 7047 bx lr
|
|
410 .cfi_endproc
|
|
411 .LFE34:
|
|
413 .section .text.I2S_Cmd,"ax",%progbits
|
|
414 .align 2
|
|
415 .global I2S_Cmd
|
|
416 .thumb
|
|
417 .thumb_func
|
|
419 I2S_Cmd:
|
|
420 .LFB35:
|
|
441:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
442:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
443:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
444:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
445:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Enables or disables the specified SPI peripheral (in I2S mode).
|
|
446:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be 2 or 3 to select the SPI peripheral.
|
|
447:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param NewState: new state of the SPIx peripheral.
|
|
448:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * This parameter can be: ENABLE or DISABLE.
|
|
449:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval None
|
|
450:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
451:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void I2S_Cmd(SPI_TypeDef* SPIx, FunctionalState NewState)
|
|
452:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
421 .loc 1 452 0
|
|
422 .cfi_startproc
|
|
423 @ args = 0, pretend = 0, frame = 0
|
|
424 @ frame_needed = 0, uses_anonymous_args = 0
|
|
425 @ link register save eliminated.
|
|
426 .LVL45:
|
|
453:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
|
|
454:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_23_PERIPH(SPIx));
|
|
455:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
|
|
456:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if (NewState != DISABLE)
|
|
427 .loc 1 456 0
|
|
428 0000 29B1 cbz r1, .L27
|
|
457:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
458:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Enable the selected SPI peripheral (in I2S mode) */
|
|
459:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->I2SCFGR |= I2SCFGR_I2SE_Set;
|
|
429 .loc 1 459 0
|
|
430 0002 838B ldrh r3, [r0, #28]
|
|
431 0004 9BB2 uxth r3, r3
|
|
432 0006 43F48063 orr r3, r3, #1024
|
|
433 000a 8383 strh r3, [r0, #28] @ movhi
|
|
434 000c 7047 bx lr
|
|
435 .L27:
|
|
460:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
461:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else
|
|
462:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
463:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Disable the selected SPI peripheral (in I2S mode) */
|
|
464:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->I2SCFGR &= I2SCFGR_I2SE_Reset;
|
|
436 .loc 1 464 0
|
|
437 000e 838B ldrh r3, [r0, #28]
|
|
438 0010 23F48063 bic r3, r3, #1024
|
|
439 0014 1B04 lsls r3, r3, #16
|
|
440 0016 1B0C lsrs r3, r3, #16
|
|
441 0018 8383 strh r3, [r0, #28] @ movhi
|
|
442 001a 7047 bx lr
|
|
443 .cfi_endproc
|
|
444 .LFE35:
|
|
446 .section .text.SPI_I2S_ITConfig,"ax",%progbits
|
|
447 .align 2
|
|
448 .global SPI_I2S_ITConfig
|
|
449 .thumb
|
|
450 .thumb_func
|
|
452 SPI_I2S_ITConfig:
|
|
453 .LFB36:
|
|
465:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
466:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
467:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
468:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
469:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Enables or disables the specified SPI/I2S interrupts.
|
|
470:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be
|
|
471:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * - 1, 2 or 3 in SPI mode
|
|
472:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * - 2 or 3 in I2S mode
|
|
473:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPI_I2S_IT: specifies the SPI/I2S interrupt source to be enabled or disabled.
|
|
474:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * This parameter can be one of the following values:
|
|
475:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_I2S_IT_TXE: Tx buffer empty interrupt mask
|
|
476:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_I2S_IT_RXNE: Rx buffer not empty interrupt mask
|
|
477:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_I2S_IT_ERR: Error interrupt mask
|
|
478:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param NewState: new state of the specified SPI/I2S interrupt.
|
|
479:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * This parameter can be: ENABLE or DISABLE.
|
|
480:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval None
|
|
481:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
482:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void SPI_I2S_ITConfig(SPI_TypeDef* SPIx, uint8_t SPI_I2S_IT, FunctionalState NewState)
|
|
483:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
454 .loc 1 483 0
|
|
455 .cfi_startproc
|
|
456 @ args = 0, pretend = 0, frame = 0
|
|
457 @ frame_needed = 0, uses_anonymous_args = 0
|
|
458 @ link register save eliminated.
|
|
459 .LVL46:
|
|
484:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** uint16_t itpos = 0, itmask = 0 ;
|
|
485:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
|
|
486:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
|
|
487:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
|
|
488:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_I2S_CONFIG_IT(SPI_I2S_IT));
|
|
489:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
490:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Get the SPI/I2S IT index */
|
|
491:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** itpos = SPI_I2S_IT >> 4;
|
|
492:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
493:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Set the IT mask */
|
|
494:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** itmask = (uint16_t)1 << (uint16_t)itpos;
|
|
460 .loc 1 494 0
|
|
461 0000 0909 lsrs r1, r1, #4
|
|
462 .LVL47:
|
|
463 0002 0123 movs r3, #1
|
|
464 0004 8B40 lsls r3, r3, r1
|
|
465 0006 9BB2 uxth r3, r3
|
|
466 .LVL48:
|
|
495:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
496:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if (NewState != DISABLE)
|
|
467 .loc 1 496 0
|
|
468 0008 22B1 cbz r2, .L30
|
|
497:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
498:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Enable the selected SPI/I2S interrupt */
|
|
499:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR2 |= itmask;
|
|
469 .loc 1 499 0
|
|
470 000a 8288 ldrh r2, [r0, #4]
|
|
471 .LVL49:
|
|
472 000c 92B2 uxth r2, r2
|
|
473 000e 1343 orrs r3, r3, r2
|
|
474 .LVL50:
|
|
475 0010 8380 strh r3, [r0, #4] @ movhi
|
|
476 0012 7047 bx lr
|
|
477 .LVL51:
|
|
478 .L30:
|
|
500:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
501:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else
|
|
502:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
503:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Disable the selected SPI/I2S interrupt */
|
|
504:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR2 &= (uint16_t)~itmask;
|
|
479 .loc 1 504 0
|
|
480 0014 8288 ldrh r2, [r0, #4]
|
|
481 .LVL52:
|
|
482 0016 92B2 uxth r2, r2
|
|
483 0018 22EA0303 bic r3, r2, r3
|
|
484 .LVL53:
|
|
485 001c 8380 strh r3, [r0, #4] @ movhi
|
|
486 001e 7047 bx lr
|
|
487 .cfi_endproc
|
|
488 .LFE36:
|
|
490 .section .text.SPI_I2S_DMACmd,"ax",%progbits
|
|
491 .align 2
|
|
492 .global SPI_I2S_DMACmd
|
|
493 .thumb
|
|
494 .thumb_func
|
|
496 SPI_I2S_DMACmd:
|
|
497 .LFB37:
|
|
505:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
506:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
507:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
508:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
509:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Enables or disables the SPIx/I2Sx DMA interface.
|
|
510:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be
|
|
511:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * - 1, 2 or 3 in SPI mode
|
|
512:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * - 2 or 3 in I2S mode
|
|
513:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPI_I2S_DMAReq: specifies the SPI/I2S DMA transfer request to be enabled or disabled.
|
|
514:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * This parameter can be any combination of the following values:
|
|
515:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_I2S_DMAReq_Tx: Tx buffer DMA transfer request
|
|
516:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_I2S_DMAReq_Rx: Rx buffer DMA transfer request
|
|
517:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param NewState: new state of the selected SPI/I2S DMA transfer request.
|
|
518:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * This parameter can be: ENABLE or DISABLE.
|
|
519:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval None
|
|
520:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
521:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void SPI_I2S_DMACmd(SPI_TypeDef* SPIx, uint16_t SPI_I2S_DMAReq, FunctionalState NewState)
|
|
522:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
498 .loc 1 522 0
|
|
499 .cfi_startproc
|
|
500 @ args = 0, pretend = 0, frame = 0
|
|
501 @ frame_needed = 0, uses_anonymous_args = 0
|
|
502 @ link register save eliminated.
|
|
503 .LVL54:
|
|
523:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
|
|
524:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
|
|
525:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
|
|
526:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_I2S_DMAREQ(SPI_I2S_DMAReq));
|
|
527:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if (NewState != DISABLE)
|
|
504 .loc 1 527 0
|
|
505 0000 22B1 cbz r2, .L33
|
|
528:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
529:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Enable the selected SPI/I2S DMA requests */
|
|
530:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR2 |= SPI_I2S_DMAReq;
|
|
506 .loc 1 530 0
|
|
507 0002 8388 ldrh r3, [r0, #4]
|
|
508 0004 9BB2 uxth r3, r3
|
|
509 0006 1943 orrs r1, r1, r3
|
|
510 .LVL55:
|
|
511 0008 8180 strh r1, [r0, #4] @ movhi
|
|
512 000a 7047 bx lr
|
|
513 .LVL56:
|
|
514 .L33:
|
|
531:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
532:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else
|
|
533:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
534:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Disable the selected SPI/I2S DMA requests */
|
|
535:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR2 &= (uint16_t)~SPI_I2S_DMAReq;
|
|
515 .loc 1 535 0
|
|
516 000c 8388 ldrh r3, [r0, #4]
|
|
517 000e 9BB2 uxth r3, r3
|
|
518 0010 23EA0101 bic r1, r3, r1
|
|
519 .LVL57:
|
|
520 0014 8180 strh r1, [r0, #4] @ movhi
|
|
521 0016 7047 bx lr
|
|
522 .cfi_endproc
|
|
523 .LFE37:
|
|
525 .section .text.SPI_I2S_SendData,"ax",%progbits
|
|
526 .align 2
|
|
527 .global SPI_I2S_SendData
|
|
528 .thumb
|
|
529 .thumb_func
|
|
531 SPI_I2S_SendData:
|
|
532 .LFB38:
|
|
536:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
537:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
538:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
539:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
540:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Transmits a Data through the SPIx/I2Sx peripheral.
|
|
541:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be
|
|
542:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * - 1, 2 or 3 in SPI mode
|
|
543:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * - 2 or 3 in I2S mode
|
|
544:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param Data : Data to be transmitted.
|
|
545:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval None
|
|
546:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
547:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void SPI_I2S_SendData(SPI_TypeDef* SPIx, uint16_t Data)
|
|
548:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
533 .loc 1 548 0
|
|
534 .cfi_startproc
|
|
535 @ args = 0, pretend = 0, frame = 0
|
|
536 @ frame_needed = 0, uses_anonymous_args = 0
|
|
537 @ link register save eliminated.
|
|
538 .LVL58:
|
|
549:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
|
|
550:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
|
|
551:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
552:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Write in the DR register the data to be sent */
|
|
553:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->DR = Data;
|
|
539 .loc 1 553 0
|
|
540 0000 8181 strh r1, [r0, #12] @ movhi
|
|
541 0002 7047 bx lr
|
|
542 .cfi_endproc
|
|
543 .LFE38:
|
|
545 .section .text.SPI_I2S_ReceiveData,"ax",%progbits
|
|
546 .align 2
|
|
547 .global SPI_I2S_ReceiveData
|
|
548 .thumb
|
|
549 .thumb_func
|
|
551 SPI_I2S_ReceiveData:
|
|
552 .LFB39:
|
|
554:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
555:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
556:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
557:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Returns the most recent received data by the SPIx/I2Sx peripheral.
|
|
558:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be
|
|
559:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * - 1, 2 or 3 in SPI mode
|
|
560:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * - 2 or 3 in I2S mode
|
|
561:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval The value of the received data.
|
|
562:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
563:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** uint16_t SPI_I2S_ReceiveData(SPI_TypeDef* SPIx)
|
|
564:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
553 .loc 1 564 0
|
|
554 .cfi_startproc
|
|
555 @ args = 0, pretend = 0, frame = 0
|
|
556 @ frame_needed = 0, uses_anonymous_args = 0
|
|
557 @ link register save eliminated.
|
|
558 .LVL59:
|
|
565:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
|
|
566:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
|
|
567:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
568:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Return the data in the DR register */
|
|
569:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** return SPIx->DR;
|
|
559 .loc 1 569 0
|
|
560 0000 8089 ldrh r0, [r0, #12]
|
|
561 .LVL60:
|
|
570:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
562 .loc 1 570 0
|
|
563 0002 80B2 uxth r0, r0
|
|
564 0004 7047 bx lr
|
|
565 .cfi_endproc
|
|
566 .LFE39:
|
|
568 0006 00BF .section .text.SPI_NSSInternalSoftwareConfig,"ax",%progbits
|
|
569 .align 2
|
|
570 .global SPI_NSSInternalSoftwareConfig
|
|
571 .thumb
|
|
572 .thumb_func
|
|
574 SPI_NSSInternalSoftwareConfig:
|
|
575 .LFB40:
|
|
571:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
572:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
573:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Configures internally by software the NSS pin for the selected SPI.
|
|
574:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral.
|
|
575:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPI_NSSInternalSoft: specifies the SPI NSS internal state.
|
|
576:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * This parameter can be one of the following values:
|
|
577:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_NSSInternalSoft_Set: Set NSS pin internally
|
|
578:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_NSSInternalSoft_Reset: Reset NSS pin internally
|
|
579:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval None
|
|
580:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
581:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void SPI_NSSInternalSoftwareConfig(SPI_TypeDef* SPIx, uint16_t SPI_NSSInternalSoft)
|
|
582:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
576 .loc 1 582 0
|
|
577 .cfi_startproc
|
|
578 @ args = 0, pretend = 0, frame = 0
|
|
579 @ frame_needed = 0, uses_anonymous_args = 0
|
|
580 @ link register save eliminated.
|
|
581 .LVL61:
|
|
583:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
|
|
584:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
|
|
585:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_NSS_INTERNAL(SPI_NSSInternalSoft));
|
|
586:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if (SPI_NSSInternalSoft != SPI_NSSInternalSoft_Reset)
|
|
582 .loc 1 586 0
|
|
583 0000 4FF6FF63 movw r3, #65279
|
|
584 0004 9942 cmp r1, r3
|
|
585 0006 05D0 beq .L38
|
|
587:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
588:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Set NSS pin internally by software */
|
|
589:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR1 |= SPI_NSSInternalSoft_Set;
|
|
586 .loc 1 589 0
|
|
587 0008 0388 ldrh r3, [r0]
|
|
588 000a 9BB2 uxth r3, r3
|
|
589 000c 43F48073 orr r3, r3, #256
|
|
590 0010 0380 strh r3, [r0] @ movhi
|
|
591 0012 7047 bx lr
|
|
592 .L38:
|
|
590:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
591:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else
|
|
592:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
593:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Reset NSS pin internally by software */
|
|
594:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR1 &= SPI_NSSInternalSoft_Reset;
|
|
593 .loc 1 594 0
|
|
594 0014 0388 ldrh r3, [r0]
|
|
595 0016 23F48073 bic r3, r3, #256
|
|
596 001a 1B04 lsls r3, r3, #16
|
|
597 001c 1B0C lsrs r3, r3, #16
|
|
598 001e 0380 strh r3, [r0] @ movhi
|
|
599 0020 7047 bx lr
|
|
600 .cfi_endproc
|
|
601 .LFE40:
|
|
603 0022 00BF .section .text.SPI_SSOutputCmd,"ax",%progbits
|
|
604 .align 2
|
|
605 .global SPI_SSOutputCmd
|
|
606 .thumb
|
|
607 .thumb_func
|
|
609 SPI_SSOutputCmd:
|
|
610 .LFB41:
|
|
595:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
596:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
597:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
598:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
599:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Enables or disables the SS output for the selected SPI.
|
|
600:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral.
|
|
601:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param NewState: new state of the SPIx SS output.
|
|
602:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * This parameter can be: ENABLE or DISABLE.
|
|
603:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval None
|
|
604:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
605:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void SPI_SSOutputCmd(SPI_TypeDef* SPIx, FunctionalState NewState)
|
|
606:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
611 .loc 1 606 0
|
|
612 .cfi_startproc
|
|
613 @ args = 0, pretend = 0, frame = 0
|
|
614 @ frame_needed = 0, uses_anonymous_args = 0
|
|
615 @ link register save eliminated.
|
|
616 .LVL62:
|
|
607:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
|
|
608:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
|
|
609:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
|
|
610:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if (NewState != DISABLE)
|
|
617 .loc 1 610 0
|
|
618 0000 29B1 cbz r1, .L41
|
|
611:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
612:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Enable the selected SPI SS output */
|
|
613:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR2 |= CR2_SSOE_Set;
|
|
619 .loc 1 613 0
|
|
620 0002 8388 ldrh r3, [r0, #4]
|
|
621 0004 9BB2 uxth r3, r3
|
|
622 0006 43F00403 orr r3, r3, #4
|
|
623 000a 8380 strh r3, [r0, #4] @ movhi
|
|
624 000c 7047 bx lr
|
|
625 .L41:
|
|
614:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
615:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else
|
|
616:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
617:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Disable the selected SPI SS output */
|
|
618:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR2 &= CR2_SSOE_Reset;
|
|
626 .loc 1 618 0
|
|
627 000e 8388 ldrh r3, [r0, #4]
|
|
628 0010 23F00403 bic r3, r3, #4
|
|
629 0014 1B04 lsls r3, r3, #16
|
|
630 0016 1B0C lsrs r3, r3, #16
|
|
631 0018 8380 strh r3, [r0, #4] @ movhi
|
|
632 001a 7047 bx lr
|
|
633 .cfi_endproc
|
|
634 .LFE41:
|
|
636 .section .text.SPI_DataSizeConfig,"ax",%progbits
|
|
637 .align 2
|
|
638 .global SPI_DataSizeConfig
|
|
639 .thumb
|
|
640 .thumb_func
|
|
642 SPI_DataSizeConfig:
|
|
643 .LFB42:
|
|
619:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
620:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
621:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
622:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
623:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Configures the data size for the selected SPI.
|
|
624:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral.
|
|
625:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPI_DataSize: specifies the SPI data size.
|
|
626:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * This parameter can be one of the following values:
|
|
627:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_DataSize_16b: Set data frame format to 16bit
|
|
628:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_DataSize_8b: Set data frame format to 8bit
|
|
629:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval None
|
|
630:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
631:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void SPI_DataSizeConfig(SPI_TypeDef* SPIx, uint16_t SPI_DataSize)
|
|
632:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
644 .loc 1 632 0
|
|
645 .cfi_startproc
|
|
646 @ args = 0, pretend = 0, frame = 0
|
|
647 @ frame_needed = 0, uses_anonymous_args = 0
|
|
648 @ link register save eliminated.
|
|
649 .LVL63:
|
|
633:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
|
|
634:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
|
|
635:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_DATASIZE(SPI_DataSize));
|
|
636:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Clear DFF bit */
|
|
637:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR1 &= (uint16_t)~SPI_DataSize_16b;
|
|
650 .loc 1 637 0
|
|
651 0000 0388 ldrh r3, [r0]
|
|
652 0002 23F40063 bic r3, r3, #2048
|
|
653 0006 1B04 lsls r3, r3, #16
|
|
654 0008 1B0C lsrs r3, r3, #16
|
|
655 000a 0380 strh r3, [r0] @ movhi
|
|
638:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Set new DFF bit value */
|
|
639:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR1 |= SPI_DataSize;
|
|
656 .loc 1 639 0
|
|
657 000c 0388 ldrh r3, [r0]
|
|
658 000e 9BB2 uxth r3, r3
|
|
659 0010 1943 orrs r1, r1, r3
|
|
660 .LVL64:
|
|
661 0012 0180 strh r1, [r0] @ movhi
|
|
662 0014 7047 bx lr
|
|
663 .cfi_endproc
|
|
664 .LFE42:
|
|
666 0016 00BF .section .text.SPI_TransmitCRC,"ax",%progbits
|
|
667 .align 2
|
|
668 .global SPI_TransmitCRC
|
|
669 .thumb
|
|
670 .thumb_func
|
|
672 SPI_TransmitCRC:
|
|
673 .LFB43:
|
|
640:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
641:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
642:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
643:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Transmit the SPIx CRC value.
|
|
644:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral.
|
|
645:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval None
|
|
646:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
647:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void SPI_TransmitCRC(SPI_TypeDef* SPIx)
|
|
648:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
674 .loc 1 648 0
|
|
675 .cfi_startproc
|
|
676 @ args = 0, pretend = 0, frame = 0
|
|
677 @ frame_needed = 0, uses_anonymous_args = 0
|
|
678 @ link register save eliminated.
|
|
679 .LVL65:
|
|
649:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
|
|
650:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
|
|
651:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
652:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Enable the selected SPI CRC transmission */
|
|
653:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR1 |= CR1_CRCNext_Set;
|
|
680 .loc 1 653 0
|
|
681 0000 0388 ldrh r3, [r0]
|
|
682 0002 9BB2 uxth r3, r3
|
|
683 0004 43F48053 orr r3, r3, #4096
|
|
684 0008 0380 strh r3, [r0] @ movhi
|
|
685 000a 7047 bx lr
|
|
686 .cfi_endproc
|
|
687 .LFE43:
|
|
689 .section .text.SPI_CalculateCRC,"ax",%progbits
|
|
690 .align 2
|
|
691 .global SPI_CalculateCRC
|
|
692 .thumb
|
|
693 .thumb_func
|
|
695 SPI_CalculateCRC:
|
|
696 .LFB44:
|
|
654:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
655:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
656:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
657:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Enables or disables the CRC value calculation of the transferred bytes.
|
|
658:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral.
|
|
659:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param NewState: new state of the SPIx CRC value calculation.
|
|
660:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * This parameter can be: ENABLE or DISABLE.
|
|
661:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval None
|
|
662:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
663:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void SPI_CalculateCRC(SPI_TypeDef* SPIx, FunctionalState NewState)
|
|
664:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
697 .loc 1 664 0
|
|
698 .cfi_startproc
|
|
699 @ args = 0, pretend = 0, frame = 0
|
|
700 @ frame_needed = 0, uses_anonymous_args = 0
|
|
701 @ link register save eliminated.
|
|
702 .LVL66:
|
|
665:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
|
|
666:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
|
|
667:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
|
|
668:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if (NewState != DISABLE)
|
|
703 .loc 1 668 0
|
|
704 0000 29B1 cbz r1, .L46
|
|
669:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
670:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Enable the selected SPI CRC calculation */
|
|
671:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR1 |= CR1_CRCEN_Set;
|
|
705 .loc 1 671 0
|
|
706 0002 0388 ldrh r3, [r0]
|
|
707 0004 9BB2 uxth r3, r3
|
|
708 0006 43F40053 orr r3, r3, #8192
|
|
709 000a 0380 strh r3, [r0] @ movhi
|
|
710 000c 7047 bx lr
|
|
711 .L46:
|
|
672:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
673:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else
|
|
674:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
675:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Disable the selected SPI CRC calculation */
|
|
676:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR1 &= CR1_CRCEN_Reset;
|
|
712 .loc 1 676 0
|
|
713 000e 0388 ldrh r3, [r0]
|
|
714 0010 23F40053 bic r3, r3, #8192
|
|
715 0014 1B04 lsls r3, r3, #16
|
|
716 0016 1B0C lsrs r3, r3, #16
|
|
717 0018 0380 strh r3, [r0] @ movhi
|
|
718 001a 7047 bx lr
|
|
719 .cfi_endproc
|
|
720 .LFE44:
|
|
722 .section .text.SPI_GetCRC,"ax",%progbits
|
|
723 .align 2
|
|
724 .global SPI_GetCRC
|
|
725 .thumb
|
|
726 .thumb_func
|
|
728 SPI_GetCRC:
|
|
729 .LFB45:
|
|
677:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
678:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
679:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
680:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
681:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Returns the transmit or the receive CRC register value for the specified SPI.
|
|
682:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral.
|
|
683:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPI_CRC: specifies the CRC register to be read.
|
|
684:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * This parameter can be one of the following values:
|
|
685:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_CRC_Tx: Selects Tx CRC register
|
|
686:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_CRC_Rx: Selects Rx CRC register
|
|
687:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval The selected CRC register value..
|
|
688:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
689:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** uint16_t SPI_GetCRC(SPI_TypeDef* SPIx, uint8_t SPI_CRC)
|
|
690:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
730 .loc 1 690 0
|
|
731 .cfi_startproc
|
|
732 @ args = 0, pretend = 0, frame = 0
|
|
733 @ frame_needed = 0, uses_anonymous_args = 0
|
|
734 @ link register save eliminated.
|
|
735 .LVL67:
|
|
691:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** uint16_t crcreg = 0;
|
|
692:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
|
|
693:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
|
|
694:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_CRC(SPI_CRC));
|
|
695:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if (SPI_CRC != SPI_CRC_Rx)
|
|
736 .loc 1 695 0
|
|
737 0000 0129 cmp r1, #1
|
|
696:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
697:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Get the Tx CRC register */
|
|
698:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** crcreg = SPIx->TXCRCR;
|
|
738 .loc 1 698 0
|
|
739 0002 14BF ite ne
|
|
740 0004 008B ldrhne r0, [r0, #24]
|
|
741 .LVL68:
|
|
699:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
700:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else
|
|
701:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
702:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Get the Rx CRC register */
|
|
703:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** crcreg = SPIx->RXCRCR;
|
|
742 .loc 1 703 0
|
|
743 0006 808A ldrheq r0, [r0, #20]
|
|
744 0008 80B2 uxth r0, r0
|
|
745 .LVL69:
|
|
704:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
705:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Return the selected CRC register */
|
|
706:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** return crcreg;
|
|
707:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
746 .loc 1 707 0
|
|
747 000a 7047 bx lr
|
|
748 .cfi_endproc
|
|
749 .LFE45:
|
|
751 .section .text.SPI_GetCRCPolynomial,"ax",%progbits
|
|
752 .align 2
|
|
753 .global SPI_GetCRCPolynomial
|
|
754 .thumb
|
|
755 .thumb_func
|
|
757 SPI_GetCRCPolynomial:
|
|
758 .LFB46:
|
|
708:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
709:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
710:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Returns the CRC Polynomial register value for the specified SPI.
|
|
711:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral.
|
|
712:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval The CRC Polynomial register value.
|
|
713:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
714:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** uint16_t SPI_GetCRCPolynomial(SPI_TypeDef* SPIx)
|
|
715:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
759 .loc 1 715 0
|
|
760 .cfi_startproc
|
|
761 @ args = 0, pretend = 0, frame = 0
|
|
762 @ frame_needed = 0, uses_anonymous_args = 0
|
|
763 @ link register save eliminated.
|
|
764 .LVL70:
|
|
716:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
|
|
717:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
|
|
718:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
719:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Return the CRC polynomial register */
|
|
720:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** return SPIx->CRCPR;
|
|
765 .loc 1 720 0
|
|
766 0000 008A ldrh r0, [r0, #16]
|
|
767 .LVL71:
|
|
721:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
768 .loc 1 721 0
|
|
769 0002 80B2 uxth r0, r0
|
|
770 0004 7047 bx lr
|
|
771 .cfi_endproc
|
|
772 .LFE46:
|
|
774 0006 00BF .section .text.SPI_BiDirectionalLineConfig,"ax",%progbits
|
|
775 .align 2
|
|
776 .global SPI_BiDirectionalLineConfig
|
|
777 .thumb
|
|
778 .thumb_func
|
|
780 SPI_BiDirectionalLineConfig:
|
|
781 .LFB47:
|
|
722:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
723:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
724:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Selects the data transfer direction in bi-directional mode for the specified SPI.
|
|
725:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral.
|
|
726:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPI_Direction: specifies the data transfer direction in bi-directional mode.
|
|
727:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * This parameter can be one of the following values:
|
|
728:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_Direction_Tx: Selects Tx transmission direction
|
|
729:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_Direction_Rx: Selects Rx receive direction
|
|
730:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval None
|
|
731:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
732:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void SPI_BiDirectionalLineConfig(SPI_TypeDef* SPIx, uint16_t SPI_Direction)
|
|
733:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
782 .loc 1 733 0
|
|
783 .cfi_startproc
|
|
784 @ args = 0, pretend = 0, frame = 0
|
|
785 @ frame_needed = 0, uses_anonymous_args = 0
|
|
786 @ link register save eliminated.
|
|
787 .LVL72:
|
|
734:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
|
|
735:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
|
|
736:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_DIRECTION(SPI_Direction));
|
|
737:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if (SPI_Direction == SPI_Direction_Tx)
|
|
788 .loc 1 737 0
|
|
789 0000 B1F5804F cmp r1, #16384
|
|
790 0004 05D1 bne .L53
|
|
738:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
739:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Set the Tx only mode */
|
|
740:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR1 |= SPI_Direction_Tx;
|
|
791 .loc 1 740 0
|
|
792 0006 0388 ldrh r3, [r0]
|
|
793 0008 9BB2 uxth r3, r3
|
|
794 000a 43F48043 orr r3, r3, #16384
|
|
795 000e 0380 strh r3, [r0] @ movhi
|
|
796 0010 7047 bx lr
|
|
797 .L53:
|
|
741:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
742:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else
|
|
743:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
744:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Set the Rx only mode */
|
|
745:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR1 &= SPI_Direction_Rx;
|
|
798 .loc 1 745 0
|
|
799 0012 0388 ldrh r3, [r0]
|
|
800 0014 23F48043 bic r3, r3, #16384
|
|
801 0018 1B04 lsls r3, r3, #16
|
|
802 001a 1B0C lsrs r3, r3, #16
|
|
803 001c 0380 strh r3, [r0] @ movhi
|
|
804 001e 7047 bx lr
|
|
805 .cfi_endproc
|
|
806 .LFE47:
|
|
808 .section .text.SPI_I2S_GetFlagStatus,"ax",%progbits
|
|
809 .align 2
|
|
810 .global SPI_I2S_GetFlagStatus
|
|
811 .thumb
|
|
812 .thumb_func
|
|
814 SPI_I2S_GetFlagStatus:
|
|
815 .LFB48:
|
|
746:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
747:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
748:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
749:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
750:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Checks whether the specified SPI/I2S flag is set or not.
|
|
751:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be
|
|
752:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * - 1, 2 or 3 in SPI mode
|
|
753:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * - 2 or 3 in I2S mode
|
|
754:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPI_I2S_FLAG: specifies the SPI/I2S flag to check.
|
|
755:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * This parameter can be one of the following values:
|
|
756:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_I2S_FLAG_TXE: Transmit buffer empty flag.
|
|
757:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_I2S_FLAG_RXNE: Receive buffer not empty flag.
|
|
758:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_I2S_FLAG_BSY: Busy flag.
|
|
759:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_I2S_FLAG_OVR: Overrun flag.
|
|
760:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_FLAG_MODF: Mode Fault flag.
|
|
761:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_FLAG_CRCERR: CRC Error flag.
|
|
762:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg I2S_FLAG_UDR: Underrun Error flag.
|
|
763:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg I2S_FLAG_CHSIDE: Channel Side flag.
|
|
764:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval The new state of SPI_I2S_FLAG (SET or RESET).
|
|
765:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
766:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** FlagStatus SPI_I2S_GetFlagStatus(SPI_TypeDef* SPIx, uint16_t SPI_I2S_FLAG)
|
|
767:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
816 .loc 1 767 0
|
|
817 .cfi_startproc
|
|
818 @ args = 0, pretend = 0, frame = 0
|
|
819 @ frame_needed = 0, uses_anonymous_args = 0
|
|
820 @ link register save eliminated.
|
|
821 .LVL73:
|
|
768:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** FlagStatus bitstatus = RESET;
|
|
769:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
|
|
770:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
|
|
771:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_I2S_GET_FLAG(SPI_I2S_FLAG));
|
|
772:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the status of the specified SPI/I2S flag */
|
|
773:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if ((SPIx->SR & SPI_I2S_FLAG) != (uint16_t)RESET)
|
|
822 .loc 1 773 0
|
|
823 0000 0389 ldrh r3, [r0, #8]
|
|
824 .LVL74:
|
|
825 0002 1942 tst r1, r3
|
|
774:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
775:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* SPI_I2S_FLAG is set */
|
|
776:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** bitstatus = SET;
|
|
777:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
778:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else
|
|
779:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
780:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* SPI_I2S_FLAG is reset */
|
|
781:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** bitstatus = RESET;
|
|
782:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
783:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Return the SPI_I2S_FLAG status */
|
|
784:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** return bitstatus;
|
|
785:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
826 .loc 1 785 0
|
|
827 0004 14BF ite ne
|
|
828 0006 0120 movne r0, #1
|
|
829 .LVL75:
|
|
830 0008 0020 moveq r0, #0
|
|
831 000a 7047 bx lr
|
|
832 .cfi_endproc
|
|
833 .LFE48:
|
|
835 .section .text.SPI_I2S_ClearFlag,"ax",%progbits
|
|
836 .align 2
|
|
837 .global SPI_I2S_ClearFlag
|
|
838 .thumb
|
|
839 .thumb_func
|
|
841 SPI_I2S_ClearFlag:
|
|
842 .LFB49:
|
|
786:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
787:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
788:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Clears the SPIx CRC Error (CRCERR) flag.
|
|
789:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be
|
|
790:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * - 1, 2 or 3 in SPI mode
|
|
791:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPI_I2S_FLAG: specifies the SPI flag to clear.
|
|
792:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * This function clears only CRCERR flag.
|
|
793:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @note
|
|
794:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * - OVR (OverRun error) flag is cleared by software sequence: a read
|
|
795:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * operation to SPI_DR register (SPI_I2S_ReceiveData()) followed by a read
|
|
796:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * operation to SPI_SR register (SPI_I2S_GetFlagStatus()).
|
|
797:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * - UDR (UnderRun error) flag is cleared by a read operation to
|
|
798:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * SPI_SR register (SPI_I2S_GetFlagStatus()).
|
|
799:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * - MODF (Mode Fault) flag is cleared by software sequence: a read/write
|
|
800:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * operation to SPI_SR register (SPI_I2S_GetFlagStatus()) followed by a
|
|
801:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * write operation to SPI_CR1 register (SPI_Cmd() to enable the SPI).
|
|
802:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval None
|
|
803:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
804:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void SPI_I2S_ClearFlag(SPI_TypeDef* SPIx, uint16_t SPI_I2S_FLAG)
|
|
805:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
843 .loc 1 805 0
|
|
844 .cfi_startproc
|
|
845 @ args = 0, pretend = 0, frame = 0
|
|
846 @ frame_needed = 0, uses_anonymous_args = 0
|
|
847 @ link register save eliminated.
|
|
848 .LVL76:
|
|
806:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
|
|
807:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
|
|
808:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_I2S_CLEAR_FLAG(SPI_I2S_FLAG));
|
|
809:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
810:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Clear the selected SPI CRC Error (CRCERR) flag */
|
|
811:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->SR = (uint16_t)~SPI_I2S_FLAG;
|
|
849 .loc 1 811 0
|
|
850 0000 C943 mvns r1, r1
|
|
851 .LVL77:
|
|
852 0002 89B2 uxth r1, r1
|
|
853 0004 0181 strh r1, [r0, #8] @ movhi
|
|
854 0006 7047 bx lr
|
|
855 .cfi_endproc
|
|
856 .LFE49:
|
|
858 .section .text.SPI_I2S_GetITStatus,"ax",%progbits
|
|
859 .align 2
|
|
860 .global SPI_I2S_GetITStatus
|
|
861 .thumb
|
|
862 .thumb_func
|
|
864 SPI_I2S_GetITStatus:
|
|
865 .LFB50:
|
|
812:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
813:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
814:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
815:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Checks whether the specified SPI/I2S interrupt has occurred or not.
|
|
816:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be
|
|
817:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * - 1, 2 or 3 in SPI mode
|
|
818:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * - 2 or 3 in I2S mode
|
|
819:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPI_I2S_IT: specifies the SPI/I2S interrupt source to check.
|
|
820:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * This parameter can be one of the following values:
|
|
821:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_I2S_IT_TXE: Transmit buffer empty interrupt.
|
|
822:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_I2S_IT_RXNE: Receive buffer not empty interrupt.
|
|
823:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_I2S_IT_OVR: Overrun interrupt.
|
|
824:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_IT_MODF: Mode Fault interrupt.
|
|
825:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_IT_CRCERR: CRC Error interrupt.
|
|
826:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg I2S_IT_UDR: Underrun Error interrupt.
|
|
827:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval The new state of SPI_I2S_IT (SET or RESET).
|
|
828:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
829:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** ITStatus SPI_I2S_GetITStatus(SPI_TypeDef* SPIx, uint8_t SPI_I2S_IT)
|
|
830:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
866 .loc 1 830 0
|
|
867 .cfi_startproc
|
|
868 @ args = 0, pretend = 0, frame = 0
|
|
869 @ frame_needed = 0, uses_anonymous_args = 0
|
|
870 @ link register save eliminated.
|
|
871 .LVL78:
|
|
872 0000 10B4 push {r4}
|
|
873 .cfi_def_cfa_offset 4
|
|
874 .cfi_offset 4, -4
|
|
875 .LVL79:
|
|
831:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** ITStatus bitstatus = RESET;
|
|
832:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** uint16_t itpos = 0, itmask = 0, enablestatus = 0;
|
|
833:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
834:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
|
|
835:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
|
|
836:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_I2S_GET_IT(SPI_I2S_IT));
|
|
837:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
838:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Get the SPI/I2S IT index */
|
|
839:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** itpos = 0x01 << (SPI_I2S_IT & 0x0F);
|
|
840:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
841:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Get the SPI/I2S IT mask */
|
|
842:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** itmask = SPI_I2S_IT >> 4;
|
|
843:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
844:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Set the IT mask */
|
|
845:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** itmask = 0x01 << itmask;
|
|
846:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
847:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Get the SPI_I2S_IT enable bit status */
|
|
848:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** enablestatus = (SPIx->CR2 & itmask) ;
|
|
876 .loc 1 848 0
|
|
877 0002 8388 ldrh r3, [r0, #4]
|
|
878 0004 9CB2 uxth r4, r3
|
|
879 .LVL80:
|
|
849:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
850:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the status of the specified SPI/I2S interrupt */
|
|
851:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if (((SPIx->SR & itpos) != (uint16_t)RESET) && enablestatus)
|
|
880 .loc 1 851 0
|
|
881 0006 0289 ldrh r2, [r0, #8]
|
|
882 0008 92B2 uxth r2, r2
|
|
839:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
883 .loc 1 839 0
|
|
884 000a 01F00F00 and r0, r1, #15
|
|
885 .LVL81:
|
|
886 000e 0123 movs r3, #1
|
|
887 0010 8340 lsls r3, r3, r0
|
|
888 .loc 1 851 0
|
|
889 0012 1A42 tst r2, r3
|
|
890 0014 07D0 beq .L59
|
|
845:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
891 .loc 1 845 0 discriminator 1
|
|
892 0016 0909 lsrs r1, r1, #4
|
|
893 .LVL82:
|
|
894 0018 0123 movs r3, #1
|
|
895 001a 8B40 lsls r3, r3, r1
|
|
896 .loc 1 851 0 discriminator 1
|
|
897 001c 1C42 tst r4, r3
|
|
852:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
853:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* SPI_I2S_IT is set */
|
|
854:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** bitstatus = SET;
|
|
898 .loc 1 854 0 discriminator 1
|
|
899 001e 14BF ite ne
|
|
900 0020 0120 movne r0, #1
|
|
901 0022 0020 moveq r0, #0
|
|
902 0024 00E0 b .L58
|
|
903 .LVL83:
|
|
904 .L59:
|
|
855:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
856:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else
|
|
857:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
858:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* SPI_I2S_IT is reset */
|
|
859:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** bitstatus = RESET;
|
|
905 .loc 1 859 0
|
|
906 0026 0020 movs r0, #0
|
|
907 .LVL84:
|
|
908 .L58:
|
|
860:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
861:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Return the SPI_I2S_IT status */
|
|
862:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** return bitstatus;
|
|
863:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
|
|
909 .loc 1 863 0
|
|
910 0028 5DF8044B ldr r4, [sp], #4
|
|
911 .cfi_restore 4
|
|
912 .cfi_def_cfa_offset 0
|
|
913 .LVL85:
|
|
914 002c 7047 bx lr
|
|
915 .cfi_endproc
|
|
916 .LFE50:
|
|
918 002e 00BF .section .text.SPI_I2S_ClearITPendingBit,"ax",%progbits
|
|
919 .align 2
|
|
920 .global SPI_I2S_ClearITPendingBit
|
|
921 .thumb
|
|
922 .thumb_func
|
|
924 SPI_I2S_ClearITPendingBit:
|
|
925 .LFB51:
|
|
864:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
865:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
|
|
866:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Clears the SPIx CRC Error (CRCERR) interrupt pending bit.
|
|
867:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be
|
|
868:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * - 1, 2 or 3 in SPI mode
|
|
869:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPI_I2S_IT: specifies the SPI interrupt pending bit to clear.
|
|
870:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * This function clears only CRCERR interrupt pending bit.
|
|
871:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @note
|
|
872:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * - OVR (OverRun Error) interrupt pending bit is cleared by software
|
|
873:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * sequence: a read operation to SPI_DR register (SPI_I2S_ReceiveData())
|
|
874:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * followed by a read operation to SPI_SR register (SPI_I2S_GetITStatus()).
|
|
875:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * - UDR (UnderRun Error) interrupt pending bit is cleared by a read
|
|
876:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * operation to SPI_SR register (SPI_I2S_GetITStatus()).
|
|
877:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * - MODF (Mode Fault) interrupt pending bit is cleared by software sequence:
|
|
878:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * a read/write operation to SPI_SR register (SPI_I2S_GetITStatus())
|
|
879:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * followed by a write operation to SPI_CR1 register (SPI_Cmd() to enable
|
|
880:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * the SPI).
|
|
881:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval None
|
|
882:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
|
|
883:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void SPI_I2S_ClearITPendingBit(SPI_TypeDef* SPIx, uint8_t SPI_I2S_IT)
|
|
884:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
|
|
926 .loc 1 884 0
|
|
927 .cfi_startproc
|
|
928 @ args = 0, pretend = 0, frame = 0
|
|
929 @ frame_needed = 0, uses_anonymous_args = 0
|
|
930 @ link register save eliminated.
|
|
931 .LVL86:
|
|
885:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** uint16_t itpos = 0;
|
|
886:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
|
|
887:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
|
|
888:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_I2S_CLEAR_IT(SPI_I2S_IT));
|
|
889:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
890:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Get the SPI IT index */
|
|
891:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** itpos = 0x01 << (SPI_I2S_IT & 0x0F);
|
|
932 .loc 1 891 0
|
|
933 0000 01F00F01 and r1, r1, #15
|
|
934 .LVL87:
|
|
935 0004 0123 movs r3, #1
|
|
936 0006 8B40 lsls r3, r3, r1
|
|
892:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
|
|
893:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Clear the selected SPI CRC Error (CRCERR) interrupt pending bit */
|
|
894:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->SR = (uint16_t)~itpos;
|
|
937 .loc 1 894 0
|
|
938 0008 DB43 mvns r3, r3
|
|
939 000a 9BB2 uxth r3, r3
|
|
940 000c 0381 strh r3, [r0, #8] @ movhi
|
|
941 000e 7047 bx lr
|
|
942 .cfi_endproc
|
|
943 .LFE51:
|
|
945 .text
|
|
946 .Letext0:
|
|
947 .file 2 "c:\\program files (x86)\\gnu tools arm embedded\\4.9 2015q1\\arm-none-eabi\\include\\mach
|
|
948 .file 3 "c:\\program files (x86)\\gnu tools arm embedded\\4.9 2015q1\\arm-none-eabi\\include\\stdi
|
|
949 .file 4 "./lib/CMSIS/CM3/DeviceSupport/ST/STM32F10x/stm32f10x.h"
|
|
950 .file 5 "./lib/STM32F10x_StdPeriph_Driver/inc/stm32f10x_rcc.h"
|
|
951 .file 6 "./lib/STM32F10x_StdPeriph_Driver/inc/stm32f10x_spi.h"
|
|
952 .file 7 "./lib/CMSIS/CM3/CoreSupport/core_cm3.h"
|
|
DEFINED SYMBOLS
|
|
*ABS*:00000000 stm32f10x_spi.c
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:19 .text.SPI_I2S_DeInit:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:24 .text.SPI_I2S_DeInit:00000000 SPI_I2S_DeInit
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:92 .text.SPI_I2S_DeInit:00000058 $d
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:99 .text.SPI_Init:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:104 .text.SPI_Init:00000000 SPI_Init
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:163 .text.I2S_Init:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:168 .text.I2S_Init:00000000 I2S_Init
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:306 .text.I2S_Init:000000a4 $d
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:311 .text.SPI_StructInit:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:316 .text.SPI_StructInit:00000000 SPI_StructInit
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:349 .text.I2S_StructInit:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:354 .text.I2S_StructInit:00000000 I2S_StructInit
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:381 .text.SPI_Cmd:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:386 .text.SPI_Cmd:00000000 SPI_Cmd
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:414 .text.I2S_Cmd:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:419 .text.I2S_Cmd:00000000 I2S_Cmd
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:447 .text.SPI_I2S_ITConfig:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:452 .text.SPI_I2S_ITConfig:00000000 SPI_I2S_ITConfig
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:491 .text.SPI_I2S_DMACmd:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:496 .text.SPI_I2S_DMACmd:00000000 SPI_I2S_DMACmd
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:526 .text.SPI_I2S_SendData:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:531 .text.SPI_I2S_SendData:00000000 SPI_I2S_SendData
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:546 .text.SPI_I2S_ReceiveData:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:551 .text.SPI_I2S_ReceiveData:00000000 SPI_I2S_ReceiveData
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:569 .text.SPI_NSSInternalSoftwareConfig:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:574 .text.SPI_NSSInternalSoftwareConfig:00000000 SPI_NSSInternalSoftwareConfig
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:604 .text.SPI_SSOutputCmd:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:609 .text.SPI_SSOutputCmd:00000000 SPI_SSOutputCmd
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:637 .text.SPI_DataSizeConfig:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:642 .text.SPI_DataSizeConfig:00000000 SPI_DataSizeConfig
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:667 .text.SPI_TransmitCRC:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:672 .text.SPI_TransmitCRC:00000000 SPI_TransmitCRC
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:690 .text.SPI_CalculateCRC:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:695 .text.SPI_CalculateCRC:00000000 SPI_CalculateCRC
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:723 .text.SPI_GetCRC:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:728 .text.SPI_GetCRC:00000000 SPI_GetCRC
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:752 .text.SPI_GetCRCPolynomial:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:757 .text.SPI_GetCRCPolynomial:00000000 SPI_GetCRCPolynomial
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:775 .text.SPI_BiDirectionalLineConfig:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:780 .text.SPI_BiDirectionalLineConfig:00000000 SPI_BiDirectionalLineConfig
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:809 .text.SPI_I2S_GetFlagStatus:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:814 .text.SPI_I2S_GetFlagStatus:00000000 SPI_I2S_GetFlagStatus
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:836 .text.SPI_I2S_ClearFlag:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:841 .text.SPI_I2S_ClearFlag:00000000 SPI_I2S_ClearFlag
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:859 .text.SPI_I2S_GetITStatus:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:864 .text.SPI_I2S_GetITStatus:00000000 SPI_I2S_GetITStatus
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:919 .text.SPI_I2S_ClearITPendingBit:00000000 $t
|
|
C:\Users\lwngim1\AppData\Local\Temp\ccKxFG03.s:924 .text.SPI_I2S_ClearITPendingBit:00000000 SPI_I2S_ClearITPendingBit
|
|
.debug_frame:00000010 $d
|
|
|
|
UNDEFINED SYMBOLS
|
|
RCC_APB2PeriphResetCmd
|
|
RCC_APB1PeriphResetCmd
|
|
RCC_GetClocksFreq
|