1088 lines
48 KiB
Plaintext
1088 lines
48 KiB
Plaintext
ARM GAS /tmp/ccLisECN.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/ccLisECN.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/ccLisECN.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/ccLisECN.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/ccLisECN.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/ccLisECN.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/ccLisECN.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/ccLisECN.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/ccLisECN.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/ccLisECN.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/ccLisECN.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/ccLisECN.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/ccLisECN.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/ccLisECN.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/ccLisECN.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/ccLisECN.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/ccLisECN.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/ccLisECN.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/ccLisECN.s page 19
|
||
|
||
|
||
DEFINED SYMBOLS
|
||
*ABS*:0000000000000000 bsp_driver_sd.c
|
||
/tmp/ccLisECN.s:17 .text.BSP_SD_ITConfig:0000000000000000 $t
|
||
/tmp/ccLisECN.s:25 .text.BSP_SD_ITConfig:0000000000000000 BSP_SD_ITConfig
|
||
/tmp/ccLisECN.s:41 .text.BSP_SD_ReadBlocks:0000000000000000 $t
|
||
/tmp/ccLisECN.s:48 .text.BSP_SD_ReadBlocks:0000000000000000 BSP_SD_ReadBlocks
|
||
/tmp/ccLisECN.s:98 .text.BSP_SD_ReadBlocks:000000000000001c $d
|
||
/tmp/ccLisECN.s:103 .text.BSP_SD_WriteBlocks:0000000000000000 $t
|
||
/tmp/ccLisECN.s:110 .text.BSP_SD_WriteBlocks:0000000000000000 BSP_SD_WriteBlocks
|
||
/tmp/ccLisECN.s:160 .text.BSP_SD_WriteBlocks:000000000000001c $d
|
||
/tmp/ccLisECN.s:165 .text.BSP_SD_ReadBlocks_DMA:0000000000000000 $t
|
||
/tmp/ccLisECN.s:172 .text.BSP_SD_ReadBlocks_DMA:0000000000000000 BSP_SD_ReadBlocks_DMA
|
||
/tmp/ccLisECN.s:213 .text.BSP_SD_ReadBlocks_DMA:0000000000000014 $d
|
||
/tmp/ccLisECN.s:218 .text.BSP_SD_WriteBlocks_DMA:0000000000000000 $t
|
||
/tmp/ccLisECN.s:225 .text.BSP_SD_WriteBlocks_DMA:0000000000000000 BSP_SD_WriteBlocks_DMA
|
||
/tmp/ccLisECN.s:266 .text.BSP_SD_WriteBlocks_DMA:0000000000000014 $d
|
||
/tmp/ccLisECN.s:271 .text.BSP_SD_Erase:0000000000000000 $t
|
||
/tmp/ccLisECN.s:278 .text.BSP_SD_Erase:0000000000000000 BSP_SD_Erase
|
||
/tmp/ccLisECN.s:316 .text.BSP_SD_Erase:0000000000000014 $d
|
||
/tmp/ccLisECN.s:321 .text.BSP_SD_GetCardState:0000000000000000 $t
|
||
/tmp/ccLisECN.s:328 .text.BSP_SD_GetCardState:0000000000000000 BSP_SD_GetCardState
|
||
/tmp/ccLisECN.s:352 .text.BSP_SD_GetCardState:0000000000000010 $d
|
||
/tmp/ccLisECN.s:357 .text.BSP_SD_GetCardInfo:0000000000000000 $t
|
||
/tmp/ccLisECN.s:364 .text.BSP_SD_GetCardInfo:0000000000000000 BSP_SD_GetCardInfo
|
||
/tmp/ccLisECN.s:389 .text.BSP_SD_GetCardInfo:000000000000000c $d
|
||
/tmp/ccLisECN.s:394 .text.BSP_SD_AbortCallback:0000000000000000 $t
|
||
/tmp/ccLisECN.s:401 .text.BSP_SD_AbortCallback:0000000000000000 BSP_SD_AbortCallback
|
||
/tmp/ccLisECN.s:414 .text.HAL_SD_AbortCallback:0000000000000000 $t
|
||
/tmp/ccLisECN.s:421 .text.HAL_SD_AbortCallback:0000000000000000 HAL_SD_AbortCallback
|
||
/tmp/ccLisECN.s:443 .text.BSP_SD_WriteCpltCallback:0000000000000000 $t
|
||
/tmp/ccLisECN.s:450 .text.BSP_SD_WriteCpltCallback:0000000000000000 BSP_SD_WriteCpltCallback
|
||
/tmp/ccLisECN.s:463 .text.HAL_SD_TxCpltCallback:0000000000000000 $t
|
||
/tmp/ccLisECN.s:470 .text.HAL_SD_TxCpltCallback:0000000000000000 HAL_SD_TxCpltCallback
|
||
/tmp/ccLisECN.s:492 .text.BSP_SD_ReadCpltCallback:0000000000000000 $t
|
||
/tmp/ccLisECN.s:499 .text.BSP_SD_ReadCpltCallback:0000000000000000 BSP_SD_ReadCpltCallback
|
||
/tmp/ccLisECN.s:512 .text.HAL_SD_RxCpltCallback:0000000000000000 $t
|
||
/tmp/ccLisECN.s:519 .text.HAL_SD_RxCpltCallback:0000000000000000 HAL_SD_RxCpltCallback
|
||
/tmp/ccLisECN.s:541 .text.BSP_SD_IsDetected:0000000000000000 $t
|
||
/tmp/ccLisECN.s:548 .text.BSP_SD_IsDetected:0000000000000000 BSP_SD_IsDetected
|
||
/tmp/ccLisECN.s:589 .text.BSP_SD_Init:0000000000000000 $t
|
||
/tmp/ccLisECN.s:596 .text.BSP_SD_Init:0000000000000000 BSP_SD_Init
|
||
/tmp/ccLisECN.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
|