Files
RadioPhotonic_PCB_software/build/bsp_driver_sd.lst
2025-03-03 15:53:11 +03:00

1088 lines
48 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/cckWiXI8.s page 1
1 .cpu cortex-m7
2 .eabi_attribute 28, 1
3 .eabi_attribute 20, 1
4 .eabi_attribute 21, 1
5 .eabi_attribute 23, 3
6 .eabi_attribute 24, 1
7 .eabi_attribute 25, 1
8 .eabi_attribute 26, 1
9 .eabi_attribute 30, 1
10 .eabi_attribute 34, 1
11 .eabi_attribute 18, 4
12 .file "bsp_driver_sd.c"
13 .text
14 .Ltext0:
15 .cfi_sections .debug_frame
16 .section .text.BSP_SD_ITConfig,"ax",%progbits
17 .align 1
18 .weak BSP_SD_ITConfig
19 .arch armv7e-m
20 .syntax unified
21 .thumb
22 .thumb_func
23 .fpu fpv5-d16
25 BSP_SD_ITConfig:
26 .LFB142:
27 .file 1 "Src/bsp_driver_sd.c"
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/cckWiXI8.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/cckWiXI8.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
46 .fpu fpv5-d16
48 BSP_SD_ReadBlocks:
49 .LVL0:
50 .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 **** {
51 .loc 1 100 1 is_stmt 1 view -0
52 .cfi_startproc
53 @ args = 0, pretend = 0, frame = 0
54 @ frame_needed = 0, uses_anonymous_args = 0
55 .loc 1 100 1 is_stmt 0 view .LVU4
56 0000 00B5 push {lr}
57 .LCFI0:
58 .cfi_def_cfa_offset 4
59 .cfi_offset 14, -4
60 0002 83B0 sub sp, sp, #12
61 .LCFI1:
62 .cfi_def_cfa_offset 16
101:Src/bsp_driver_sd.c **** uint8_t sd_state = MSD_OK;
63 .loc 1 101 3 is_stmt 1 view .LVU5
64 .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)
65 .loc 1 103 3 view .LVU6
66 .loc 1 103 7 is_stmt 0 view .LVU7
67 0004 0093 str r3, [sp]
68 0006 1346 mov r3, r2
69 .LVL2:
70 .loc 1 103 7 view .LVU8
71 0008 0A46 mov r2, r1
ARM GAS /tmp/cckWiXI8.s page 4
72 .LVL3:
73 .loc 1 103 7 view .LVU9
74 000a 0146 mov r1, r0
75 .LVL4:
76 .loc 1 103 7 view .LVU10
77 000c 0348 ldr r0, .L6
78 .LVL5:
79 .loc 1 103 7 view .LVU11
80 000e FFF7FEFF bl HAL_SD_ReadBlocks
81 .LVL6:
82 .loc 1 103 6 view .LVU12
83 0012 00B1 cbz r0, .L3
104:Src/bsp_driver_sd.c **** {
105:Src/bsp_driver_sd.c **** sd_state = MSD_ERROR;
84 .loc 1 105 14 view .LVU13
85 0014 0120 movs r0, #1
86 .L3:
87 .LVL7:
106:Src/bsp_driver_sd.c **** }
107:Src/bsp_driver_sd.c ****
108:Src/bsp_driver_sd.c **** return sd_state;
88 .loc 1 108 3 is_stmt 1 view .LVU14
109:Src/bsp_driver_sd.c **** }
89 .loc 1 109 1 is_stmt 0 view .LVU15
90 0016 03B0 add sp, sp, #12
91 .LCFI2:
92 .cfi_def_cfa_offset 4
93 @ sp needed
94 0018 5DF804FB ldr pc, [sp], #4
95 .L7:
96 .align 2
97 .L6:
98 001c 00000000 .word hsd1
99 .cfi_endproc
100 .LFE143:
102 .section .text.BSP_SD_WriteBlocks,"ax",%progbits
103 .align 1
104 .weak BSP_SD_WriteBlocks
105 .syntax unified
106 .thumb
107 .thumb_func
108 .fpu fpv5-d16
110 BSP_SD_WriteBlocks:
111 .LVL8:
112 .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 **** */
ARM GAS /tmp/cckWiXI8.s page 5
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 **** {
113 .loc 1 123 1 is_stmt 1 view -0
114 .cfi_startproc
115 @ args = 0, pretend = 0, frame = 0
116 @ frame_needed = 0, uses_anonymous_args = 0
117 .loc 1 123 1 is_stmt 0 view .LVU17
118 0000 00B5 push {lr}
119 .LCFI3:
120 .cfi_def_cfa_offset 4
121 .cfi_offset 14, -4
122 0002 83B0 sub sp, sp, #12
123 .LCFI4:
124 .cfi_def_cfa_offset 16
124:Src/bsp_driver_sd.c **** uint8_t sd_state = MSD_OK;
125 .loc 1 124 3 is_stmt 1 view .LVU18
126 .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)
127 .loc 1 126 3 view .LVU19
128 .loc 1 126 7 is_stmt 0 view .LVU20
129 0004 0093 str r3, [sp]
130 0006 1346 mov r3, r2
131 .LVL10:
132 .loc 1 126 7 view .LVU21
133 0008 0A46 mov r2, r1
134 .LVL11:
135 .loc 1 126 7 view .LVU22
136 000a 0146 mov r1, r0
137 .LVL12:
138 .loc 1 126 7 view .LVU23
139 000c 0348 ldr r0, .L12
140 .LVL13:
141 .loc 1 126 7 view .LVU24
142 000e FFF7FEFF bl HAL_SD_WriteBlocks
143 .LVL14:
144 .loc 1 126 6 view .LVU25
145 0012 00B1 cbz r0, .L9
127:Src/bsp_driver_sd.c **** {
128:Src/bsp_driver_sd.c **** sd_state = MSD_ERROR;
146 .loc 1 128 14 view .LVU26
147 0014 0120 movs r0, #1
148 .L9:
149 .LVL15:
129:Src/bsp_driver_sd.c **** }
130:Src/bsp_driver_sd.c ****
131:Src/bsp_driver_sd.c **** return sd_state;
150 .loc 1 131 3 is_stmt 1 view .LVU27
132:Src/bsp_driver_sd.c **** }
151 .loc 1 132 1 is_stmt 0 view .LVU28
152 0016 03B0 add sp, sp, #12
153 .LCFI5:
154 .cfi_def_cfa_offset 4
155 @ sp needed
156 0018 5DF804FB ldr pc, [sp], #4
157 .L13:
158 .align 2
ARM GAS /tmp/cckWiXI8.s page 6
159 .L12:
160 001c 00000000 .word hsd1
161 .cfi_endproc
162 .LFE144:
164 .section .text.BSP_SD_ReadBlocks_DMA,"ax",%progbits
165 .align 1
166 .weak BSP_SD_ReadBlocks_DMA
167 .syntax unified
168 .thumb
169 .thumb_func
170 .fpu fpv5-d16
172 BSP_SD_ReadBlocks_DMA:
173 .LVL16:
174 .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 **** {
175 .loc 1 145 1 is_stmt 1 view -0
176 .cfi_startproc
177 @ args = 0, pretend = 0, frame = 0
178 @ frame_needed = 0, uses_anonymous_args = 0
179 .loc 1 145 1 is_stmt 0 view .LVU30
180 0000 08B5 push {r3, lr}
181 .LCFI6:
182 .cfi_def_cfa_offset 8
183 .cfi_offset 3, -8
184 .cfi_offset 14, -4
185 0002 1346 mov r3, r2
146:Src/bsp_driver_sd.c **** uint8_t sd_state = MSD_OK;
186 .loc 1 146 3 is_stmt 1 view .LVU31
187 .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)
188 .loc 1 149 3 view .LVU32
189 .loc 1 149 7 is_stmt 0 view .LVU33
190 0004 0A46 mov r2, r1
191 .LVL18:
192 .loc 1 149 7 view .LVU34
193 0006 0146 mov r1, r0
194 .LVL19:
195 .loc 1 149 7 view .LVU35
196 0008 0248 ldr r0, .L18
197 .LVL20:
198 .loc 1 149 7 view .LVU36
199 000a FFF7FEFF bl HAL_SD_ReadBlocks_DMA
200 .LVL21:
ARM GAS /tmp/cckWiXI8.s page 7
201 .loc 1 149 6 view .LVU37
202 000e 00B1 cbz r0, .L15
150:Src/bsp_driver_sd.c **** {
151:Src/bsp_driver_sd.c **** sd_state = MSD_ERROR;
203 .loc 1 151 14 view .LVU38
204 0010 0120 movs r0, #1
205 .L15:
206 .LVL22:
152:Src/bsp_driver_sd.c **** }
153:Src/bsp_driver_sd.c ****
154:Src/bsp_driver_sd.c **** return sd_state;
207 .loc 1 154 3 is_stmt 1 view .LVU39
155:Src/bsp_driver_sd.c **** }
208 .loc 1 155 1 is_stmt 0 view .LVU40
209 0012 08BD pop {r3, pc}
210 .L19:
211 .align 2
212 .L18:
213 0014 00000000 .word hsd1
214 .cfi_endproc
215 .LFE145:
217 .section .text.BSP_SD_WriteBlocks_DMA,"ax",%progbits
218 .align 1
219 .weak BSP_SD_WriteBlocks_DMA
220 .syntax unified
221 .thumb
222 .thumb_func
223 .fpu fpv5-d16
225 BSP_SD_WriteBlocks_DMA:
226 .LVL23:
227 .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 **** {
228 .loc 1 168 1 is_stmt 1 view -0
229 .cfi_startproc
230 @ args = 0, pretend = 0, frame = 0
231 @ frame_needed = 0, uses_anonymous_args = 0
232 .loc 1 168 1 is_stmt 0 view .LVU42
233 0000 08B5 push {r3, lr}
234 .LCFI7:
235 .cfi_def_cfa_offset 8
236 .cfi_offset 3, -8
237 .cfi_offset 14, -4
238 0002 1346 mov r3, r2
169:Src/bsp_driver_sd.c **** uint8_t sd_state = MSD_OK;
239 .loc 1 169 3 is_stmt 1 view .LVU43
ARM GAS /tmp/cckWiXI8.s page 8
240 .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)
241 .loc 1 172 3 view .LVU44
242 .loc 1 172 7 is_stmt 0 view .LVU45
243 0004 0A46 mov r2, r1
244 .LVL25:
245 .loc 1 172 7 view .LVU46
246 0006 0146 mov r1, r0
247 .LVL26:
248 .loc 1 172 7 view .LVU47
249 0008 0248 ldr r0, .L24
250 .LVL27:
251 .loc 1 172 7 view .LVU48
252 000a FFF7FEFF bl HAL_SD_WriteBlocks_DMA
253 .LVL28:
254 .loc 1 172 6 view .LVU49
255 000e 00B1 cbz r0, .L21
173:Src/bsp_driver_sd.c **** {
174:Src/bsp_driver_sd.c **** sd_state = MSD_ERROR;
256 .loc 1 174 14 view .LVU50
257 0010 0120 movs r0, #1
258 .L21:
259 .LVL29:
175:Src/bsp_driver_sd.c **** }
176:Src/bsp_driver_sd.c ****
177:Src/bsp_driver_sd.c **** return sd_state;
260 .loc 1 177 3 is_stmt 1 view .LVU51
178:Src/bsp_driver_sd.c **** }
261 .loc 1 178 1 is_stmt 0 view .LVU52
262 0012 08BD pop {r3, pc}
263 .L25:
264 .align 2
265 .L24:
266 0014 00000000 .word hsd1
267 .cfi_endproc
268 .LFE146:
270 .section .text.BSP_SD_Erase,"ax",%progbits
271 .align 1
272 .weak BSP_SD_Erase
273 .syntax unified
274 .thumb
275 .thumb_func
276 .fpu fpv5-d16
278 BSP_SD_Erase:
279 .LVL30:
280 .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
ARM GAS /tmp/cckWiXI8.s page 9
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 **** {
281 .loc 1 190 1 is_stmt 1 view -0
282 .cfi_startproc
283 @ args = 0, pretend = 0, frame = 0
284 @ frame_needed = 0, uses_anonymous_args = 0
285 .loc 1 190 1 is_stmt 0 view .LVU54
286 0000 08B5 push {r3, lr}
287 .LCFI8:
288 .cfi_def_cfa_offset 8
289 .cfi_offset 3, -8
290 .cfi_offset 14, -4
291 0002 0A46 mov r2, r1
191:Src/bsp_driver_sd.c **** uint8_t sd_state = MSD_OK;
292 .loc 1 191 3 is_stmt 1 view .LVU55
293 .LVL31:
192:Src/bsp_driver_sd.c ****
193:Src/bsp_driver_sd.c **** if (HAL_SD_Erase(&hsd1, StartAddr, EndAddr) != HAL_OK)
294 .loc 1 193 3 view .LVU56
295 .loc 1 193 7 is_stmt 0 view .LVU57
296 0004 0146 mov r1, r0
297 .LVL32:
298 .loc 1 193 7 view .LVU58
299 0006 0348 ldr r0, .L30
300 .LVL33:
301 .loc 1 193 7 view .LVU59
302 0008 FFF7FEFF bl HAL_SD_Erase
303 .LVL34:
304 .loc 1 193 6 view .LVU60
305 000c 00B1 cbz r0, .L27
194:Src/bsp_driver_sd.c **** {
195:Src/bsp_driver_sd.c **** sd_state = MSD_ERROR;
306 .loc 1 195 14 view .LVU61
307 000e 0120 movs r0, #1
308 .L27:
309 .LVL35:
196:Src/bsp_driver_sd.c **** }
197:Src/bsp_driver_sd.c ****
198:Src/bsp_driver_sd.c **** return sd_state;
310 .loc 1 198 3 is_stmt 1 view .LVU62
199:Src/bsp_driver_sd.c **** }
311 .loc 1 199 1 is_stmt 0 view .LVU63
312 0010 08BD pop {r3, pc}
313 .L31:
314 0012 00BF .align 2
315 .L30:
316 0014 00000000 .word hsd1
317 .cfi_endproc
318 .LFE147:
320 .section .text.BSP_SD_GetCardState,"ax",%progbits
321 .align 1
322 .weak BSP_SD_GetCardState
323 .syntax unified
324 .thumb
325 .thumb_func
326 .fpu fpv5-d16
ARM GAS /tmp/cckWiXI8.s page 10
328 BSP_SD_GetCardState:
329 .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 */
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 **** {
330 .loc 1 214 1 is_stmt 1 view -0
331 .cfi_startproc
332 @ args = 0, pretend = 0, frame = 0
333 @ frame_needed = 0, uses_anonymous_args = 0
334 0000 08B5 push {r3, lr}
335 .LCFI9:
336 .cfi_def_cfa_offset 8
337 .cfi_offset 3, -8
338 .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
339 .loc 1 215 3 view .LVU65
340 .loc 1 215 12 is_stmt 0 view .LVU66
341 0002 0348 ldr r0, .L34
342 0004 FFF7FEFF bl HAL_SD_GetCardState
343 .LVL36:
216:Src/bsp_driver_sd.c **** }
344 .loc 1 216 1 view .LVU67
345 0008 0438 subs r0, r0, #4
346 000a 18BF it ne
347 000c 0120 movne r0, #1
348 000e 08BD pop {r3, pc}
349 .L35:
350 .align 2
351 .L34:
352 0010 00000000 .word hsd1
353 .cfi_endproc
354 .LFE148:
356 .section .text.BSP_SD_GetCardInfo,"ax",%progbits
357 .align 1
358 .weak BSP_SD_GetCardInfo
359 .syntax unified
360 .thumb
361 .thumb_func
362 .fpu fpv5-d16
364 BSP_SD_GetCardInfo:
365 .LVL37:
366 .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.
ARM GAS /tmp/cckWiXI8.s page 11
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 **** {
367 .loc 1 224 1 is_stmt 1 view -0
368 .cfi_startproc
369 @ args = 0, pretend = 0, frame = 0
370 @ frame_needed = 0, uses_anonymous_args = 0
371 .loc 1 224 1 is_stmt 0 view .LVU69
372 0000 08B5 push {r3, lr}
373 .LCFI10:
374 .cfi_def_cfa_offset 8
375 .cfi_offset 3, -8
376 .cfi_offset 14, -4
377 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);
378 .loc 1 226 3 is_stmt 1 view .LVU70
379 0004 0148 ldr r0, .L38
380 .LVL38:
381 .loc 1 226 3 is_stmt 0 view .LVU71
382 0006 FFF7FEFF bl HAL_SD_GetCardInfo
383 .LVL39:
227:Src/bsp_driver_sd.c **** }
384 .loc 1 227 1 view .LVU72
385 000a 08BD pop {r3, pc}
386 .L39:
387 .align 2
388 .L38:
389 000c 00000000 .word hsd1
390 .cfi_endproc
391 .LFE149:
393 .section .text.BSP_SD_AbortCallback,"ax",%progbits
394 .align 1
395 .weak BSP_SD_AbortCallback
396 .syntax unified
397 .thumb
398 .thumb_func
399 .fpu fpv5-d16
401 BSP_SD_AbortCallback:
402 .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 **** /**
ARM GAS /tmp/cckWiXI8.s page 12
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 **** }
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 **** {
403 .loc 1 269 1 is_stmt 1 view -0
404 .cfi_startproc
405 @ args = 0, pretend = 0, frame = 0
406 @ frame_needed = 0, uses_anonymous_args = 0
407 @ link register save eliminated.
270:Src/bsp_driver_sd.c ****
271:Src/bsp_driver_sd.c **** }
408 .loc 1 271 1 view .LVU74
409 0000 7047 bx lr
410 .cfi_endproc
411 .LFE153:
413 .section .text.HAL_SD_AbortCallback,"ax",%progbits
414 .align 1
415 .global HAL_SD_AbortCallback
416 .syntax unified
417 .thumb
418 .thumb_func
419 .fpu fpv5-d16
421 HAL_SD_AbortCallback:
422 .LVL40:
423 .LFB150:
238:Src/bsp_driver_sd.c **** BSP_SD_AbortCallback();
424 .loc 1 238 1 view -0
425 .cfi_startproc
426 @ args = 0, pretend = 0, frame = 0
427 @ frame_needed = 0, uses_anonymous_args = 0
238:Src/bsp_driver_sd.c **** BSP_SD_AbortCallback();
428 .loc 1 238 1 is_stmt 0 view .LVU76
429 0000 08B5 push {r3, lr}
430 .LCFI11:
ARM GAS /tmp/cckWiXI8.s page 13
431 .cfi_def_cfa_offset 8
432 .cfi_offset 3, -8
433 .cfi_offset 14, -4
239:Src/bsp_driver_sd.c **** }
434 .loc 1 239 3 is_stmt 1 view .LVU77
435 0002 FFF7FEFF bl BSP_SD_AbortCallback
436 .LVL41:
240:Src/bsp_driver_sd.c ****
437 .loc 1 240 1 is_stmt 0 view .LVU78
438 0006 08BD pop {r3, pc}
439 .cfi_endproc
440 .LFE150:
442 .section .text.BSP_SD_WriteCpltCallback,"ax",%progbits
443 .align 1
444 .weak BSP_SD_WriteCpltCallback
445 .syntax unified
446 .thumb
447 .thumb_func
448 .fpu fpv5-d16
450 BSP_SD_WriteCpltCallback:
451 .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 **** {
452 .loc 1 279 1 is_stmt 1 view -0
453 .cfi_startproc
454 @ args = 0, pretend = 0, frame = 0
455 @ frame_needed = 0, uses_anonymous_args = 0
456 @ link register save eliminated.
280:Src/bsp_driver_sd.c ****
281:Src/bsp_driver_sd.c **** }
457 .loc 1 281 1 view .LVU80
458 0000 7047 bx lr
459 .cfi_endproc
460 .LFE154:
462 .section .text.HAL_SD_TxCpltCallback,"ax",%progbits
463 .align 1
464 .global HAL_SD_TxCpltCallback
465 .syntax unified
466 .thumb
467 .thumb_func
468 .fpu fpv5-d16
470 HAL_SD_TxCpltCallback:
471 .LVL42:
472 .LFB151:
248:Src/bsp_driver_sd.c **** BSP_SD_WriteCpltCallback();
473 .loc 1 248 1 view -0
474 .cfi_startproc
475 @ args = 0, pretend = 0, frame = 0
476 @ frame_needed = 0, uses_anonymous_args = 0
248:Src/bsp_driver_sd.c **** BSP_SD_WriteCpltCallback();
477 .loc 1 248 1 is_stmt 0 view .LVU82
ARM GAS /tmp/cckWiXI8.s page 14
478 0000 08B5 push {r3, lr}
479 .LCFI12:
480 .cfi_def_cfa_offset 8
481 .cfi_offset 3, -8
482 .cfi_offset 14, -4
249:Src/bsp_driver_sd.c **** }
483 .loc 1 249 3 is_stmt 1 view .LVU83
484 0002 FFF7FEFF bl BSP_SD_WriteCpltCallback
485 .LVL43:
250:Src/bsp_driver_sd.c ****
486 .loc 1 250 1 is_stmt 0 view .LVU84
487 0006 08BD pop {r3, pc}
488 .cfi_endproc
489 .LFE151:
491 .section .text.BSP_SD_ReadCpltCallback,"ax",%progbits
492 .align 1
493 .weak BSP_SD_ReadCpltCallback
494 .syntax unified
495 .thumb
496 .thumb_func
497 .fpu fpv5-d16
499 BSP_SD_ReadCpltCallback:
500 .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 **** {
501 .loc 1 289 1 is_stmt 1 view -0
502 .cfi_startproc
503 @ args = 0, pretend = 0, frame = 0
504 @ frame_needed = 0, uses_anonymous_args = 0
505 @ link register save eliminated.
290:Src/bsp_driver_sd.c ****
291:Src/bsp_driver_sd.c **** }
506 .loc 1 291 1 view .LVU86
507 0000 7047 bx lr
508 .cfi_endproc
509 .LFE155:
511 .section .text.HAL_SD_RxCpltCallback,"ax",%progbits
512 .align 1
513 .global HAL_SD_RxCpltCallback
514 .syntax unified
515 .thumb
516 .thumb_func
517 .fpu fpv5-d16
519 HAL_SD_RxCpltCallback:
520 .LVL44:
521 .LFB152:
258:Src/bsp_driver_sd.c **** BSP_SD_ReadCpltCallback();
522 .loc 1 258 1 view -0
523 .cfi_startproc
524 @ args = 0, pretend = 0, frame = 0
525 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/cckWiXI8.s page 15
258:Src/bsp_driver_sd.c **** BSP_SD_ReadCpltCallback();
526 .loc 1 258 1 is_stmt 0 view .LVU88
527 0000 08B5 push {r3, lr}
528 .LCFI13:
529 .cfi_def_cfa_offset 8
530 .cfi_offset 3, -8
531 .cfi_offset 14, -4
259:Src/bsp_driver_sd.c **** }
532 .loc 1 259 3 is_stmt 1 view .LVU89
533 0002 FFF7FEFF bl BSP_SD_ReadCpltCallback
534 .LVL45:
260:Src/bsp_driver_sd.c ****
535 .loc 1 260 1 is_stmt 0 view .LVU90
536 0006 08BD pop {r3, pc}
537 .cfi_endproc
538 .LFE152:
540 .section .text.BSP_SD_IsDetected,"ax",%progbits
541 .align 1
542 .weak BSP_SD_IsDetected
543 .syntax unified
544 .thumb
545 .thumb_func
546 .fpu fpv5-d16
548 BSP_SD_IsDetected:
549 .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 **** {
550 .loc 1 301 1 is_stmt 1 view -0
551 .cfi_startproc
552 @ args = 0, pretend = 0, frame = 8
553 @ frame_needed = 0, uses_anonymous_args = 0
554 0000 00B5 push {lr}
555 .LCFI14:
556 .cfi_def_cfa_offset 4
557 .cfi_offset 14, -4
558 0002 83B0 sub sp, sp, #12
559 .LCFI15:
560 .cfi_def_cfa_offset 16
302:Src/bsp_driver_sd.c **** __IO uint8_t status = SD_PRESENT;
561 .loc 1 302 3 view .LVU92
562 .loc 1 302 16 is_stmt 0 view .LVU93
563 0004 0123 movs r3, #1
564 0006 8DF80730 strb r3, [sp, #7]
303:Src/bsp_driver_sd.c ****
304:Src/bsp_driver_sd.c **** if (BSP_PlatformIsDetected() == 0x0)
565 .loc 1 304 3 is_stmt 1 view .LVU94
566 .loc 1 304 7 is_stmt 0 view .LVU95
567 000a FFF7FEFF bl BSP_PlatformIsDetected
568 .LVL46:
ARM GAS /tmp/cckWiXI8.s page 16
569 .loc 1 304 6 view .LVU96
570 000e 10B9 cbnz r0, .L50
305:Src/bsp_driver_sd.c **** {
306:Src/bsp_driver_sd.c **** status = SD_NOT_PRESENT;
571 .loc 1 306 5 is_stmt 1 view .LVU97
572 .loc 1 306 12 is_stmt 0 view .LVU98
573 0010 0023 movs r3, #0
574 0012 8DF80730 strb r3, [sp, #7]
575 .L50:
307:Src/bsp_driver_sd.c **** }
308:Src/bsp_driver_sd.c ****
309:Src/bsp_driver_sd.c **** return status;
576 .loc 1 309 3 is_stmt 1 view .LVU99
577 .loc 1 309 10 is_stmt 0 view .LVU100
578 0016 9DF80700 ldrb r0, [sp, #7] @ zero_extendqisi2
310:Src/bsp_driver_sd.c **** }
579 .loc 1 310 1 view .LVU101
580 001a 03B0 add sp, sp, #12
581 .LCFI16:
582 .cfi_def_cfa_offset 4
583 @ sp needed
584 001c 5DF804FB ldr pc, [sp], #4
585 .cfi_endproc
586 .LFE156:
588 .section .text.BSP_SD_Init,"ax",%progbits
589 .align 1
590 .weak BSP_SD_Init
591 .syntax unified
592 .thumb
593 .thumb_func
594 .fpu fpv5-d16
596 BSP_SD_Init:
597 .LFB141:
49:Src/bsp_driver_sd.c **** uint8_t sd_state = MSD_OK;
598 .loc 1 49 1 is_stmt 1 view -0
599 .cfi_startproc
600 @ args = 0, pretend = 0, frame = 0
601 @ frame_needed = 0, uses_anonymous_args = 0
602 0000 38B5 push {r3, r4, r5, lr}
603 .LCFI17:
604 .cfi_def_cfa_offset 16
605 .cfi_offset 3, -16
606 .cfi_offset 4, -12
607 .cfi_offset 5, -8
608 .cfi_offset 14, -4
50:Src/bsp_driver_sd.c **** /* Check if the SD card is plugged in the slot */
609 .loc 1 50 3 view .LVU103
610 .LVL47:
52:Src/bsp_driver_sd.c **** {
611 .loc 1 52 3 view .LVU104
52:Src/bsp_driver_sd.c **** {
612 .loc 1 52 7 is_stmt 0 view .LVU105
613 0002 FFF7FEFF bl BSP_SD_IsDetected
614 .LVL48:
52:Src/bsp_driver_sd.c **** {
615 .loc 1 52 6 view .LVU106
616 0006 0128 cmp r0, #1
ARM GAS /tmp/cckWiXI8.s page 17
617 0008 02D0 beq .L57
54:Src/bsp_driver_sd.c **** }
618 .loc 1 54 12 view .LVU107
619 000a 0225 movs r5, #2
620 .LVL49:
621 .L53:
69:Src/bsp_driver_sd.c **** /* USER CODE BEGIN AfterInitSection */
622 .loc 1 69 1 view .LVU108
623 000c 2846 mov r0, r5
624 000e 38BD pop {r3, r4, r5, pc}
625 .LVL50:
626 .L57:
69:Src/bsp_driver_sd.c **** /* USER CODE BEGIN AfterInitSection */
627 .loc 1 69 1 view .LVU109
628 0010 0446 mov r4, r0
57:Src/bsp_driver_sd.c **** /* Configure SD Bus width (4 bits mode selected) */
629 .loc 1 57 3 is_stmt 1 view .LVU110
57:Src/bsp_driver_sd.c **** /* Configure SD Bus width (4 bits mode selected) */
630 .loc 1 57 14 is_stmt 0 view .LVU111
631 0012 0748 ldr r0, .L58
632 0014 FFF7FEFF bl HAL_SD_Init
633 .LVL51:
59:Src/bsp_driver_sd.c **** {
634 .loc 1 59 3 is_stmt 1 view .LVU112
59:Src/bsp_driver_sd.c **** {
635 .loc 1 59 6 is_stmt 0 view .LVU113
636 0018 0546 mov r5, r0
637 001a 0028 cmp r0, #0
638 001c F6D1 bne .L53
62:Src/bsp_driver_sd.c **** {
639 .loc 1 62 5 is_stmt 1 view .LVU114
62:Src/bsp_driver_sd.c **** {
640 .loc 1 62 9 is_stmt 0 view .LVU115
641 001e 4FF40061 mov r1, #2048
642 0022 0348 ldr r0, .L58
643 .LVL52:
62:Src/bsp_driver_sd.c **** {
644 .loc 1 62 9 view .LVU116
645 0024 FFF7FEFF bl HAL_SD_ConfigWideBusOperation
646 .LVL53:
62:Src/bsp_driver_sd.c **** {
647 .loc 1 62 8 view .LVU117
648 0028 0028 cmp r0, #0
649 002a EFD0 beq .L53
64:Src/bsp_driver_sd.c **** }
650 .loc 1 64 16 view .LVU118
651 002c 2546 mov r5, r4
652 002e EDE7 b .L53
653 .L59:
654 .align 2
655 .L58:
656 0030 00000000 .word hsd1
657 .cfi_endproc
658 .LFE141:
660 .text
661 .Letext0:
662 .file 2 "/usr/lib/gcc/arm-none-eabi/10.3.1/include/stdint.h"
ARM GAS /tmp/cckWiXI8.s page 18
663 .file 3 "Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f767xx.h"
664 .file 4 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_def.h"
665 .file 5 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_dma.h"
666 .file 6 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_sdmmc.h"
667 .file 7 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_sd.h"
668 .file 8 "Inc/fatfs_platform.h"
ARM GAS /tmp/cckWiXI8.s page 19
DEFINED SYMBOLS
*ABS*:0000000000000000 bsp_driver_sd.c
/tmp/cckWiXI8.s:17 .text.BSP_SD_ITConfig:0000000000000000 $t
/tmp/cckWiXI8.s:25 .text.BSP_SD_ITConfig:0000000000000000 BSP_SD_ITConfig
/tmp/cckWiXI8.s:41 .text.BSP_SD_ReadBlocks:0000000000000000 $t
/tmp/cckWiXI8.s:48 .text.BSP_SD_ReadBlocks:0000000000000000 BSP_SD_ReadBlocks
/tmp/cckWiXI8.s:98 .text.BSP_SD_ReadBlocks:000000000000001c $d
/tmp/cckWiXI8.s:103 .text.BSP_SD_WriteBlocks:0000000000000000 $t
/tmp/cckWiXI8.s:110 .text.BSP_SD_WriteBlocks:0000000000000000 BSP_SD_WriteBlocks
/tmp/cckWiXI8.s:160 .text.BSP_SD_WriteBlocks:000000000000001c $d
/tmp/cckWiXI8.s:165 .text.BSP_SD_ReadBlocks_DMA:0000000000000000 $t
/tmp/cckWiXI8.s:172 .text.BSP_SD_ReadBlocks_DMA:0000000000000000 BSP_SD_ReadBlocks_DMA
/tmp/cckWiXI8.s:213 .text.BSP_SD_ReadBlocks_DMA:0000000000000014 $d
/tmp/cckWiXI8.s:218 .text.BSP_SD_WriteBlocks_DMA:0000000000000000 $t
/tmp/cckWiXI8.s:225 .text.BSP_SD_WriteBlocks_DMA:0000000000000000 BSP_SD_WriteBlocks_DMA
/tmp/cckWiXI8.s:266 .text.BSP_SD_WriteBlocks_DMA:0000000000000014 $d
/tmp/cckWiXI8.s:271 .text.BSP_SD_Erase:0000000000000000 $t
/tmp/cckWiXI8.s:278 .text.BSP_SD_Erase:0000000000000000 BSP_SD_Erase
/tmp/cckWiXI8.s:316 .text.BSP_SD_Erase:0000000000000014 $d
/tmp/cckWiXI8.s:321 .text.BSP_SD_GetCardState:0000000000000000 $t
/tmp/cckWiXI8.s:328 .text.BSP_SD_GetCardState:0000000000000000 BSP_SD_GetCardState
/tmp/cckWiXI8.s:352 .text.BSP_SD_GetCardState:0000000000000010 $d
/tmp/cckWiXI8.s:357 .text.BSP_SD_GetCardInfo:0000000000000000 $t
/tmp/cckWiXI8.s:364 .text.BSP_SD_GetCardInfo:0000000000000000 BSP_SD_GetCardInfo
/tmp/cckWiXI8.s:389 .text.BSP_SD_GetCardInfo:000000000000000c $d
/tmp/cckWiXI8.s:394 .text.BSP_SD_AbortCallback:0000000000000000 $t
/tmp/cckWiXI8.s:401 .text.BSP_SD_AbortCallback:0000000000000000 BSP_SD_AbortCallback
/tmp/cckWiXI8.s:414 .text.HAL_SD_AbortCallback:0000000000000000 $t
/tmp/cckWiXI8.s:421 .text.HAL_SD_AbortCallback:0000000000000000 HAL_SD_AbortCallback
/tmp/cckWiXI8.s:443 .text.BSP_SD_WriteCpltCallback:0000000000000000 $t
/tmp/cckWiXI8.s:450 .text.BSP_SD_WriteCpltCallback:0000000000000000 BSP_SD_WriteCpltCallback
/tmp/cckWiXI8.s:463 .text.HAL_SD_TxCpltCallback:0000000000000000 $t
/tmp/cckWiXI8.s:470 .text.HAL_SD_TxCpltCallback:0000000000000000 HAL_SD_TxCpltCallback
/tmp/cckWiXI8.s:492 .text.BSP_SD_ReadCpltCallback:0000000000000000 $t
/tmp/cckWiXI8.s:499 .text.BSP_SD_ReadCpltCallback:0000000000000000 BSP_SD_ReadCpltCallback
/tmp/cckWiXI8.s:512 .text.HAL_SD_RxCpltCallback:0000000000000000 $t
/tmp/cckWiXI8.s:519 .text.HAL_SD_RxCpltCallback:0000000000000000 HAL_SD_RxCpltCallback
/tmp/cckWiXI8.s:541 .text.BSP_SD_IsDetected:0000000000000000 $t
/tmp/cckWiXI8.s:548 .text.BSP_SD_IsDetected:0000000000000000 BSP_SD_IsDetected
/tmp/cckWiXI8.s:589 .text.BSP_SD_Init:0000000000000000 $t
/tmp/cckWiXI8.s:596 .text.BSP_SD_Init:0000000000000000 BSP_SD_Init
/tmp/cckWiXI8.s:656 .text.BSP_SD_Init:0000000000000030 $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