Files
RadioPhotonic_PCB_software/build/bsp_driver_sd.lst

1073 lines
47 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ARM GAS /tmp/ccwhiVas.s page 1
1 .cpu cortex-m7
2 .arch armv7e-m
3 .fpu fpv5-d16
4 .eabi_attribute 28, 1
5 .eabi_attribute 20, 1
6 .eabi_attribute 21, 1
7 .eabi_attribute 23, 3
8 .eabi_attribute 24, 1
9 .eabi_attribute 25, 1
10 .eabi_attribute 26, 1
11 .eabi_attribute 30, 1
12 .eabi_attribute 34, 1
13 .eabi_attribute 18, 4
14 .file "bsp_driver_sd.c"
15 .text
16 .Ltext0:
17 .cfi_sections .debug_frame
18 .file 1 "Src/bsp_driver_sd.c"
19 .section .text.BSP_SD_ITConfig,"ax",%progbits
20 .align 1
21 .weak BSP_SD_ITConfig
22 .syntax unified
23 .thumb
24 .thumb_func
26 BSP_SD_ITConfig:
27 .LFB142:
1:Src/bsp_driver_sd.c **** /* USER CODE BEGIN Header */
2:Src/bsp_driver_sd.c **** /**
3:Src/bsp_driver_sd.c **** ******************************************************************************
4:Src/bsp_driver_sd.c **** * @file bsp_driver_sd.c for F7 (based on stm32756g_eval_sd.c)
5:Src/bsp_driver_sd.c **** * @brief This file includes a generic uSD card driver.
6:Src/bsp_driver_sd.c **** * To be completed by the user according to the board used for the project.
7:Src/bsp_driver_sd.c **** * @note Some functions generated as weak: they can be overridden by
8:Src/bsp_driver_sd.c **** * - code in user files
9:Src/bsp_driver_sd.c **** * - or BSP code from the FW pack files
10:Src/bsp_driver_sd.c **** * if such files are added to the generated project (by the user).
11:Src/bsp_driver_sd.c **** ******************************************************************************
12:Src/bsp_driver_sd.c **** * @attention
13:Src/bsp_driver_sd.c **** *
14:Src/bsp_driver_sd.c **** * Copyright (c) 2023 STMicroelectronics.
15:Src/bsp_driver_sd.c **** * All rights reserved.
16:Src/bsp_driver_sd.c **** *
17:Src/bsp_driver_sd.c **** * This software is licensed under terms that can be found in the LICENSE file
18:Src/bsp_driver_sd.c **** * in the root directory of this software component.
19:Src/bsp_driver_sd.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
20:Src/bsp_driver_sd.c **** *
21:Src/bsp_driver_sd.c **** ******************************************************************************
22:Src/bsp_driver_sd.c **** */
23:Src/bsp_driver_sd.c **** /* USER CODE END Header */
24:Src/bsp_driver_sd.c ****
25:Src/bsp_driver_sd.c **** #ifdef OLD_API
26:Src/bsp_driver_sd.c **** /* kept to avoid issue when migrating old projects. */
27:Src/bsp_driver_sd.c **** /* USER CODE BEGIN 0 */
28:Src/bsp_driver_sd.c ****
29:Src/bsp_driver_sd.c **** /* USER CODE END 0 */
30:Src/bsp_driver_sd.c **** #else
31:Src/bsp_driver_sd.c **** /* USER CODE BEGIN FirstSection */
ARM GAS /tmp/ccwhiVas.s page 2
32:Src/bsp_driver_sd.c **** /* can be used to modify / undefine following code or add new definitions */
33:Src/bsp_driver_sd.c **** /* USER CODE END FirstSection */
34:Src/bsp_driver_sd.c **** /* Includes ------------------------------------------------------------------*/
35:Src/bsp_driver_sd.c **** #include "bsp_driver_sd.h"
36:Src/bsp_driver_sd.c ****
37:Src/bsp_driver_sd.c **** /* Extern variables ---------------------------------------------------------*/
38:Src/bsp_driver_sd.c ****
39:Src/bsp_driver_sd.c **** extern SD_HandleTypeDef hsd1;
40:Src/bsp_driver_sd.c ****
41:Src/bsp_driver_sd.c **** /* USER CODE BEGIN BeforeInitSection */
42:Src/bsp_driver_sd.c **** /* can be used to modify / undefine following code or add code */
43:Src/bsp_driver_sd.c **** /* USER CODE END BeforeInitSection */
44:Src/bsp_driver_sd.c **** /**
45:Src/bsp_driver_sd.c **** * @brief Initializes the SD card device.
46:Src/bsp_driver_sd.c **** * @retval SD status
47:Src/bsp_driver_sd.c **** */
48:Src/bsp_driver_sd.c **** __weak uint8_t BSP_SD_Init(void)
49:Src/bsp_driver_sd.c **** {
50:Src/bsp_driver_sd.c **** uint8_t sd_state = MSD_OK;
51:Src/bsp_driver_sd.c **** /* Check if the SD card is plugged in the slot */
52:Src/bsp_driver_sd.c **** if (BSP_SD_IsDetected() != SD_PRESENT)
53:Src/bsp_driver_sd.c **** {
54:Src/bsp_driver_sd.c **** return MSD_ERROR_SD_NOT_PRESENT;
55:Src/bsp_driver_sd.c **** }
56:Src/bsp_driver_sd.c **** /* HAL SD initialization */
57:Src/bsp_driver_sd.c **** sd_state = HAL_SD_Init(&hsd1);
58:Src/bsp_driver_sd.c **** /* Configure SD Bus width (4 bits mode selected) */
59:Src/bsp_driver_sd.c **** if (sd_state == MSD_OK)
60:Src/bsp_driver_sd.c **** {
61:Src/bsp_driver_sd.c **** /* Enable wide operation */
62:Src/bsp_driver_sd.c **** if (HAL_SD_ConfigWideBusOperation(&hsd1, SDMMC_BUS_WIDE_4B) != HAL_OK)
63:Src/bsp_driver_sd.c **** {
64:Src/bsp_driver_sd.c **** sd_state = MSD_ERROR;
65:Src/bsp_driver_sd.c **** }
66:Src/bsp_driver_sd.c **** }
67:Src/bsp_driver_sd.c ****
68:Src/bsp_driver_sd.c **** return sd_state;
69:Src/bsp_driver_sd.c **** }
70:Src/bsp_driver_sd.c **** /* USER CODE BEGIN AfterInitSection */
71:Src/bsp_driver_sd.c **** /* can be used to modify previous code / undefine following code / add code */
72:Src/bsp_driver_sd.c **** /* USER CODE END AfterInitSection */
73:Src/bsp_driver_sd.c ****
74:Src/bsp_driver_sd.c **** /* USER CODE BEGIN InterruptMode */
75:Src/bsp_driver_sd.c **** /**
76:Src/bsp_driver_sd.c **** * @brief Configures Interrupt mode for SD detection pin.
77:Src/bsp_driver_sd.c **** * @retval Returns 0
78:Src/bsp_driver_sd.c **** */
79:Src/bsp_driver_sd.c **** __weak uint8_t BSP_SD_ITConfig(void)
80:Src/bsp_driver_sd.c **** {
28 .loc 1 80 1 view -0
29 .cfi_startproc
30 @ args = 0, pretend = 0, frame = 0
31 @ frame_needed = 0, uses_anonymous_args = 0
32 @ link register save eliminated.
81:Src/bsp_driver_sd.c **** /* Code to be updated by the user or replaced by one from the FW pack (in a stmxxxx_sd.c file) */
82:Src/bsp_driver_sd.c ****
83:Src/bsp_driver_sd.c **** return (uint8_t)0;
ARM GAS /tmp/ccwhiVas.s page 3
33 .loc 1 83 3 view .LVU1
84:Src/bsp_driver_sd.c **** }
34 .loc 1 84 1 is_stmt 0 view .LVU2
35 0000 0020 movs r0, #0
36 0002 7047 bx lr
37 .cfi_endproc
38 .LFE142:
40 .section .text.BSP_SD_ReadBlocks,"ax",%progbits
41 .align 1
42 .weak BSP_SD_ReadBlocks
43 .syntax unified
44 .thumb
45 .thumb_func
47 BSP_SD_ReadBlocks:
48 .LVL0:
49 .LFB143:
85:Src/bsp_driver_sd.c ****
86:Src/bsp_driver_sd.c **** /* USER CODE END InterruptMode */
87:Src/bsp_driver_sd.c ****
88:Src/bsp_driver_sd.c **** /* USER CODE BEGIN BeforeReadBlocksSection */
89:Src/bsp_driver_sd.c **** /* can be used to modify previous code / undefine following code / add code */
90:Src/bsp_driver_sd.c **** /* USER CODE END BeforeReadBlocksSection */
91:Src/bsp_driver_sd.c **** /**
92:Src/bsp_driver_sd.c **** * @brief Reads block(s) from a specified address in an SD card, in polling mode.
93:Src/bsp_driver_sd.c **** * @param pData: Pointer to the buffer that will contain the data to transmit
94:Src/bsp_driver_sd.c **** * @param ReadAddr: Address from where data is to be read
95:Src/bsp_driver_sd.c **** * @param NumOfBlocks: Number of SD blocks to read
96:Src/bsp_driver_sd.c **** * @param Timeout: Timeout for read operation
97:Src/bsp_driver_sd.c **** * @retval SD status
98:Src/bsp_driver_sd.c **** */
99:Src/bsp_driver_sd.c **** __weak uint8_t BSP_SD_ReadBlocks(uint32_t *pData, uint32_t ReadAddr, uint32_t NumOfBlocks, uint32_t
100:Src/bsp_driver_sd.c **** {
50 .loc 1 100 1 is_stmt 1 view -0
51 .cfi_startproc
52 @ args = 0, pretend = 0, frame = 0
53 @ frame_needed = 0, uses_anonymous_args = 0
54 .loc 1 100 1 is_stmt 0 view .LVU4
55 0000 00B5 push {lr}
56 .LCFI0:
57 .cfi_def_cfa_offset 4
58 .cfi_offset 14, -4
59 0002 83B0 sub sp, sp, #12
60 .LCFI1:
61 .cfi_def_cfa_offset 16
101:Src/bsp_driver_sd.c **** uint8_t sd_state = MSD_OK;
62 .loc 1 101 3 is_stmt 1 view .LVU5
63 .LVL1:
102:Src/bsp_driver_sd.c ****
103:Src/bsp_driver_sd.c **** if (HAL_SD_ReadBlocks(&hsd1, (uint8_t *)pData, ReadAddr, NumOfBlocks, Timeout) != HAL_OK)
64 .loc 1 103 3 view .LVU6
65 .loc 1 103 7 is_stmt 0 view .LVU7
66 0004 0093 str r3, [sp]
67 0006 1346 mov r3, r2
68 .LVL2:
69 .loc 1 103 7 view .LVU8
70 0008 0A46 mov r2, r1
71 .LVL3:
ARM GAS /tmp/ccwhiVas.s page 4
72 .loc 1 103 7 view .LVU9
73 000a 0146 mov r1, r0
74 .LVL4:
75 .loc 1 103 7 view .LVU10
76 000c 0348 ldr r0, .L6
77 .LVL5:
78 .loc 1 103 7 view .LVU11
79 000e FFF7FEFF bl HAL_SD_ReadBlocks
80 .LVL6:
81 .loc 1 103 6 discriminator 1 view .LVU12
82 0012 00B1 cbz r0, .L3
104:Src/bsp_driver_sd.c **** {
105:Src/bsp_driver_sd.c **** sd_state = MSD_ERROR;
83 .loc 1 105 14 view .LVU13
84 0014 0120 movs r0, #1
85 .L3:
86 .LVL7:
106:Src/bsp_driver_sd.c **** }
107:Src/bsp_driver_sd.c ****
108:Src/bsp_driver_sd.c **** return sd_state;
87 .loc 1 108 3 is_stmt 1 view .LVU14
109:Src/bsp_driver_sd.c **** }
88 .loc 1 109 1 is_stmt 0 view .LVU15
89 0016 03B0 add sp, sp, #12
90 .LCFI2:
91 .cfi_def_cfa_offset 4
92 @ sp needed
93 0018 5DF804FB ldr pc, [sp], #4
94 .L7:
95 .align 2
96 .L6:
97 001c 00000000 .word hsd1
98 .cfi_endproc
99 .LFE143:
101 .section .text.BSP_SD_WriteBlocks,"ax",%progbits
102 .align 1
103 .weak BSP_SD_WriteBlocks
104 .syntax unified
105 .thumb
106 .thumb_func
108 BSP_SD_WriteBlocks:
109 .LVL8:
110 .LFB144:
110:Src/bsp_driver_sd.c ****
111:Src/bsp_driver_sd.c **** /* USER CODE BEGIN BeforeWriteBlocksSection */
112:Src/bsp_driver_sd.c **** /* can be used to modify previous code / undefine following code / add code */
113:Src/bsp_driver_sd.c **** /* USER CODE END BeforeWriteBlocksSection */
114:Src/bsp_driver_sd.c **** /**
115:Src/bsp_driver_sd.c **** * @brief Writes block(s) to a specified address in an SD card, in polling mode.
116:Src/bsp_driver_sd.c **** * @param pData: Pointer to the buffer that will contain the data to transmit
117:Src/bsp_driver_sd.c **** * @param WriteAddr: Address from where data is to be written
118:Src/bsp_driver_sd.c **** * @param NumOfBlocks: Number of SD blocks to write
119:Src/bsp_driver_sd.c **** * @param Timeout: Timeout for write operation
120:Src/bsp_driver_sd.c **** * @retval SD status
121:Src/bsp_driver_sd.c **** */
122:Src/bsp_driver_sd.c **** __weak uint8_t BSP_SD_WriteBlocks(uint32_t *pData, uint32_t WriteAddr, uint32_t NumOfBlocks, uint32
123:Src/bsp_driver_sd.c **** {
ARM GAS /tmp/ccwhiVas.s page 5
111 .loc 1 123 1 is_stmt 1 view -0
112 .cfi_startproc
113 @ args = 0, pretend = 0, frame = 0
114 @ frame_needed = 0, uses_anonymous_args = 0
115 .loc 1 123 1 is_stmt 0 view .LVU17
116 0000 00B5 push {lr}
117 .LCFI3:
118 .cfi_def_cfa_offset 4
119 .cfi_offset 14, -4
120 0002 83B0 sub sp, sp, #12
121 .LCFI4:
122 .cfi_def_cfa_offset 16
124:Src/bsp_driver_sd.c **** uint8_t sd_state = MSD_OK;
123 .loc 1 124 3 is_stmt 1 view .LVU18
124 .LVL9:
125:Src/bsp_driver_sd.c ****
126:Src/bsp_driver_sd.c **** if (HAL_SD_WriteBlocks(&hsd1, (uint8_t *)pData, WriteAddr, NumOfBlocks, Timeout) != HAL_OK)
125 .loc 1 126 3 view .LVU19
126 .loc 1 126 7 is_stmt 0 view .LVU20
127 0004 0093 str r3, [sp]
128 0006 1346 mov r3, r2
129 .LVL10:
130 .loc 1 126 7 view .LVU21
131 0008 0A46 mov r2, r1
132 .LVL11:
133 .loc 1 126 7 view .LVU22
134 000a 0146 mov r1, r0
135 .LVL12:
136 .loc 1 126 7 view .LVU23
137 000c 0348 ldr r0, .L12
138 .LVL13:
139 .loc 1 126 7 view .LVU24
140 000e FFF7FEFF bl HAL_SD_WriteBlocks
141 .LVL14:
142 .loc 1 126 6 discriminator 1 view .LVU25
143 0012 00B1 cbz r0, .L9
127:Src/bsp_driver_sd.c **** {
128:Src/bsp_driver_sd.c **** sd_state = MSD_ERROR;
144 .loc 1 128 14 view .LVU26
145 0014 0120 movs r0, #1
146 .L9:
147 .LVL15:
129:Src/bsp_driver_sd.c **** }
130:Src/bsp_driver_sd.c ****
131:Src/bsp_driver_sd.c **** return sd_state;
148 .loc 1 131 3 is_stmt 1 view .LVU27
132:Src/bsp_driver_sd.c **** }
149 .loc 1 132 1 is_stmt 0 view .LVU28
150 0016 03B0 add sp, sp, #12
151 .LCFI5:
152 .cfi_def_cfa_offset 4
153 @ sp needed
154 0018 5DF804FB ldr pc, [sp], #4
155 .L13:
156 .align 2
157 .L12:
158 001c 00000000 .word hsd1
ARM GAS /tmp/ccwhiVas.s page 6
159 .cfi_endproc
160 .LFE144:
162 .section .text.BSP_SD_ReadBlocks_DMA,"ax",%progbits
163 .align 1
164 .weak BSP_SD_ReadBlocks_DMA
165 .syntax unified
166 .thumb
167 .thumb_func
169 BSP_SD_ReadBlocks_DMA:
170 .LVL16:
171 .LFB145:
133:Src/bsp_driver_sd.c ****
134:Src/bsp_driver_sd.c **** /* USER CODE BEGIN BeforeReadDMABlocksSection */
135:Src/bsp_driver_sd.c **** /* can be used to modify previous code / undefine following code / add code */
136:Src/bsp_driver_sd.c **** /* USER CODE END BeforeReadDMABlocksSection */
137:Src/bsp_driver_sd.c **** /**
138:Src/bsp_driver_sd.c **** * @brief Reads block(s) from a specified address in an SD card, in DMA mode.
139:Src/bsp_driver_sd.c **** * @param pData: Pointer to the buffer that will contain the data to transmit
140:Src/bsp_driver_sd.c **** * @param ReadAddr: Address from where data is to be read
141:Src/bsp_driver_sd.c **** * @param NumOfBlocks: Number of SD blocks to read
142:Src/bsp_driver_sd.c **** * @retval SD status
143:Src/bsp_driver_sd.c **** */
144:Src/bsp_driver_sd.c **** __weak uint8_t BSP_SD_ReadBlocks_DMA(uint32_t *pData, uint32_t ReadAddr, uint32_t NumOfBlocks)
145:Src/bsp_driver_sd.c **** {
172 .loc 1 145 1 is_stmt 1 view -0
173 .cfi_startproc
174 @ args = 0, pretend = 0, frame = 0
175 @ frame_needed = 0, uses_anonymous_args = 0
176 .loc 1 145 1 is_stmt 0 view .LVU30
177 0000 08B5 push {r3, lr}
178 .LCFI6:
179 .cfi_def_cfa_offset 8
180 .cfi_offset 3, -8
181 .cfi_offset 14, -4
182 0002 1346 mov r3, r2
146:Src/bsp_driver_sd.c **** uint8_t sd_state = MSD_OK;
183 .loc 1 146 3 is_stmt 1 view .LVU31
184 .LVL17:
147:Src/bsp_driver_sd.c ****
148:Src/bsp_driver_sd.c **** /* Read block(s) in DMA transfer mode */
149:Src/bsp_driver_sd.c **** if (HAL_SD_ReadBlocks_DMA(&hsd1, (uint8_t *)pData, ReadAddr, NumOfBlocks) != HAL_OK)
185 .loc 1 149 3 view .LVU32
186 .loc 1 149 7 is_stmt 0 view .LVU33
187 0004 0A46 mov r2, r1
188 .LVL18:
189 .loc 1 149 7 view .LVU34
190 0006 0146 mov r1, r0
191 .LVL19:
192 .loc 1 149 7 view .LVU35
193 0008 0248 ldr r0, .L18
194 .LVL20:
195 .loc 1 149 7 view .LVU36
196 000a FFF7FEFF bl HAL_SD_ReadBlocks_DMA
197 .LVL21:
198 .loc 1 149 6 discriminator 1 view .LVU37
199 000e 00B1 cbz r0, .L15
150:Src/bsp_driver_sd.c **** {
ARM GAS /tmp/ccwhiVas.s page 7
151:Src/bsp_driver_sd.c **** sd_state = MSD_ERROR;
200 .loc 1 151 14 view .LVU38
201 0010 0120 movs r0, #1
202 .L15:
203 .LVL22:
152:Src/bsp_driver_sd.c **** }
153:Src/bsp_driver_sd.c ****
154:Src/bsp_driver_sd.c **** return sd_state;
204 .loc 1 154 3 is_stmt 1 view .LVU39
155:Src/bsp_driver_sd.c **** }
205 .loc 1 155 1 is_stmt 0 view .LVU40
206 0012 08BD pop {r3, pc}
207 .L19:
208 .align 2
209 .L18:
210 0014 00000000 .word hsd1
211 .cfi_endproc
212 .LFE145:
214 .section .text.BSP_SD_WriteBlocks_DMA,"ax",%progbits
215 .align 1
216 .weak BSP_SD_WriteBlocks_DMA
217 .syntax unified
218 .thumb
219 .thumb_func
221 BSP_SD_WriteBlocks_DMA:
222 .LVL23:
223 .LFB146:
156:Src/bsp_driver_sd.c ****
157:Src/bsp_driver_sd.c **** /* USER CODE BEGIN BeforeWriteDMABlocksSection */
158:Src/bsp_driver_sd.c **** /* can be used to modify previous code / undefine following code / add code */
159:Src/bsp_driver_sd.c **** /* USER CODE END BeforeWriteDMABlocksSection */
160:Src/bsp_driver_sd.c **** /**
161:Src/bsp_driver_sd.c **** * @brief Writes block(s) to a specified address in an SD card, in DMA mode.
162:Src/bsp_driver_sd.c **** * @param pData: Pointer to the buffer that will contain the data to transmit
163:Src/bsp_driver_sd.c **** * @param WriteAddr: Address from where data is to be written
164:Src/bsp_driver_sd.c **** * @param NumOfBlocks: Number of SD blocks to write
165:Src/bsp_driver_sd.c **** * @retval SD status
166:Src/bsp_driver_sd.c **** */
167:Src/bsp_driver_sd.c **** __weak uint8_t BSP_SD_WriteBlocks_DMA(uint32_t *pData, uint32_t WriteAddr, uint32_t NumOfBlocks)
168:Src/bsp_driver_sd.c **** {
224 .loc 1 168 1 is_stmt 1 view -0
225 .cfi_startproc
226 @ args = 0, pretend = 0, frame = 0
227 @ frame_needed = 0, uses_anonymous_args = 0
228 .loc 1 168 1 is_stmt 0 view .LVU42
229 0000 08B5 push {r3, lr}
230 .LCFI7:
231 .cfi_def_cfa_offset 8
232 .cfi_offset 3, -8
233 .cfi_offset 14, -4
234 0002 1346 mov r3, r2
169:Src/bsp_driver_sd.c **** uint8_t sd_state = MSD_OK;
235 .loc 1 169 3 is_stmt 1 view .LVU43
236 .LVL24:
170:Src/bsp_driver_sd.c ****
171:Src/bsp_driver_sd.c **** /* Write block(s) in DMA transfer mode */
172:Src/bsp_driver_sd.c **** if (HAL_SD_WriteBlocks_DMA(&hsd1, (uint8_t *)pData, WriteAddr, NumOfBlocks) != HAL_OK)
ARM GAS /tmp/ccwhiVas.s page 8
237 .loc 1 172 3 view .LVU44
238 .loc 1 172 7 is_stmt 0 view .LVU45
239 0004 0A46 mov r2, r1
240 .LVL25:
241 .loc 1 172 7 view .LVU46
242 0006 0146 mov r1, r0
243 .LVL26:
244 .loc 1 172 7 view .LVU47
245 0008 0248 ldr r0, .L24
246 .LVL27:
247 .loc 1 172 7 view .LVU48
248 000a FFF7FEFF bl HAL_SD_WriteBlocks_DMA
249 .LVL28:
250 .loc 1 172 6 discriminator 1 view .LVU49
251 000e 00B1 cbz r0, .L21
173:Src/bsp_driver_sd.c **** {
174:Src/bsp_driver_sd.c **** sd_state = MSD_ERROR;
252 .loc 1 174 14 view .LVU50
253 0010 0120 movs r0, #1
254 .L21:
255 .LVL29:
175:Src/bsp_driver_sd.c **** }
176:Src/bsp_driver_sd.c ****
177:Src/bsp_driver_sd.c **** return sd_state;
256 .loc 1 177 3 is_stmt 1 view .LVU51
178:Src/bsp_driver_sd.c **** }
257 .loc 1 178 1 is_stmt 0 view .LVU52
258 0012 08BD pop {r3, pc}
259 .L25:
260 .align 2
261 .L24:
262 0014 00000000 .word hsd1
263 .cfi_endproc
264 .LFE146:
266 .section .text.BSP_SD_Erase,"ax",%progbits
267 .align 1
268 .weak BSP_SD_Erase
269 .syntax unified
270 .thumb
271 .thumb_func
273 BSP_SD_Erase:
274 .LVL30:
275 .LFB147:
179:Src/bsp_driver_sd.c ****
180:Src/bsp_driver_sd.c **** /* USER CODE BEGIN BeforeEraseSection */
181:Src/bsp_driver_sd.c **** /* can be used to modify previous code / undefine following code / add code */
182:Src/bsp_driver_sd.c **** /* USER CODE END BeforeEraseSection */
183:Src/bsp_driver_sd.c **** /**
184:Src/bsp_driver_sd.c **** * @brief Erases the specified memory area of the given SD card.
185:Src/bsp_driver_sd.c **** * @param StartAddr: Start byte address
186:Src/bsp_driver_sd.c **** * @param EndAddr: End byte address
187:Src/bsp_driver_sd.c **** * @retval SD status
188:Src/bsp_driver_sd.c **** */
189:Src/bsp_driver_sd.c **** __weak uint8_t BSP_SD_Erase(uint32_t StartAddr, uint32_t EndAddr)
190:Src/bsp_driver_sd.c **** {
276 .loc 1 190 1 is_stmt 1 view -0
277 .cfi_startproc
ARM GAS /tmp/ccwhiVas.s page 9
278 @ args = 0, pretend = 0, frame = 0
279 @ frame_needed = 0, uses_anonymous_args = 0
280 .loc 1 190 1 is_stmt 0 view .LVU54
281 0000 08B5 push {r3, lr}
282 .LCFI8:
283 .cfi_def_cfa_offset 8
284 .cfi_offset 3, -8
285 .cfi_offset 14, -4
286 0002 0A46 mov r2, r1
191:Src/bsp_driver_sd.c **** uint8_t sd_state = MSD_OK;
287 .loc 1 191 3 is_stmt 1 view .LVU55
288 .LVL31:
192:Src/bsp_driver_sd.c ****
193:Src/bsp_driver_sd.c **** if (HAL_SD_Erase(&hsd1, StartAddr, EndAddr) != HAL_OK)
289 .loc 1 193 3 view .LVU56
290 .loc 1 193 7 is_stmt 0 view .LVU57
291 0004 0146 mov r1, r0
292 .LVL32:
293 .loc 1 193 7 view .LVU58
294 0006 0348 ldr r0, .L30
295 .LVL33:
296 .loc 1 193 7 view .LVU59
297 0008 FFF7FEFF bl HAL_SD_Erase
298 .LVL34:
299 .loc 1 193 6 discriminator 1 view .LVU60
300 000c 00B1 cbz r0, .L27
194:Src/bsp_driver_sd.c **** {
195:Src/bsp_driver_sd.c **** sd_state = MSD_ERROR;
301 .loc 1 195 14 view .LVU61
302 000e 0120 movs r0, #1
303 .L27:
304 .LVL35:
196:Src/bsp_driver_sd.c **** }
197:Src/bsp_driver_sd.c ****
198:Src/bsp_driver_sd.c **** return sd_state;
305 .loc 1 198 3 is_stmt 1 view .LVU62
199:Src/bsp_driver_sd.c **** }
306 .loc 1 199 1 is_stmt 0 view .LVU63
307 0010 08BD pop {r3, pc}
308 .L31:
309 0012 00BF .align 2
310 .L30:
311 0014 00000000 .word hsd1
312 .cfi_endproc
313 .LFE147:
315 .section .text.BSP_SD_GetCardState,"ax",%progbits
316 .align 1
317 .weak BSP_SD_GetCardState
318 .syntax unified
319 .thumb
320 .thumb_func
322 BSP_SD_GetCardState:
323 .LFB148:
200:Src/bsp_driver_sd.c ****
201:Src/bsp_driver_sd.c **** /* USER CODE BEGIN BeforeGetCardStateSection */
202:Src/bsp_driver_sd.c **** /* can be used to modify previous code / undefine following code / add code */
203:Src/bsp_driver_sd.c **** /* USER CODE END BeforeGetCardStateSection */
ARM GAS /tmp/ccwhiVas.s page 10
204:Src/bsp_driver_sd.c ****
205:Src/bsp_driver_sd.c **** /**
206:Src/bsp_driver_sd.c **** * @brief Gets the current SD card data status.
207:Src/bsp_driver_sd.c **** * @param None
208:Src/bsp_driver_sd.c **** * @retval Data transfer state.
209:Src/bsp_driver_sd.c **** * This value can be one of the following values:
210:Src/bsp_driver_sd.c **** * @arg SD_TRANSFER_OK: No data transfer is acting
211:Src/bsp_driver_sd.c **** * @arg SD_TRANSFER_BUSY: Data transfer is acting
212:Src/bsp_driver_sd.c **** */
213:Src/bsp_driver_sd.c **** __weak uint8_t BSP_SD_GetCardState(void)
214:Src/bsp_driver_sd.c **** {
324 .loc 1 214 1 is_stmt 1 view -0
325 .cfi_startproc
326 @ args = 0, pretend = 0, frame = 0
327 @ frame_needed = 0, uses_anonymous_args = 0
328 0000 08B5 push {r3, lr}
329 .LCFI9:
330 .cfi_def_cfa_offset 8
331 .cfi_offset 3, -8
332 .cfi_offset 14, -4
215:Src/bsp_driver_sd.c **** return ((HAL_SD_GetCardState(&hsd1) == HAL_SD_CARD_TRANSFER ) ? SD_TRANSFER_OK : SD_TRANSFER_BUSY
333 .loc 1 215 3 view .LVU65
334 .loc 1 215 12 is_stmt 0 view .LVU66
335 0002 0348 ldr r0, .L34
336 0004 FFF7FEFF bl HAL_SD_GetCardState
337 .LVL36:
216:Src/bsp_driver_sd.c **** }
338 .loc 1 216 1 view .LVU67
339 0008 0438 subs r0, r0, #4
340 000a 18BF it ne
341 000c 0120 movne r0, #1
342 000e 08BD pop {r3, pc}
343 .L35:
344 .align 2
345 .L34:
346 0010 00000000 .word hsd1
347 .cfi_endproc
348 .LFE148:
350 .section .text.BSP_SD_GetCardInfo,"ax",%progbits
351 .align 1
352 .weak BSP_SD_GetCardInfo
353 .syntax unified
354 .thumb
355 .thumb_func
357 BSP_SD_GetCardInfo:
358 .LVL37:
359 .LFB149:
217:Src/bsp_driver_sd.c ****
218:Src/bsp_driver_sd.c **** /**
219:Src/bsp_driver_sd.c **** * @brief Get SD information about specific SD card.
220:Src/bsp_driver_sd.c **** * @param CardInfo: Pointer to HAL_SD_CardInfoTypedef structure
221:Src/bsp_driver_sd.c **** * @retval None
222:Src/bsp_driver_sd.c **** */
223:Src/bsp_driver_sd.c **** __weak void BSP_SD_GetCardInfo(HAL_SD_CardInfoTypeDef *CardInfo)
224:Src/bsp_driver_sd.c **** {
360 .loc 1 224 1 is_stmt 1 view -0
361 .cfi_startproc
ARM GAS /tmp/ccwhiVas.s page 11
362 @ args = 0, pretend = 0, frame = 0
363 @ frame_needed = 0, uses_anonymous_args = 0
364 .loc 1 224 1 is_stmt 0 view .LVU69
365 0000 08B5 push {r3, lr}
366 .LCFI10:
367 .cfi_def_cfa_offset 8
368 .cfi_offset 3, -8
369 .cfi_offset 14, -4
370 0002 0146 mov r1, r0
225:Src/bsp_driver_sd.c **** /* Get SD card Information */
226:Src/bsp_driver_sd.c **** HAL_SD_GetCardInfo(&hsd1, CardInfo);
371 .loc 1 226 3 is_stmt 1 view .LVU70
372 0004 0148 ldr r0, .L38
373 .LVL38:
374 .loc 1 226 3 is_stmt 0 view .LVU71
375 0006 FFF7FEFF bl HAL_SD_GetCardInfo
376 .LVL39:
227:Src/bsp_driver_sd.c **** }
377 .loc 1 227 1 view .LVU72
378 000a 08BD pop {r3, pc}
379 .L39:
380 .align 2
381 .L38:
382 000c 00000000 .word hsd1
383 .cfi_endproc
384 .LFE149:
386 .section .text.BSP_SD_AbortCallback,"ax",%progbits
387 .align 1
388 .weak BSP_SD_AbortCallback
389 .syntax unified
390 .thumb
391 .thumb_func
393 BSP_SD_AbortCallback:
394 .LFB153:
228:Src/bsp_driver_sd.c ****
229:Src/bsp_driver_sd.c **** /* USER CODE BEGIN BeforeCallBacksSection */
230:Src/bsp_driver_sd.c **** /* can be used to modify previous code / undefine following code / add code */
231:Src/bsp_driver_sd.c **** /* USER CODE END BeforeCallBacksSection */
232:Src/bsp_driver_sd.c **** /**
233:Src/bsp_driver_sd.c **** * @brief SD Abort callbacks
234:Src/bsp_driver_sd.c **** * @param hsd: SD handle
235:Src/bsp_driver_sd.c **** * @retval None
236:Src/bsp_driver_sd.c **** */
237:Src/bsp_driver_sd.c **** void HAL_SD_AbortCallback(SD_HandleTypeDef *hsd)
238:Src/bsp_driver_sd.c **** {
239:Src/bsp_driver_sd.c **** BSP_SD_AbortCallback();
240:Src/bsp_driver_sd.c **** }
241:Src/bsp_driver_sd.c ****
242:Src/bsp_driver_sd.c **** /**
243:Src/bsp_driver_sd.c **** * @brief Tx Transfer completed callback
244:Src/bsp_driver_sd.c **** * @param hsd: SD handle
245:Src/bsp_driver_sd.c **** * @retval None
246:Src/bsp_driver_sd.c **** */
247:Src/bsp_driver_sd.c **** void HAL_SD_TxCpltCallback(SD_HandleTypeDef *hsd)
248:Src/bsp_driver_sd.c **** {
249:Src/bsp_driver_sd.c **** BSP_SD_WriteCpltCallback();
250:Src/bsp_driver_sd.c **** }
ARM GAS /tmp/ccwhiVas.s page 12
251:Src/bsp_driver_sd.c ****
252:Src/bsp_driver_sd.c **** /**
253:Src/bsp_driver_sd.c **** * @brief Rx Transfer completed callback
254:Src/bsp_driver_sd.c **** * @param hsd: SD handle
255:Src/bsp_driver_sd.c **** * @retval None
256:Src/bsp_driver_sd.c **** */
257:Src/bsp_driver_sd.c **** void HAL_SD_RxCpltCallback(SD_HandleTypeDef *hsd)
258:Src/bsp_driver_sd.c **** {
259:Src/bsp_driver_sd.c **** BSP_SD_ReadCpltCallback();
260:Src/bsp_driver_sd.c **** }
261:Src/bsp_driver_sd.c ****
262:Src/bsp_driver_sd.c **** /* USER CODE BEGIN CallBacksSection_C */
263:Src/bsp_driver_sd.c **** /**
264:Src/bsp_driver_sd.c **** * @brief BSP SD Abort callback
265:Src/bsp_driver_sd.c **** * @retval None
266:Src/bsp_driver_sd.c **** * @note empty (up to the user to fill it in or to remove it if useless)
267:Src/bsp_driver_sd.c **** */
268:Src/bsp_driver_sd.c **** __weak void BSP_SD_AbortCallback(void)
269:Src/bsp_driver_sd.c **** {
395 .loc 1 269 1 is_stmt 1 view -0
396 .cfi_startproc
397 @ args = 0, pretend = 0, frame = 0
398 @ frame_needed = 0, uses_anonymous_args = 0
399 @ link register save eliminated.
270:Src/bsp_driver_sd.c ****
271:Src/bsp_driver_sd.c **** }
400 .loc 1 271 1 view .LVU74
401 0000 7047 bx lr
402 .cfi_endproc
403 .LFE153:
405 .section .text.HAL_SD_AbortCallback,"ax",%progbits
406 .align 1
407 .global HAL_SD_AbortCallback
408 .syntax unified
409 .thumb
410 .thumb_func
412 HAL_SD_AbortCallback:
413 .LVL40:
414 .LFB150:
238:Src/bsp_driver_sd.c **** BSP_SD_AbortCallback();
415 .loc 1 238 1 view -0
416 .cfi_startproc
417 @ args = 0, pretend = 0, frame = 0
418 @ frame_needed = 0, uses_anonymous_args = 0
238:Src/bsp_driver_sd.c **** BSP_SD_AbortCallback();
419 .loc 1 238 1 is_stmt 0 view .LVU76
420 0000 08B5 push {r3, lr}
421 .LCFI11:
422 .cfi_def_cfa_offset 8
423 .cfi_offset 3, -8
424 .cfi_offset 14, -4
239:Src/bsp_driver_sd.c **** }
425 .loc 1 239 3 is_stmt 1 view .LVU77
426 0002 FFF7FEFF bl BSP_SD_AbortCallback
427 .LVL41:
240:Src/bsp_driver_sd.c ****
428 .loc 1 240 1 is_stmt 0 view .LVU78
ARM GAS /tmp/ccwhiVas.s page 13
429 0006 08BD pop {r3, pc}
430 .cfi_endproc
431 .LFE150:
433 .section .text.BSP_SD_WriteCpltCallback,"ax",%progbits
434 .align 1
435 .weak BSP_SD_WriteCpltCallback
436 .syntax unified
437 .thumb
438 .thumb_func
440 BSP_SD_WriteCpltCallback:
441 .LFB154:
272:Src/bsp_driver_sd.c ****
273:Src/bsp_driver_sd.c **** /**
274:Src/bsp_driver_sd.c **** * @brief BSP Tx Transfer completed callback
275:Src/bsp_driver_sd.c **** * @retval None
276:Src/bsp_driver_sd.c **** * @note empty (up to the user to fill it in or to remove it if useless)
277:Src/bsp_driver_sd.c **** */
278:Src/bsp_driver_sd.c **** __weak void BSP_SD_WriteCpltCallback(void)
279:Src/bsp_driver_sd.c **** {
442 .loc 1 279 1 is_stmt 1 view -0
443 .cfi_startproc
444 @ args = 0, pretend = 0, frame = 0
445 @ frame_needed = 0, uses_anonymous_args = 0
446 @ link register save eliminated.
280:Src/bsp_driver_sd.c ****
281:Src/bsp_driver_sd.c **** }
447 .loc 1 281 1 view .LVU80
448 0000 7047 bx lr
449 .cfi_endproc
450 .LFE154:
452 .section .text.HAL_SD_TxCpltCallback,"ax",%progbits
453 .align 1
454 .global HAL_SD_TxCpltCallback
455 .syntax unified
456 .thumb
457 .thumb_func
459 HAL_SD_TxCpltCallback:
460 .LVL42:
461 .LFB151:
248:Src/bsp_driver_sd.c **** BSP_SD_WriteCpltCallback();
462 .loc 1 248 1 view -0
463 .cfi_startproc
464 @ args = 0, pretend = 0, frame = 0
465 @ frame_needed = 0, uses_anonymous_args = 0
248:Src/bsp_driver_sd.c **** BSP_SD_WriteCpltCallback();
466 .loc 1 248 1 is_stmt 0 view .LVU82
467 0000 08B5 push {r3, lr}
468 .LCFI12:
469 .cfi_def_cfa_offset 8
470 .cfi_offset 3, -8
471 .cfi_offset 14, -4
249:Src/bsp_driver_sd.c **** }
472 .loc 1 249 3 is_stmt 1 view .LVU83
473 0002 FFF7FEFF bl BSP_SD_WriteCpltCallback
474 .LVL43:
250:Src/bsp_driver_sd.c ****
475 .loc 1 250 1 is_stmt 0 view .LVU84
ARM GAS /tmp/ccwhiVas.s page 14
476 0006 08BD pop {r3, pc}
477 .cfi_endproc
478 .LFE151:
480 .section .text.BSP_SD_ReadCpltCallback,"ax",%progbits
481 .align 1
482 .weak BSP_SD_ReadCpltCallback
483 .syntax unified
484 .thumb
485 .thumb_func
487 BSP_SD_ReadCpltCallback:
488 .LFB155:
282:Src/bsp_driver_sd.c ****
283:Src/bsp_driver_sd.c **** /**
284:Src/bsp_driver_sd.c **** * @brief BSP Rx Transfer completed callback
285:Src/bsp_driver_sd.c **** * @retval None
286:Src/bsp_driver_sd.c **** * @note empty (up to the user to fill it in or to remove it if useless)
287:Src/bsp_driver_sd.c **** */
288:Src/bsp_driver_sd.c **** __weak void BSP_SD_ReadCpltCallback(void)
289:Src/bsp_driver_sd.c **** {
489 .loc 1 289 1 is_stmt 1 view -0
490 .cfi_startproc
491 @ args = 0, pretend = 0, frame = 0
492 @ frame_needed = 0, uses_anonymous_args = 0
493 @ link register save eliminated.
290:Src/bsp_driver_sd.c ****
291:Src/bsp_driver_sd.c **** }
494 .loc 1 291 1 view .LVU86
495 0000 7047 bx lr
496 .cfi_endproc
497 .LFE155:
499 .section .text.HAL_SD_RxCpltCallback,"ax",%progbits
500 .align 1
501 .global HAL_SD_RxCpltCallback
502 .syntax unified
503 .thumb
504 .thumb_func
506 HAL_SD_RxCpltCallback:
507 .LVL44:
508 .LFB152:
258:Src/bsp_driver_sd.c **** BSP_SD_ReadCpltCallback();
509 .loc 1 258 1 view -0
510 .cfi_startproc
511 @ args = 0, pretend = 0, frame = 0
512 @ frame_needed = 0, uses_anonymous_args = 0
258:Src/bsp_driver_sd.c **** BSP_SD_ReadCpltCallback();
513 .loc 1 258 1 is_stmt 0 view .LVU88
514 0000 08B5 push {r3, lr}
515 .LCFI13:
516 .cfi_def_cfa_offset 8
517 .cfi_offset 3, -8
518 .cfi_offset 14, -4
259:Src/bsp_driver_sd.c **** }
519 .loc 1 259 3 is_stmt 1 view .LVU89
520 0002 FFF7FEFF bl BSP_SD_ReadCpltCallback
521 .LVL45:
260:Src/bsp_driver_sd.c ****
522 .loc 1 260 1 is_stmt 0 view .LVU90
ARM GAS /tmp/ccwhiVas.s page 15
523 0006 08BD pop {r3, pc}
524 .cfi_endproc
525 .LFE152:
527 .section .text.BSP_SD_IsDetected,"ax",%progbits
528 .align 1
529 .weak BSP_SD_IsDetected
530 .syntax unified
531 .thumb
532 .thumb_func
534 BSP_SD_IsDetected:
535 .LFB156:
292:Src/bsp_driver_sd.c **** /* USER CODE END CallBacksSection_C */
293:Src/bsp_driver_sd.c **** #endif
294:Src/bsp_driver_sd.c ****
295:Src/bsp_driver_sd.c **** /**
296:Src/bsp_driver_sd.c **** * @brief Detects if SD card is correctly plugged in the memory slot or not.
297:Src/bsp_driver_sd.c **** * @param None
298:Src/bsp_driver_sd.c **** * @retval Returns if SD is detected or not
299:Src/bsp_driver_sd.c **** */
300:Src/bsp_driver_sd.c **** __weak uint8_t BSP_SD_IsDetected(void)
301:Src/bsp_driver_sd.c **** {
536 .loc 1 301 1 is_stmt 1 view -0
537 .cfi_startproc
538 @ args = 0, pretend = 0, frame = 8
539 @ frame_needed = 0, uses_anonymous_args = 0
540 0000 00B5 push {lr}
541 .LCFI14:
542 .cfi_def_cfa_offset 4
543 .cfi_offset 14, -4
544 0002 83B0 sub sp, sp, #12
545 .LCFI15:
546 .cfi_def_cfa_offset 16
302:Src/bsp_driver_sd.c **** __IO uint8_t status = SD_PRESENT;
547 .loc 1 302 3 view .LVU92
548 .loc 1 302 16 is_stmt 0 view .LVU93
549 0004 0123 movs r3, #1
550 0006 8DF80730 strb r3, [sp, #7]
303:Src/bsp_driver_sd.c ****
304:Src/bsp_driver_sd.c **** if (BSP_PlatformIsDetected() == 0x0)
551 .loc 1 304 3 is_stmt 1 view .LVU94
552 .loc 1 304 7 is_stmt 0 view .LVU95
553 000a FFF7FEFF bl BSP_PlatformIsDetected
554 .LVL46:
555 .loc 1 304 6 discriminator 1 view .LVU96
556 000e 10B9 cbnz r0, .L50
305:Src/bsp_driver_sd.c **** {
306:Src/bsp_driver_sd.c **** status = SD_NOT_PRESENT;
557 .loc 1 306 5 is_stmt 1 view .LVU97
558 .loc 1 306 12 is_stmt 0 view .LVU98
559 0010 0023 movs r3, #0
560 0012 8DF80730 strb r3, [sp, #7]
561 .L50:
307:Src/bsp_driver_sd.c **** }
308:Src/bsp_driver_sd.c ****
309:Src/bsp_driver_sd.c **** return status;
562 .loc 1 309 3 is_stmt 1 view .LVU99
563 .loc 1 309 10 is_stmt 0 view .LVU100
ARM GAS /tmp/ccwhiVas.s page 16
564 0016 9DF80700 ldrb r0, [sp, #7] @ zero_extendqisi2
310:Src/bsp_driver_sd.c **** }
565 .loc 1 310 1 view .LVU101
566 001a 03B0 add sp, sp, #12
567 .LCFI16:
568 .cfi_def_cfa_offset 4
569 @ sp needed
570 001c 5DF804FB ldr pc, [sp], #4
571 .cfi_endproc
572 .LFE156:
574 .section .text.BSP_SD_Init,"ax",%progbits
575 .align 1
576 .weak BSP_SD_Init
577 .syntax unified
578 .thumb
579 .thumb_func
581 BSP_SD_Init:
582 .LFB141:
49:Src/bsp_driver_sd.c **** uint8_t sd_state = MSD_OK;
583 .loc 1 49 1 is_stmt 1 view -0
584 .cfi_startproc
585 @ args = 0, pretend = 0, frame = 0
586 @ frame_needed = 0, uses_anonymous_args = 0
587 0000 38B5 push {r3, r4, r5, lr}
588 .LCFI17:
589 .cfi_def_cfa_offset 16
590 .cfi_offset 3, -16
591 .cfi_offset 4, -12
592 .cfi_offset 5, -8
593 .cfi_offset 14, -4
50:Src/bsp_driver_sd.c **** /* Check if the SD card is plugged in the slot */
594 .loc 1 50 3 view .LVU103
595 .LVL47:
52:Src/bsp_driver_sd.c **** {
596 .loc 1 52 3 view .LVU104
52:Src/bsp_driver_sd.c **** {
597 .loc 1 52 7 is_stmt 0 view .LVU105
598 0002 FFF7FEFF bl BSP_SD_IsDetected
599 .LVL48:
52:Src/bsp_driver_sd.c **** {
600 .loc 1 52 6 discriminator 1 view .LVU106
601 0006 0128 cmp r0, #1
602 0008 02D0 beq .L57
54:Src/bsp_driver_sd.c **** }
603 .loc 1 54 12 view .LVU107
604 000a 0225 movs r5, #2
605 .LVL49:
606 .L53:
69:Src/bsp_driver_sd.c **** /* USER CODE BEGIN AfterInitSection */
607 .loc 1 69 1 view .LVU108
608 000c 2846 mov r0, r5
609 000e 38BD pop {r3, r4, r5, pc}
610 .LVL50:
611 .L57:
69:Src/bsp_driver_sd.c **** /* USER CODE BEGIN AfterInitSection */
612 .loc 1 69 1 view .LVU109
613 0010 0446 mov r4, r0
ARM GAS /tmp/ccwhiVas.s page 17
57:Src/bsp_driver_sd.c **** /* Configure SD Bus width (4 bits mode selected) */
614 .loc 1 57 3 is_stmt 1 view .LVU110
57:Src/bsp_driver_sd.c **** /* Configure SD Bus width (4 bits mode selected) */
615 .loc 1 57 14 is_stmt 0 view .LVU111
616 0012 0748 ldr r0, .L58
617 0014 FFF7FEFF bl HAL_SD_Init
618 .LVL51:
59:Src/bsp_driver_sd.c **** {
619 .loc 1 59 3 is_stmt 1 view .LVU112
59:Src/bsp_driver_sd.c **** {
620 .loc 1 59 6 is_stmt 0 view .LVU113
621 0018 0546 mov r5, r0
622 001a 0028 cmp r0, #0
623 001c F6D1 bne .L53
62:Src/bsp_driver_sd.c **** {
624 .loc 1 62 5 is_stmt 1 view .LVU114
62:Src/bsp_driver_sd.c **** {
625 .loc 1 62 9 is_stmt 0 view .LVU115
626 001e 4FF40061 mov r1, #2048
627 0022 0348 ldr r0, .L58
628 .LVL52:
62:Src/bsp_driver_sd.c **** {
629 .loc 1 62 9 view .LVU116
630 0024 FFF7FEFF bl HAL_SD_ConfigWideBusOperation
631 .LVL53:
62:Src/bsp_driver_sd.c **** {
632 .loc 1 62 8 discriminator 1 view .LVU117
633 0028 0028 cmp r0, #0
634 002a EFD0 beq .L53
64:Src/bsp_driver_sd.c **** }
635 .loc 1 64 16 view .LVU118
636 002c 2546 mov r5, r4
637 .LVL54:
64:Src/bsp_driver_sd.c **** }
638 .loc 1 64 16 view .LVU119
639 002e EDE7 b .L53
640 .L59:
641 .align 2
642 .L58:
643 0030 00000000 .word hsd1
644 .cfi_endproc
645 .LFE141:
647 .text
648 .Letext0:
649 .file 2 "/usr/lib/gcc/arm-none-eabi/13.2.1/include/stdint.h"
650 .file 3 "Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f767xx.h"
651 .file 4 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_def.h"
652 .file 5 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_dma.h"
653 .file 6 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_sdmmc.h"
654 .file 7 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_sd.h"
655 .file 8 "Inc/fatfs_platform.h"
ARM GAS /tmp/ccwhiVas.s page 18
DEFINED SYMBOLS
*ABS*:00000000 bsp_driver_sd.c
/tmp/ccwhiVas.s:20 .text.BSP_SD_ITConfig:00000000 $t
/tmp/ccwhiVas.s:26 .text.BSP_SD_ITConfig:00000000 BSP_SD_ITConfig
/tmp/ccwhiVas.s:41 .text.BSP_SD_ReadBlocks:00000000 $t
/tmp/ccwhiVas.s:47 .text.BSP_SD_ReadBlocks:00000000 BSP_SD_ReadBlocks
/tmp/ccwhiVas.s:97 .text.BSP_SD_ReadBlocks:0000001c $d
/tmp/ccwhiVas.s:102 .text.BSP_SD_WriteBlocks:00000000 $t
/tmp/ccwhiVas.s:108 .text.BSP_SD_WriteBlocks:00000000 BSP_SD_WriteBlocks
/tmp/ccwhiVas.s:158 .text.BSP_SD_WriteBlocks:0000001c $d
/tmp/ccwhiVas.s:163 .text.BSP_SD_ReadBlocks_DMA:00000000 $t
/tmp/ccwhiVas.s:169 .text.BSP_SD_ReadBlocks_DMA:00000000 BSP_SD_ReadBlocks_DMA
/tmp/ccwhiVas.s:210 .text.BSP_SD_ReadBlocks_DMA:00000014 $d
/tmp/ccwhiVas.s:215 .text.BSP_SD_WriteBlocks_DMA:00000000 $t
/tmp/ccwhiVas.s:221 .text.BSP_SD_WriteBlocks_DMA:00000000 BSP_SD_WriteBlocks_DMA
/tmp/ccwhiVas.s:262 .text.BSP_SD_WriteBlocks_DMA:00000014 $d
/tmp/ccwhiVas.s:267 .text.BSP_SD_Erase:00000000 $t
/tmp/ccwhiVas.s:273 .text.BSP_SD_Erase:00000000 BSP_SD_Erase
/tmp/ccwhiVas.s:311 .text.BSP_SD_Erase:00000014 $d
/tmp/ccwhiVas.s:316 .text.BSP_SD_GetCardState:00000000 $t
/tmp/ccwhiVas.s:322 .text.BSP_SD_GetCardState:00000000 BSP_SD_GetCardState
/tmp/ccwhiVas.s:346 .text.BSP_SD_GetCardState:00000010 $d
/tmp/ccwhiVas.s:351 .text.BSP_SD_GetCardInfo:00000000 $t
/tmp/ccwhiVas.s:357 .text.BSP_SD_GetCardInfo:00000000 BSP_SD_GetCardInfo
/tmp/ccwhiVas.s:382 .text.BSP_SD_GetCardInfo:0000000c $d
/tmp/ccwhiVas.s:387 .text.BSP_SD_AbortCallback:00000000 $t
/tmp/ccwhiVas.s:393 .text.BSP_SD_AbortCallback:00000000 BSP_SD_AbortCallback
/tmp/ccwhiVas.s:406 .text.HAL_SD_AbortCallback:00000000 $t
/tmp/ccwhiVas.s:412 .text.HAL_SD_AbortCallback:00000000 HAL_SD_AbortCallback
/tmp/ccwhiVas.s:434 .text.BSP_SD_WriteCpltCallback:00000000 $t
/tmp/ccwhiVas.s:440 .text.BSP_SD_WriteCpltCallback:00000000 BSP_SD_WriteCpltCallback
/tmp/ccwhiVas.s:453 .text.HAL_SD_TxCpltCallback:00000000 $t
/tmp/ccwhiVas.s:459 .text.HAL_SD_TxCpltCallback:00000000 HAL_SD_TxCpltCallback
/tmp/ccwhiVas.s:481 .text.BSP_SD_ReadCpltCallback:00000000 $t
/tmp/ccwhiVas.s:487 .text.BSP_SD_ReadCpltCallback:00000000 BSP_SD_ReadCpltCallback
/tmp/ccwhiVas.s:500 .text.HAL_SD_RxCpltCallback:00000000 $t
/tmp/ccwhiVas.s:506 .text.HAL_SD_RxCpltCallback:00000000 HAL_SD_RxCpltCallback
/tmp/ccwhiVas.s:528 .text.BSP_SD_IsDetected:00000000 $t
/tmp/ccwhiVas.s:534 .text.BSP_SD_IsDetected:00000000 BSP_SD_IsDetected
/tmp/ccwhiVas.s:575 .text.BSP_SD_Init:00000000 $t
/tmp/ccwhiVas.s:581 .text.BSP_SD_Init:00000000 BSP_SD_Init
/tmp/ccwhiVas.s:643 .text.BSP_SD_Init:00000030 $d
UNDEFINED SYMBOLS
HAL_SD_ReadBlocks
hsd1
HAL_SD_WriteBlocks
HAL_SD_ReadBlocks_DMA
HAL_SD_WriteBlocks_DMA
HAL_SD_Erase
HAL_SD_GetCardState
HAL_SD_GetCardInfo
BSP_PlatformIsDetected
HAL_SD_Init
HAL_SD_ConfigWideBusOperation