Files
RadioPhotonic_PCB_software/build/stm32f7xx_hal_sd.lst

12949 lines
773 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/ccMMu31U.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 "stm32f7xx_hal_sd.c"
15 .text
16 .Ltext0:
17 .cfi_sections .debug_frame
18 .file 1 "Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c"
19 .section .text.SD_DMATransmitCplt,"ax",%progbits
20 .align 1
21 .syntax unified
22 .thumb
23 .thumb_func
25 SD_DMATransmitCplt:
26 .LVL0:
27 .LFB168:
1:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ******************************************************************************
3:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @file stm32f7xx_hal_sd.c
4:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @author MCD Application Team
5:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief SD card HAL module driver.
6:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * functionalities of the Secure Digital (SD) peripheral:
8:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * + IO operation functions
10:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * + Peripheral Control functions
11:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * + Peripheral State functions
12:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *
13:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ******************************************************************************
14:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @attention
15:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *
16:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * Copyright (c) 2017 STMicroelectronics.
17:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * All rights reserved.
18:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *
19:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * This software is licensed under terms that can be found in the LICENSE file
20:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * in the root directory of this software component.
21:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
22:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *
23:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ******************************************************************************
24:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** @verbatim
25:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ==============================================================================
26:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ##### How to use this driver #####
27:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ==============================================================================
28:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** [..]
29:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** This driver implements a high level communication layer for read and write from/to
30:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** this memory. The needed STM32 hardware resources (SDMMC and GPIO) are performed by
31:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** the user in HAL_SD_MspInit() function (MSP layer).
ARM GAS /tmp/ccMMu31U.s page 2
32:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Basically, the MSP layer configuration should be the same as we provide in the
33:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** examples.
34:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** You can easily tailor this configuration according to hardware resources.
35:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
36:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** [..]
37:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** This driver is a generic layered driver for SDMMC memories which uses the HAL
38:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC driver functions to interface with SD and uSD cards devices.
39:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** It is used as follows:
40:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
41:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (#)Initialize the SDMMC low level resources by implementing the HAL_SD_MspInit() API:
42:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (##) Enable the SDMMC interface clock using __HAL_RCC_SDMMC_CLK_ENABLE();
43:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (##) SDMMC pins configuration for SD card
44:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+++) Enable the clock for the SDMMC GPIOs using the functions __HAL_RCC_GPIOx_CLK_ENAB
45:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+++) Configure these SDMMC pins as alternate function pull-up using HAL_GPIO_Init()
46:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** and according to your pin assignment;
47:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (##) DMA configuration if you need to use DMA process (HAL_SD_ReadBlocks_DMA()
48:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** and HAL_SD_WriteBlocks_DMA() APIs).
49:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+++) Enable the DMAx interface clock using __HAL_RCC_DMAx_CLK_ENABLE();
50:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+++) Configure the DMA using the function HAL_DMA_Init() with predeclared and filled.
51:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (##) NVIC configuration if you need to use interrupt process when using DMA transfer.
52:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+++) Configure the SDMMC and DMA interrupt priorities using functions
53:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_NVIC_SetPriority(); DMA priority is superior to SDMMC's priority
54:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+++) Enable the NVIC DMA and SDMMC IRQs using function HAL_NVIC_EnableIRQ()
55:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+++) SDMMC interrupts are managed using the macros __HAL_SD_ENABLE_IT()
56:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** and __HAL_SD_DISABLE_IT() inside the communication process.
57:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+++) SDMMC interrupts pending bits are managed using the macros __HAL_SD_GET_IT()
58:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** and __HAL_SD_CLEAR_IT()
59:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (##) NVIC configuration if you need to use interrupt process (HAL_SD_ReadBlocks_IT()
60:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** and HAL_SD_WriteBlocks_IT() APIs).
61:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+++) Configure the SDMMC interrupt priorities using function HAL_NVIC_SetPriority();
62:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+++) Enable the NVIC SDMMC IRQs using function HAL_NVIC_EnableIRQ()
63:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+++) SDMMC interrupts are managed using the macros __HAL_SD_ENABLE_IT()
64:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** and __HAL_SD_DISABLE_IT() inside the communication process.
65:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+++) SDMMC interrupts pending bits are managed using the macros __HAL_SD_GET_IT()
66:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** and __HAL_SD_CLEAR_IT()
67:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (#) At this stage, you can perform SD read/write/erase operations after SD card initialization
68:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
69:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
70:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *** SD Card Initialization and configuration ***
71:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ================================================
72:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** [..]
73:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** To initialize the SD Card, use the HAL_SD_Init() function. It Initializes
74:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC Peripheral(STM32 side) and the SD Card, and put it into StandBy State (Ready for data tra
75:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** This function provide the following operations:
76:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
77:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (#) Apply the SD Card initialization process at 400KHz and check the SD Card
78:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** type (Standard Capacity or High Capacity). You can change or adapt this
79:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** frequency by adjusting the "ClockDiv" field.
80:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** The SD Card frequency (SDMMC_CK) is computed as follows:
81:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
82:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_CK = SDMMCCLK / (ClockDiv + 2)
83:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
84:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** In initialization mode and according to the SD Card standard,
85:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** make sure that the SDMMC_CK frequency doesn't exceed 400KHz.
86:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
87:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** This phase of initialization is done through SDMMC_Init() and
88:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_PowerState_ON() SDMMC low level APIs.
ARM GAS /tmp/ccMMu31U.s page 3
89:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
90:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (#) Initialize the SD card. The API used is HAL_SD_InitCard().
91:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** This phase allows the card initialization and identification
92:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** and check the SD Card type (Standard Capacity or High Capacity)
93:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** The initialization flow is compatible with SD standard.
94:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
95:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** This API (HAL_SD_InitCard()) could be used also to reinitialize the card in case
96:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** of plug-off plug-in.
97:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
98:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (#) Configure the SD Card Data transfer frequency. You can change or adapt this
99:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** frequency by adjusting the "ClockDiv" field.
100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** In transfer mode and according to the SD Card standard, make sure that the
101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_CK frequency doesn't exceed 25MHz and 50MHz in High-speed mode switch.
102:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** To be able to use a frequency higher than 24MHz, you should use the SDMMC
103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** peripheral in bypass mode. Refer to the corresponding reference manual
104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** for more details.
105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
106:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (#) Select the corresponding SD Card according to the address read with the step 2.
107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (#) Configure the SD Card in wide bus mode: 4-bits data.
109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *** SD Card Read operation ***
111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ==============================
112:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** [..]
113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) You can read from SD card in polling mode by using function HAL_SD_ReadBlocks().
114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** This function support only 512-bytes block length (the block size should be
115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** chosen as 512 bytes).
116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** You can choose either one block read operation or multiple block read operation
117:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** by adjusting the "NumberOfBlocks" parameter.
118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** After this, you have to ensure that the transfer is done correctly. The check is done
119:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** through HAL_SD_GetCardState() function for SD card state.
120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) You can read from SD card in DMA mode by using function HAL_SD_ReadBlocks_DMA().
122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** This function support only 512-bytes block length (the block size should be
123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** chosen as 512 bytes).
124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** You can choose either one block read operation or multiple block read operation
125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** by adjusting the "NumberOfBlocks" parameter.
126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** After this, you have to ensure that the transfer is done correctly. The check is done
127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** through HAL_SD_GetCardState() function for SD card state.
128:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** You could also check the DMA transfer process through the SD Rx interrupt event.
129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) You can read from SD card in Interrupt mode by using function HAL_SD_ReadBlocks_IT().
131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** This function support only 512-bytes block length (the block size should be
132:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** chosen as 512 bytes).
133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** You can choose either one block read operation or multiple block read operation
134:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** by adjusting the "NumberOfBlocks" parameter.
135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** After this, you have to ensure that the transfer is done correctly. The check is done
136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** through HAL_SD_GetCardState() function for SD card state.
137:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** You could also check the IT transfer process through the SD Rx interrupt event.
138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *** SD Card Write operation ***
140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ===============================
141:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** [..]
142:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) You can write to SD card in polling mode by using function HAL_SD_WriteBlocks().
143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** This function support only 512-bytes block length (the block size should be
144:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** chosen as 512 bytes).
145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** You can choose either one block read operation or multiple block read operation
ARM GAS /tmp/ccMMu31U.s page 4
146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** by adjusting the "NumberOfBlocks" parameter.
147:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** After this, you have to ensure that the transfer is done correctly. The check is done
148:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** through HAL_SD_GetCardState() function for SD card state.
149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) You can write to SD card in DMA mode by using function HAL_SD_WriteBlocks_DMA().
151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** This function support only 512-bytes block length (the block size should be
152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** chosen as 512 bytes).
153:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** You can choose either one block read operation or multiple block read operation
154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** by adjusting the "NumberOfBlocks" parameter.
155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** After this, you have to ensure that the transfer is done correctly. The check is done
156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** through HAL_SD_GetCardState() function for SD card state.
157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** You could also check the DMA transfer process through the SD Tx interrupt event.
158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) You can write to SD card in Interrupt mode by using function HAL_SD_WriteBlocks_IT().
160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** This function support only 512-bytes block length (the block size should be
161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** chosen as 512 bytes).
162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** You can choose either one block read operation or multiple block read operation
163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** by adjusting the "NumberOfBlocks" parameter.
164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** After this, you have to ensure that the transfer is done correctly. The check is done
165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** through HAL_SD_GetCardState() function for SD card state.
166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** You could also check the IT transfer process through the SD Tx interrupt event.
167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *** SD card status ***
169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ======================
170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** [..]
171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) The SD Status contains status bits that are related to the SD Memory
172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Card proprietary features. To get SD card status use the HAL_SD_GetCardStatus().
173:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
174:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *** SD card information ***
175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ===========================
176:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** [..]
177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) To get SD card information, you can use the function HAL_SD_GetCardInfo().
178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** It returns useful information about the SD card such as block size, card type,
179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** block number ...
180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
181:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *** SD card CSD register ***
182:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ============================
183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) The HAL_SD_GetCardCSD() API allows to get the parameters of the CSD register.
184:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Some of the CSD parameters are useful for card initialization and identification.
185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *** SD card CID register ***
187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ============================
188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) The HAL_SD_GetCardCID() API allows to get the parameters of the CID register.
189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Some of the CSD parameters are useful for card initialization and identification.
190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *** SD HAL driver macros list ***
192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ==================================
193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** [..]
194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Below the list of most used macros in SD HAL driver.
195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) __HAL_SD_ENABLE : Enable the SD device
197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) __HAL_SD_DISABLE : Disable the SD device
198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) __HAL_SD_DMA_ENABLE: Enable the SDMMC DMA transfer
199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) __HAL_SD_DMA_DISABLE: Disable the SDMMC DMA transfer
200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) __HAL_SD_ENABLE_IT: Enable the SD device interrupt
201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) __HAL_SD_DISABLE_IT: Disable the SD device interrupt
202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) __HAL_SD_GET_FLAG:Check whether the specified SD flag is set or not
ARM GAS /tmp/ccMMu31U.s page 5
203:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) __HAL_SD_CLEAR_FLAG: Clear the SD's pending flags
204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (@) You can refer to the SD HAL driver header file for more useful macros
206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *** Callback registration ***
208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** =============================================
209:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** [..]
210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** The compilation define USE_HAL_SD_REGISTER_CALLBACKS when set to 1
211:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** allows the user to configure dynamically the driver callbacks.
212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Use Functions HAL_SD_RegisterCallback() to register a user callback,
214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** it allows to register following callbacks:
215:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) TxCpltCallback : callback when a transmission transfer is completed.
216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) RxCpltCallback : callback when a reception transfer is completed.
217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) ErrorCallback : callback when error occurs.
218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) AbortCpltCallback : callback when abort is completed.
219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) MspInitCallback : SD MspInit.
220:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) MspDeInitCallback : SD MspDeInit.
221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
222:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** and a pointer to the user callback function.
223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Use function HAL_SD_UnRegisterCallback() to reset a callback to the default
225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** weak (surcharged) function. It allows to reset following callbacks:
226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) TxCpltCallback : callback when a transmission transfer is completed.
227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) RxCpltCallback : callback when a reception transfer is completed.
228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) ErrorCallback : callback when error occurs.
229:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) AbortCpltCallback : callback when abort is completed.
230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) MspInitCallback : SD MspInit.
231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (+) MspDeInitCallback : SD MspDeInit.
232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** This function) takes as parameters the HAL peripheral handle and the Callback ID.
233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** By default, after the HAL_SD_Init and if the state is HAL_SD_STATE_RESET
235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** all callbacks are reset to the corresponding legacy weak (surcharged) functions.
236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Exception done for MspInit and MspDeInit callbacks that are respectively
237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** reset to the legacy weak (surcharged) functions in the HAL_SD_Init
238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** and HAL_SD_DeInit only when these callbacks are null (not registered beforehand).
239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** If not, MspInit or MspDeInit are not null, the HAL_SD_Init and HAL_SD_DeInit
240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand)
241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Callbacks can be registered/unregistered in READY state only.
243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Exception done for MspInit/MspDeInit callbacks that can be registered/unregistered
244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** in READY or RESET state, thus registered (user) MspInit/DeInit callbacks can be used
245:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** during the Init/DeInit.
246:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** In that case first register the MspInit/MspDeInit user callbacks
247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** using HAL_SD_RegisterCallback before calling HAL_SD_DeInit
248:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** or HAL_SD_Init function.
249:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
250:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** When The compilation define USE_HAL_SD_REGISTER_CALLBACKS is set to 0 or
251:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** not defined, the callback registering feature is not available
252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** and weak (surcharged) callbacks are used.
253:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
254:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** @endverbatim
255:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ******************************************************************************
256:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
257:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
258:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Includes ------------------------------------------------------------------*/
259:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #include "stm32f7xx_hal.h"
ARM GAS /tmp/ccMMu31U.s page 6
260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
261:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined(SDMMC1)
262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
263:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /** @addtogroup STM32F7xx_HAL_Driver
264:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @{
265:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
267:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /** @addtogroup SD
268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @{
269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
271:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #ifdef HAL_SD_MODULE_ENABLED
272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Private typedef -----------------------------------------------------------*/
274:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Private define ------------------------------------------------------------*/
275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /** @addtogroup SD_Private_Defines
276:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @{
277:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
279:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
280:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @}
281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
282:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Private macro -------------------------------------------------------------*/
284:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Private variables ---------------------------------------------------------*/
285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Private function prototypes -----------------------------------------------*/
286:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Private functions ---------------------------------------------------------*/
287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /** @defgroup SD_Private_Functions SD Private Functions
288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @{
289:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static uint32_t SD_InitCard(SD_HandleTypeDef *hsd);
291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static uint32_t SD_PowerON(SD_HandleTypeDef *hsd);
292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static uint32_t SD_SendSDStatus(SD_HandleTypeDef *hsd, uint32_t *pSDstatus);
293:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static uint32_t SD_SendStatus(SD_HandleTypeDef *hsd, uint32_t *pCardStatus);
294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static uint32_t SD_WideBus_Enable(SD_HandleTypeDef *hsd);
295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static uint32_t SD_WideBus_Disable(SD_HandleTypeDef *hsd);
296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static uint32_t SD_FindSCR(SD_HandleTypeDef *hsd, uint32_t *pSCR);
297:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static void SD_PowerOFF(SD_HandleTypeDef *hsd);
298:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static void SD_Write_IT(SD_HandleTypeDef *hsd);
299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static void SD_Read_IT(SD_HandleTypeDef *hsd);
300:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static void SD_DMATransmitCplt(DMA_HandleTypeDef *hdma);
301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static void SD_DMAReceiveCplt(DMA_HandleTypeDef *hdma);
302:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static void SD_DMAError(DMA_HandleTypeDef *hdma);
303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static void SD_DMATxAbort(DMA_HandleTypeDef *hdma);
304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static void SD_DMARxAbort(DMA_HandleTypeDef *hdma);
305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @}
307:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Exported functions --------------------------------------------------------*/
310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /** @addtogroup SD_Exported_Functions
311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @{
312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
314:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /** @addtogroup SD_Exported_Functions_Group1
315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Initialization and de-initialization functions
316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *
ARM GAS /tmp/ccMMu31U.s page 7
317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** @verbatim
318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ==============================================================================
319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ##### Initialization and de-initialization functions #####
320:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ==============================================================================
321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** [..]
322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** This section provides functions allowing to initialize/de-initialize the SD
323:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** card device to be ready for use.
324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** @endverbatim
326:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @{
327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
328:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
329:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Initializes the SD according to the specified parameters in the
331:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef and create the associated handle.
332:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to the SD handle
333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval HAL status
334:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_Init(SD_HandleTypeDef *hsd)
336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
337:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Check the SD handle allocation */
338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd == NULL)
339:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
343:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Check the parameters */
344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_ALL_INSTANCE(hsd->Instance));
345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_CLOCK_EDGE(hsd->Init.ClockEdge));
346:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_CLOCK_BYPASS(hsd->Init.ClockBypass));
347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_CLOCK_POWER_SAVE(hsd->Init.ClockPowerSave));
348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_BUS_WIDE(hsd->Init.BusWide));
349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_HARDWARE_FLOW_CONTROL(hsd->Init.HardwareFlowControl));
350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_CLKDIV(hsd->Init.ClockDiv));
351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->State == HAL_SD_STATE_RESET)
353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Allocate lock resource and initialize it */
355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Lock = HAL_UNLOCKED;
356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Reset Callback pointers in HAL_SD_STATE_RESET only */
358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->TxCpltCallback = HAL_SD_TxCpltCallback;
359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->RxCpltCallback = HAL_SD_RxCpltCallback;
360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCallback = HAL_SD_ErrorCallback;
361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->AbortCpltCallback = HAL_SD_AbortCallback;
362:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->MspInitCallback == NULL)
364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
365:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->MspInitCallback = HAL_SD_MspInit;
366:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
368:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Init the low level hardware */
369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->MspInitCallback(hsd);
370:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #else
371:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */
372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_MspInit(hsd);
373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
ARM GAS /tmp/ccMMu31U.s page 8
374:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
376:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_BUSY;
377:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Initialize the Card parameters */
379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if (HAL_SD_InitCard(hsd) != HAL_OK)
380:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Initialize the error code */
385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode = HAL_SD_ERROR_NONE;
386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
387:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Initialize the SD operation */
388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
389:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Initialize the SD state */
391:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
393:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_OK;
394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
395:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
397:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Initializes the SD Card.
398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
399:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @note This function initializes the SD card. It could be used when a card
400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** re-initialization is needed.
401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval HAL status
402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_InitCard(SD_HandleTypeDef *hsd)
404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
406:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef status;
407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_InitTypeDef Init;
408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
409:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Default SDMMC peripheral configuration for SD card initialization */
410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING;
411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE;
412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE;
413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.BusWide = SDMMC_BUS_WIDE_1B;
414:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE;
415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockDiv = SDMMC_INIT_CLK_DIV;
416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Initialize SDMMC peripheral interface with default configuration */
418:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = SDMMC_Init(hsd->Instance, Init);
419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(status != HAL_OK)
420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
422:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
424:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Disable SDMMC Clock */
425:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_DISABLE(hsd);
426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
427:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Set Power State to ON */
428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_PowerState_ON(hsd->Instance);
429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
430:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Enable SDMMC Clock */
ARM GAS /tmp/ccMMu31U.s page 9
431:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_ENABLE(hsd);
432:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Required power up waiting time before starting the SD initialization sequence */
434:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_Delay(2);
435:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Identify card operating voltage */
437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SD_PowerON(hsd);
438:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
439:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
443:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
444:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
445:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Card initialization */
446:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SD_InitCard(hsd);
447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
449:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Set Block Size for Card */
455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdBlockLength(hsd->Instance, BLOCKSIZE);
456:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
457:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_OK;
466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
469:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief De-Initializes the SD card.
470:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
471:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval HAL status
472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
473:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_DeInit(SD_HandleTypeDef *hsd)
474:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Check the SD handle allocation */
476:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd == NULL)
477:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
479:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Check the parameters */
482:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_ALL_INSTANCE(hsd->Instance));
483:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_BUSY;
485:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Set SD power state to off */
487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_PowerOFF(hsd);
ARM GAS /tmp/ccMMu31U.s page 10
488:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
489:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->MspDeInitCallback == NULL)
491:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->MspDeInitCallback = HAL_SD_MspDeInit;
493:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* DeInit the low level hardware */
496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->MspDeInitCallback(hsd);
497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #else
498:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* De-Initialize the MSP layer */
499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_MspDeInit(hsd);
500:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
501:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode = HAL_SD_ERROR_NONE;
503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_RESET;
504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_OK;
506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
507:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
508:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Initializes the SD MSP.
511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval None
513:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
514:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __weak void HAL_SD_MspInit(SD_HandleTypeDef *hsd)
515:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */
517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** UNUSED(hsd);
518:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* NOTE : This function should not be modified, when the callback is needed,
520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** the HAL_SD_MspInit could be implemented in the user file
521:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
525:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief De-Initialize SD MSP.
526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
527:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval None
528:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __weak void HAL_SD_MspDeInit(SD_HandleTypeDef *hsd)
530:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
531:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */
532:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** UNUSED(hsd);
533:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
534:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* NOTE : This function should not be modified, when the callback is needed,
535:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** the HAL_SD_MspDeInit could be implemented in the user file
536:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
537:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
538:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
539:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
540:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @}
541:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
542:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
543:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /** @addtogroup SD_Exported_Functions_Group2
544:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Data transfer functions
ARM GAS /tmp/ccMMu31U.s page 11
545:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *
546:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** @verbatim
547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ==============================================================================
548:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ##### IO operation functions #####
549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ==============================================================================
550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** [..]
551:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** This subsection provides a set of functions allowing to manage the data
552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** transfer from/to SD card.
553:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
554:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** @endverbatim
555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @{
556:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
558:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
559:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Reads block(s) from a specified address in a card. The Data transfer
560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * is managed by polling mode.
561:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @note This API should be followed by a check on the card state through
562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * HAL_SD_GetCardState().
563:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param pData: pointer to the buffer that will contain the received data
565:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param BlockAdd: Block Address from where data is to be read
566:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param NumberOfBlocks: Number of SD blocks to read
567:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param Timeout: Specify timeout value
568:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval HAL status
569:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_ReadBlocks(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint3
571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
573:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
574:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t tickstart = HAL_GetTick();
575:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count, data, dataremaining;
576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t add = BlockAdd;
577:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint8_t *tempbuff = pData;
578:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(NULL == pData)
580:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_PARAM;
582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
583:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
584:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
585:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->State == HAL_SD_STATE_READY)
586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode = HAL_SD_ERROR_NONE;
588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr))
590:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE;
592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
593:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_BUSY;
596:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
597:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Initialize data control register */
598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Instance->DCTRL = 0U;
599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SDHC_SDXC)
601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
ARM GAS /tmp/ccMMu31U.s page 12
602:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** add *= 512U;
603:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
604:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
605:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Configure the SD DPSM (Data Path State Machine) */
606:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataTimeOut = SDMMC_DATATIMEOUT;
607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = NumberOfBlocks * BLOCKSIZE;
608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B;
609:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC;
610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
613:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
614:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Read block(s) in polling mode */
615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(NumberOfBlocks > 1U)
616:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_READ_MULTIPLE_BLOCK;
618:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
619:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Read Multi Block command */
620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdReadMultiBlock(hsd->Instance, add);
621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
622:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_READ_SINGLE_BLOCK;
625:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
626:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Read Single Block command */
627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdReadSingleBlock(hsd->Instance, add);
628:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
631:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
632:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
637:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
639:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Poll on SDMMC flags */
640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining = config.DataLength;
641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT |
642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXFIFOHF) && (dataremaining > 0U))
644:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
645:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Read data from SDMMC Rx FIFO */
646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** for(count = 0U; count < 8U; count++)
647:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data = SDMMC_ReadFIFO(hsd->Instance);
649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)(data & 0xFFU);
650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 8U) & 0xFFU);
653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
655:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 16U) & 0xFFU);
656:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
657:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 24U) & 0xFFU);
ARM GAS /tmp/ccMMu31U.s page 13
659:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
660:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
661:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
662:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
663:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(((HAL_GetTick()-tickstart) >= Timeout) || (Timeout == 0U))
665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
666:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
667:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_TIMEOUT;
669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State= HAL_SD_STATE_READY;
670:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_TIMEOUT;
672:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
674:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
675:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send stop transmission command in case of multiblock read */
676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DATAEND) && (NumberOfBlocks > 1U))
677:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SECURED)
679:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
680:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send stop transmission command */
681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdStopTransfer(hsd->Instance);
682:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
684:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
686:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
687:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
690:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
692:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
693:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
694:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Get error state */
695:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DTIMEOUT))
696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_TIMEOUT;
700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
701:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
703:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL))
705:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
706:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
707:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
708:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_CRC_FAIL;
709:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
710:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
711:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
712:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
713:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR))
714:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
715:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
ARM GAS /tmp/ccMMu31U.s page 14
716:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_RX_OVERRUN;
718:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
720:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
721:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
723:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Nothing to do */
725:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
726:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
727:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Empty FIFO if there is still any data */
728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** while ((__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXDAVL)) && (dataremaining > 0U))
729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
730:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data = SDMMC_ReadFIFO(hsd->Instance);
731:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)(data & 0xFFU);
732:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
733:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
734:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 8U) & 0xFFU);
735:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
736:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 16U) & 0xFFU);
738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 24U) & 0xFFU);
741:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
743:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(((HAL_GetTick()-tickstart) >= Timeout) || (Timeout == 0U))
745:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
746:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_TIMEOUT;
749:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State= HAL_SD_STATE_READY;
750:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
752:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
753:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
755:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS);
757:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
759:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_OK;
761:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
763:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
764:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_BUSY;
765:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
766:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
767:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
768:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
769:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Allows to write block(s) to a specified address in a card. The Data
771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * transfer is managed by polling mode.
772:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @note This API should be followed by a check on the card state through
ARM GAS /tmp/ccMMu31U.s page 15
773:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * HAL_SD_GetCardState().
774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
775:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param pData: pointer to the buffer that will contain the data to transmit
776:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param BlockAdd: Block Address where data will be written
777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param NumberOfBlocks: Number of SD blocks to write
778:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param Timeout: Specify timeout value
779:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval HAL status
780:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
781:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_WriteBlocks(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint
782:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
784:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
785:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t tickstart = HAL_GetTick();
786:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count, data, dataremaining;
787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t add = BlockAdd;
788:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint8_t *tempbuff = pData;
789:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(NULL == pData)
791:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
792:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_PARAM;
793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
794:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
795:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
796:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->State == HAL_SD_STATE_READY)
797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode = HAL_SD_ERROR_NONE;
799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
800:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr))
801:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
802:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE;
803:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
804:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
805:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_BUSY;
807:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Initialize data control register */
809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Instance->DCTRL = 0U;
810:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
811:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SDHC_SDXC)
812:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
813:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** add *= 512U;
814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
815:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
816:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Configure the SD DPSM (Data Path State Machine) */
817:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataTimeOut = SDMMC_DATATIMEOUT;
818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = NumberOfBlocks * BLOCKSIZE;
819:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B;
820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD;
821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
822:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
823:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
825:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Write Blocks in Polling mode */
826:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(NumberOfBlocks > 1U)
827:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_WRITE_MULTIPLE_BLOCK;
829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
ARM GAS /tmp/ccMMu31U.s page 16
830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Write Multi Block command */
831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdWriteMultiBlock(hsd->Instance, add);
832:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
833:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
834:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_WRITE_SINGLE_BLOCK;
836:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
837:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Write Single Block command */
838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdWriteSingleBlock(hsd->Instance, add);
839:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
841:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
842:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
843:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
846:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
847:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
848:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
850:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Write block(s) in polling mode */
851:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining = config.DataLength;
852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_TXUNDERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT |
853:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_TXFIFOHE) && (dataremaining > 0U))
855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
856:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Write data to SDMMC Tx FIFO */
857:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** for(count = 0U; count < 8U; count++)
858:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
859:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data = (uint32_t)(*tempbuff);
860:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
861:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data |= ((uint32_t)(*tempbuff) << 8U);
863:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
864:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
865:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data |= ((uint32_t)(*tempbuff) << 16U);
866:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
867:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
868:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data |= ((uint32_t)(*tempbuff) << 24U);
869:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
870:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_WriteFIFO(hsd->Instance, &data);
872:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
873:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
874:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(((HAL_GetTick()-tickstart) >= Timeout) || (Timeout == 0U))
876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
878:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
880:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
882:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_TIMEOUT;
883:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
886:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send stop transmission command in case of multiblock write */
ARM GAS /tmp/ccMMu31U.s page 17
887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DATAEND) && (NumberOfBlocks > 1U))
888:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
889:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SECURED)
890:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
891:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send stop transmission command */
892:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdStopTransfer(hsd->Instance);
893:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
894:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
895:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
897:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
900:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
901:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
903:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
904:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
905:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Get error state */
906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DTIMEOUT))
907:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
908:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
909:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
910:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_TIMEOUT;
911:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
912:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
914:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL))
916:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
917:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
918:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_CRC_FAIL;
920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
921:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
922:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
923:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
924:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_TXUNDERR))
925:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
926:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
927:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_TX_UNDERRUN;
929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
930:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
931:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
932:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
933:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
934:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
935:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Nothing to do */
936:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
937:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
938:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
939:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS);
940:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
941:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
942:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
943:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_OK;
ARM GAS /tmp/ccMMu31U.s page 18
944:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
945:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
946:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
947:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_BUSY;
948:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
952:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Reads block(s) from a specified address in a card. The Data transfer
954:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * is managed in interrupt mode.
955:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @note This API should be followed by a check on the card state through
956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * HAL_SD_GetCardState().
957:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @note You could also check the IT transfer process through the SD Rx
958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * interrupt event.
959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
960:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param pData: Pointer to the buffer that will contain the received data
961:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param BlockAdd: Block Address from where data is to be read
962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param NumberOfBlocks: Number of blocks to read.
963:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval HAL status
964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
965:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_ReadBlocks_IT(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, ui
966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t add = BlockAdd;
970:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(NULL == pData)
972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_PARAM;
974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
975:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
976:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->State == HAL_SD_STATE_READY)
978:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode = HAL_SD_ERROR_NONE;
980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr))
982:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE;
984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
985:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
986:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_BUSY;
988:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Initialize data control register */
990:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Instance->DCTRL = 0U;
991:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->pRxBuffPtr = pData;
993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->RxXferSize = BLOCKSIZE * NumberOfBlocks;
994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_RXOVERR | SDMMC_IT_DA
996:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SDHC_SDXC)
998:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** add *= 512U;
1000:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
ARM GAS /tmp/ccMMu31U.s page 19
1001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1002:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Configure the SD DPSM (Data Path State Machine) */
1003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataTimeOut = SDMMC_DATATIMEOUT;
1004:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks;
1005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B;
1006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC;
1007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
1008:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
1009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
1010:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1011:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Read Blocks in IT mode */
1012:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(NumberOfBlocks > 1U)
1013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = (SD_CONTEXT_READ_MULTIPLE_BLOCK | SD_CONTEXT_IT);
1015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1016:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Read Multi Block command */
1017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdReadMultiBlock(hsd->Instance, add);
1018:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
1020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = (SD_CONTEXT_READ_SINGLE_BLOCK | SD_CONTEXT_IT);
1022:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Read Single Block command */
1024:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdReadSingleBlock(hsd->Instance, add);
1025:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1026:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
1029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
1030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
1031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1033:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1034:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1035:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1036:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_OK;
1037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
1039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1040:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_BUSY;
1041:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1043:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
1045:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Writes block(s) to a specified address in a card. The Data transfer
1046:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * is managed in interrupt mode.
1047:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @note This API should be followed by a check on the card state through
1048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * HAL_SD_GetCardState().
1049:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @note You could also check the IT transfer process through the SD Tx
1050:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * interrupt event.
1051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
1052:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param pData: Pointer to the buffer that will contain the data to transmit
1053:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param BlockAdd: Block Address where data will be written
1054:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param NumberOfBlocks: Number of blocks to write
1055:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval HAL status
1056:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
1057:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_WriteBlocks_IT(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, u
ARM GAS /tmp/ccMMu31U.s page 20
1058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
1060:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
1061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t add = BlockAdd;
1062:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(NULL == pData)
1064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_PARAM;
1066:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1068:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->State == HAL_SD_STATE_READY)
1070:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode = HAL_SD_ERROR_NONE;
1072:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr))
1074:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE;
1076:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1077:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1078:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_BUSY;
1080:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Initialize data control register */
1082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Instance->DCTRL = 0U;
1083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1084:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->pTxBuffPtr = pData;
1085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->TxXferSize = BLOCKSIZE * NumberOfBlocks;
1086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1087:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Enable transfer interrupts */
1088:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_TXUNDERR | SDMMC_IT_D
1089:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SDHC_SDXC)
1091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1092:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** add *= 512U;
1093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1094:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1095:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Write Blocks in Polling mode */
1096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(NumberOfBlocks > 1U)
1097:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = (SD_CONTEXT_WRITE_MULTIPLE_BLOCK| SD_CONTEXT_IT);
1099:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Write Multi Block command */
1101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdWriteMultiBlock(hsd->Instance, add);
1102:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
1104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = (SD_CONTEXT_WRITE_SINGLE_BLOCK | SD_CONTEXT_IT);
1106:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Write Single Block command */
1108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdWriteSingleBlock(hsd->Instance, add);
1109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1112:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
1113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
1114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
ARM GAS /tmp/ccMMu31U.s page 21
1115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1117:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1119:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Configure the SD DPSM (Data Path State Machine) */
1121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataTimeOut = SDMMC_DATATIMEOUT;
1122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks;
1123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B;
1124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD;
1125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
1126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
1127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
1128:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_OK;
1130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
1132:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_BUSY;
1134:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1137:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
1138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Reads block(s) from a specified address in a card. The Data transfer
1139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * is managed by DMA mode.
1140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @note This API should be followed by a check on the card state through
1141:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * HAL_SD_GetCardState().
1142:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @note You could also check the DMA transfer process through the SD Rx
1143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * interrupt event.
1144:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer SD handle
1145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param pData: Pointer to the buffer that will contain the received data
1146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param BlockAdd: Block Address from where data is to be read
1147:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param NumberOfBlocks: Number of blocks to read.
1148:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval HAL status
1149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
1150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_ReadBlocks_DMA(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, u
1151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
1153:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
1154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t add = BlockAdd;
1155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(NULL == pData)
1157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_PARAM;
1159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->State == HAL_SD_STATE_READY)
1163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode = HAL_SD_ERROR_NONE;
1165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr))
1167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE;
1169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
ARM GAS /tmp/ccMMu31U.s page 22
1172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_BUSY;
1173:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1174:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Initialize data control register */
1175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Instance->DCTRL = 0U;
1176:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_RXOVERR | SDMMC_IT_DA
1178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Set the DMA transfer complete callback */
1180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->hdmarx->XferCpltCallback = SD_DMAReceiveCplt;
1181:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1182:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Set the DMA error callback */
1183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->hdmarx->XferErrorCallback = SD_DMAError;
1184:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Set the DMA Abort callback */
1186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->hdmarx->XferAbortCallback = NULL;
1187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Force DMA Direction */
1189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->hdmarx->Init.Direction = DMA_PERIPH_TO_MEMORY;
1190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** MODIFY_REG(hsd->hdmarx->Instance->CR, DMA_SxCR_DIR, hsd->hdmarx->Init.Direction);
1191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Enable the DMA Channel */
1193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Start_IT(hsd->hdmarx, (uint32_t)&hsd->Instance->FIFO, (uint32_t)pData, (uint32_t)(BL
1194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_DISABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_RXOVERR | SDMMC_IT
1196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
1197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DMA;
1198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
1202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1203:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Enable SD DMA transfer */
1204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_DMA_ENABLE(hsd);
1205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SDHC_SDXC)
1207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** add *= 512U;
1209:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1211:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Configure the SD DPSM (Data Path State Machine) */
1212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataTimeOut = SDMMC_DATATIMEOUT;
1213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks;
1214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B;
1215:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC;
1216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
1217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
1218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
1219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1220:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Read Blocks in DMA mode */
1221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(NumberOfBlocks > 1U)
1222:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = (SD_CONTEXT_READ_MULTIPLE_BLOCK | SD_CONTEXT_DMA);
1224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Read Multi Block command */
1226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdReadMultiBlock(hsd->Instance, add);
1227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
ARM GAS /tmp/ccMMu31U.s page 23
1229:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = (SD_CONTEXT_READ_SINGLE_BLOCK | SD_CONTEXT_DMA);
1231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Read Single Block command */
1233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdReadSingleBlock(hsd->Instance, add);
1234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
1238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
1239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
1240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1245:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_OK;
1246:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1248:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
1249:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1250:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_BUSY;
1251:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1253:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1254:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
1255:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Writes block(s) to a specified address in a card. The Data transfer
1256:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * is managed by DMA mode.
1257:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @note This API should be followed by a check on the card state through
1258:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * HAL_SD_GetCardState().
1259:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @note You could also check the DMA transfer process through the SD Tx
1260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * interrupt event.
1261:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
1262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param pData: Pointer to the buffer that will contain the data to transmit
1263:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param BlockAdd: Block Address where data will be written
1264:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param NumberOfBlocks: Number of blocks to write
1265:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval HAL status
1266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
1267:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_WriteBlocks_DMA(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd,
1268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
1270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
1271:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t add = BlockAdd;
1272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(NULL == pData)
1274:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_PARAM;
1276:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1277:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1279:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->State == HAL_SD_STATE_READY)
1280:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode = HAL_SD_ERROR_NONE;
1282:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr))
1284:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE;
ARM GAS /tmp/ccMMu31U.s page 24
1286:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1289:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_BUSY;
1290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Initialize data control register */
1292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Instance->DCTRL = 0U;
1293:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Enable SD Error interrupts */
1295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_TXUNDERR));
1296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1297:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Set the DMA transfer complete callback */
1298:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->hdmatx->XferCpltCallback = SD_DMATransmitCplt;
1299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1300:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Set the DMA error callback */
1301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->hdmatx->XferErrorCallback = SD_DMAError;
1302:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Set the DMA Abort callback */
1304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->hdmatx->XferAbortCallback = NULL;
1305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SDHC_SDXC)
1307:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** add *= 512U;
1309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Write Blocks in Polling mode */
1312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(NumberOfBlocks > 1U)
1313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1314:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = (SD_CONTEXT_WRITE_MULTIPLE_BLOCK | SD_CONTEXT_DMA);
1315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Write Multi Block command */
1317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdWriteMultiBlock(hsd->Instance, add);
1318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
1320:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = (SD_CONTEXT_WRITE_SINGLE_BLOCK | SD_CONTEXT_DMA);
1322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1323:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Write Single Block command */
1324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdWriteSingleBlock(hsd->Instance, add);
1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1326:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1328:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
1329:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
1330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
1331:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1332:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1334:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Enable SDMMC DMA transfer */
1337:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_DMA_ENABLE(hsd);
1338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1339:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Force DMA Direction */
1340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->hdmatx->Init.Direction = DMA_MEMORY_TO_PERIPH;
1341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** MODIFY_REG(hsd->hdmatx->Instance->CR, DMA_SxCR_DIR, hsd->hdmatx->Init.Direction);
1342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
ARM GAS /tmp/ccMMu31U.s page 25
1343:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Enable the DMA Channel */
1344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Start_IT(hsd->hdmatx, (uint32_t)pData, (uint32_t)&hsd->Instance->FIFO, (uint32_t)(BL
1345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1346:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_DISABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_TXUNDERR));
1347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
1348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DMA;
1349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
1354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Configure the SD DPSM (Data Path State Machine) */
1356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataTimeOut = SDMMC_DATATIMEOUT;
1357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks;
1358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B;
1359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD;
1360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
1361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
1362:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
1363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_OK;
1365:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1366:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
1368:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_BUSY;
1370:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1371:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
1374:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Erases the specified memory area of the given SD card.
1375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @note This API should be followed by a check on the card state through
1376:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * HAL_SD_GetCardState().
1377:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
1378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param BlockStartAdd: Start Block address
1379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param BlockEndAdd: End Block address
1380:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval HAL status
1381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
1382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_Erase(SD_HandleTypeDef *hsd, uint32_t BlockStartAdd, uint32_t BlockEndAdd)
1383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
1385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t start_add = BlockStartAdd;
1386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t end_add = BlockEndAdd;
1387:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->State == HAL_SD_STATE_READY)
1389:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode = HAL_SD_ERROR_NONE;
1391:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(end_add < start_add)
1393:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_PARAM;
1395:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1397:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(end_add > (hsd->SdCard.LogBlockNbr))
1399:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
ARM GAS /tmp/ccMMu31U.s page 26
1400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE;
1401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_BUSY;
1405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1406:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Check if the card command class supports erase command */
1407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(((hsd->SdCard.Class) & SDMMC_CCCC_ERASE) == 0U)
1408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1409:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
1410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
1411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_REQUEST_NOT_APPLICABLE;
1412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1414:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED)
1417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1418:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
1419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
1420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_LOCK_UNLOCK_FAILED;
1421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1422:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1424:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1425:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Get start and end block for high capacity cards */
1426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SDHC_SDXC)
1427:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** start_add *= 512U;
1429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** end_add *= 512U;
1430:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1431:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1432:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* According to sd-card spec 1.0 ERASE_GROUP_START (CMD32) and erase_group_end(CMD33) */
1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SECURED)
1434:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1435:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send CMD32 SD_ERASE_GRP_START with argument as addr */
1436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdSDEraseStartAdd(hsd->Instance, start_add);
1437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1438:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1439:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
1440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
1441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
1442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1443:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1444:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1445:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1446:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send CMD33 SD_ERASE_GRP_END with argument as addr */
1447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdSDEraseEndAdd(hsd->Instance, end_add);
1448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1449:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
1451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
1452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
1453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1456:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
ARM GAS /tmp/ccMMu31U.s page 27
1457:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send CMD38 ERASE */
1459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdErase(hsd->Instance);
1460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
1463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1469:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1470:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1471:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_OK;
1472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1473:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
1474:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_BUSY;
1476:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1477:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1479:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
1480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief This function handles SD card interrupt request.
1481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
1482:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval None
1483:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** void HAL_SD_IRQHandler(SD_HandleTypeDef *hsd)
1485:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
1487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t context = hsd->Context;
1488:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1489:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Check for SDMMC interrupt flags */
1490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXFIFOHF) != RESET) && ((context & SD_CONTEXT_IT) != 0U))
1491:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_Read_IT(hsd);
1493:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DATAEND) != RESET)
1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DATAEND);
1498:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\
1500:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_IT_TXUNDERR | SDMMC_IT_RXOVERR | SDMMC_IT_TXFIFOHE |\
1501:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_IT_RXFIFOHF);
1502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Instance->DCTRL &= ~(SDMMC_DCTRL_DTEN);
1504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((context & SD_CONTEXT_IT) != 0U)
1506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1507:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) != 0U) || ((context & SD_CONTEXT_WRITE_MULTIPL
1508:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdStopTransfer(hsd->Instance);
1510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
1513:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
ARM GAS /tmp/ccMMu31U.s page 28
1514:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCallback(hsd);
1515:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #else
1516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_ErrorCallback(hsd);
1517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
1518:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1521:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
1522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS);
1523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1525:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIPLE_B
1527:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1528:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
1529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->RxCpltCallback(hsd);
1530:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #else
1531:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_RxCpltCallback(hsd);
1532:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
1533:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1534:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
1535:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1536:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
1537:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->TxCpltCallback(hsd);
1538:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #else
1539:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_TxCpltCallback(hsd);
1540:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
1541:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1542:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1543:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if((context & SD_CONTEXT_DMA) != 0U)
1544:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1545:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((context & SD_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U)
1546:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdStopTransfer(hsd->Instance);
1548:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
1551:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
1552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCallback(hsd);
1553:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #else
1554:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_ErrorCallback(hsd);
1555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
1556:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1558:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) == 0U) && ((context & SD_CONTEXT_READ_MULTIPLE_B
1559:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Disable the DMA transfer for transmit request by setting the DMAEN bit
1561:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** in the SD DCTRL register */
1562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Instance->DCTRL &= (uint32_t)~((uint32_t)SDMMC_DCTRL_DMAEN);
1563:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1565:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1566:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
1567:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->TxCpltCallback(hsd);
1568:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #else
1569:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_TxCpltCallback(hsd);
1570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
ARM GAS /tmp/ccMMu31U.s page 29
1571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1573:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
1574:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1575:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Nothing to do */
1576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1577:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1578:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if((__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_TXFIFOHE) != RESET) && ((context & SD_CONTEXT_IT) != 0
1580:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_Write_IT(hsd);
1582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1583:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1584:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT | SDMMC_FLAG_RXOVERR | S
1585:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Set Error code */
1587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL) != RESET)
1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_CRC_FAIL;
1590:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DTIMEOUT) != RESET)
1592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1593:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_TIMEOUT;
1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR) != RESET)
1596:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1597:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_RX_OVERRUN;
1598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_TXUNDERR) != RESET)
1600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_TX_UNDERRUN;
1602:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1603:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1604:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear All flags */
1605:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS);
1606:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Disable all interrupts */
1608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\
1609:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR);
1610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance);
1612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1613:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((context & SD_CONTEXT_IT) != 0U)
1614:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Set the SD state to ready to be able to start again the process */
1616:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1618:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
1619:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCallback(hsd);
1620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #else
1621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_ErrorCallback(hsd);
1622:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
1623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if((context & SD_CONTEXT_DMA) != 0U)
1625:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1626:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Abort the SD DMA channel */
1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(((context & SD_CONTEXT_WRITE_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_WRITE_MULTIPLE
ARM GAS /tmp/ccMMu31U.s page 30
1628:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Set the DMA Tx abort callback */
1630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->hdmatx->XferAbortCallback = SD_DMATxAbort;
1631:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Abort DMA in IT mode */
1632:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmatx) != HAL_OK)
1633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_DMATxAbort(hsd->hdmatx);
1635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1637:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTI
1638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1639:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Set the DMA Rx abort callback */
1640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->hdmarx->XferAbortCallback = SD_DMARxAbort;
1641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Abort DMA in IT mode */
1642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmarx) != HAL_OK)
1643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1644:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_DMARxAbort(hsd->hdmarx);
1645:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1647:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
1648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode = HAL_SD_ERROR_NONE;
1650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
1653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->AbortCpltCallback(hsd);
1654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #else
1655:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_AbortCallback(hsd);
1656:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
1657:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1659:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
1660:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1661:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Nothing to do */
1662:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1663:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
1665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1666:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Nothing to do */
1667:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1670:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
1671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief return the SD state
1672:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to sd handle
1673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval HAL state
1674:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
1675:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_StateTypeDef HAL_SD_GetState(SD_HandleTypeDef *hsd)
1676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1677:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return hsd->State;
1678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1679:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1680:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
1681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Return the SD error code
1682:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd : Pointer to a SD_HandleTypeDef structure that contains
1683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * the configuration information.
1684:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval SD Error Code
ARM GAS /tmp/ccMMu31U.s page 31
1685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
1686:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t HAL_SD_GetError(SD_HandleTypeDef *hsd)
1687:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return hsd->ErrorCode;
1689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1690:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
1692:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Tx Transfer completed callbacks
1693:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
1694:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval None
1695:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
1696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __weak void HAL_SD_TxCpltCallback(SD_HandleTypeDef *hsd)
1697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */
1699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** UNUSED(hsd);
1700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1701:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* NOTE : This function should not be modified, when the callback is needed,
1702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** the HAL_SD_TxCpltCallback can be implemented in the user file
1703:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
1704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1705:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1706:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
1707:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Rx Transfer completed callbacks
1708:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer SD handle
1709:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval None
1710:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
1711:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __weak void HAL_SD_RxCpltCallback(SD_HandleTypeDef *hsd)
1712:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1713:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */
1714:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** UNUSED(hsd);
1715:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1716:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* NOTE : This function should not be modified, when the callback is needed,
1717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** the HAL_SD_RxCpltCallback can be implemented in the user file
1718:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
1719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1720:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1721:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
1722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief SD error callbacks
1723:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer SD handle
1724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval None
1725:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
1726:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __weak void HAL_SD_ErrorCallback(SD_HandleTypeDef *hsd)
1727:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */
1729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** UNUSED(hsd);
1730:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1731:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* NOTE : This function should not be modified, when the callback is needed,
1732:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** the HAL_SD_ErrorCallback can be implemented in the user file
1733:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
1734:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1735:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1736:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
1737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief SD Abort callbacks
1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer SD handle
1739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval None
1740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
1741:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __weak void HAL_SD_AbortCallback(SD_HandleTypeDef *hsd)
ARM GAS /tmp/ccMMu31U.s page 32
1742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1743:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */
1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** UNUSED(hsd);
1745:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1746:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* NOTE : This function should not be modified, when the callback is needed,
1747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** the HAL_SD_AbortCallback can be implemented in the user file
1748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
1749:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1750:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
1752:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
1753:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Register a User SD Callback
1754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * To be used instead of the weak (surcharged) predefined callback
1755:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd : SD handle
1756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param CallbackID : ID of the callback to be registered
1757:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * This parameter can be one of the following values:
1758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @arg @ref HAL_SD_TX_CPLT_CB_ID SD Tx Complete Callback ID
1759:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @arg @ref HAL_SD_RX_CPLT_CB_ID SD Rx Complete Callback ID
1760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @arg @ref HAL_SD_ERROR_CB_ID SD Error Callback ID
1761:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @arg @ref HAL_SD_ABORT_CB_ID SD Abort Callback ID
1762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @arg @ref HAL_SD_MSP_INIT_CB_ID SD MspInit Callback ID
1763:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @arg @ref HAL_SD_MSP_DEINIT_CB_ID SD MspDeInit Callback ID
1764:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param pCallback : pointer to the Callback function
1765:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval status
1766:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
1767:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_RegisterCallback(SD_HandleTypeDef *hsd, HAL_SD_CallbackIDTypeDef CallbackI
1768:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1769:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef status = HAL_OK;
1770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(pCallback == NULL)
1772:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1773:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Update the error code */
1774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_INVALID_CALLBACK;
1775:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1776:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1778:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Process locked */
1779:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_LOCK(hsd);
1780:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1781:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->State == HAL_SD_STATE_READY)
1782:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** switch (CallbackID)
1784:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1785:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** case HAL_SD_TX_CPLT_CB_ID :
1786:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->TxCpltCallback = pCallback;
1787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
1788:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** case HAL_SD_RX_CPLT_CB_ID :
1789:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->RxCpltCallback = pCallback;
1790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
1791:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** case HAL_SD_ERROR_CB_ID :
1792:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCallback = pCallback;
1793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
1794:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** case HAL_SD_ABORT_CB_ID :
1795:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->AbortCpltCallback = pCallback;
1796:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
1797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** case HAL_SD_MSP_INIT_CB_ID :
1798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->MspInitCallback = pCallback;
ARM GAS /tmp/ccMMu31U.s page 33
1799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
1800:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** case HAL_SD_MSP_DEINIT_CB_ID :
1801:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->MspDeInitCallback = pCallback;
1802:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
1803:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** default :
1804:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Update the error code */
1805:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_INVALID_CALLBACK;
1806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* update return status */
1807:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
1809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1810:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1811:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if (hsd->State == HAL_SD_STATE_RESET)
1812:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1813:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** switch (CallbackID)
1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1815:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** case HAL_SD_MSP_INIT_CB_ID :
1816:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->MspInitCallback = pCallback;
1817:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
1818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** case HAL_SD_MSP_DEINIT_CB_ID :
1819:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->MspDeInitCallback = pCallback;
1820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
1821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** default :
1822:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Update the error code */
1823:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_INVALID_CALLBACK;
1824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* update return status */
1825:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
1826:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
1827:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
1830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Update the error code */
1832:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_INVALID_CALLBACK;
1833:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* update return status */
1834:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
1835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1836:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1837:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Release Lock */
1838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_UNLOCK(hsd);
1839:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return status;
1840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1841:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1842:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
1843:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Unregister a User SD Callback
1844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * SD Callback is redirected to the weak (surcharged) predefined callback
1845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd : SD handle
1846:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param CallbackID : ID of the callback to be unregistered
1847:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * This parameter can be one of the following values:
1848:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @arg @ref HAL_SD_TX_CPLT_CB_ID SD Tx Complete Callback ID
1849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @arg @ref HAL_SD_RX_CPLT_CB_ID SD Rx Complete Callback ID
1850:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @arg @ref HAL_SD_ERROR_CB_ID SD Error Callback ID
1851:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @arg @ref HAL_SD_ABORT_CB_ID SD Abort Callback ID
1852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @arg @ref HAL_SD_MSP_INIT_CB_ID SD MspInit Callback ID
1853:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @arg @ref HAL_SD_MSP_DEINIT_CB_ID SD MspDeInit Callback ID
1854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval status
1855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
ARM GAS /tmp/ccMMu31U.s page 34
1856:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_UnRegisterCallback(SD_HandleTypeDef *hsd, HAL_SD_CallbackIDTypeDef Callbac
1857:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1858:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef status = HAL_OK;
1859:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1860:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Process locked */
1861:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_LOCK(hsd);
1862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1863:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->State == HAL_SD_STATE_READY)
1864:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1865:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** switch (CallbackID)
1866:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1867:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** case HAL_SD_TX_CPLT_CB_ID :
1868:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->TxCpltCallback = HAL_SD_TxCpltCallback;
1869:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
1870:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** case HAL_SD_RX_CPLT_CB_ID :
1871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->RxCpltCallback = HAL_SD_RxCpltCallback;
1872:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
1873:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** case HAL_SD_ERROR_CB_ID :
1874:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCallback = HAL_SD_ErrorCallback;
1875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
1876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** case HAL_SD_ABORT_CB_ID :
1877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->AbortCpltCallback = HAL_SD_AbortCallback;
1878:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
1879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** case HAL_SD_MSP_INIT_CB_ID :
1880:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->MspInitCallback = HAL_SD_MspInit;
1881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
1882:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** case HAL_SD_MSP_DEINIT_CB_ID :
1883:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->MspDeInitCallback = HAL_SD_MspDeInit;
1884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
1885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** default :
1886:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Update the error code */
1887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_INVALID_CALLBACK;
1888:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* update return status */
1889:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
1890:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
1891:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1892:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1893:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if (hsd->State == HAL_SD_STATE_RESET)
1894:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1895:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** switch (CallbackID)
1896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1897:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** case HAL_SD_MSP_INIT_CB_ID :
1898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->MspInitCallback = HAL_SD_MspInit;
1899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
1900:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** case HAL_SD_MSP_DEINIT_CB_ID :
1901:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->MspDeInitCallback = HAL_SD_MspDeInit;
1902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
1903:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** default :
1904:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Update the error code */
1905:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_INVALID_CALLBACK;
1906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* update return status */
1907:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
1908:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
1909:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1910:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1911:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
1912:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
ARM GAS /tmp/ccMMu31U.s page 35
1913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Update the error code */
1914:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_INVALID_CALLBACK;
1915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* update return status */
1916:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
1917:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1918:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Release Lock */
1920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_UNLOCK(hsd);
1921:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return status;
1922:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1923:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
1924:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1925:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
1926:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @}
1927:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
1928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /** @addtogroup SD_Exported_Functions_Group3
1930:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief management functions
1931:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *
1932:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** @verbatim
1933:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ==============================================================================
1934:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ##### Peripheral Control functions #####
1935:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ==============================================================================
1936:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** [..]
1937:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** This subsection provides a set of functions allowing to control the SD card
1938:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** operations and get the related information
1939:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1940:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** @endverbatim
1941:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @{
1942:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
1943:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1944:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
1945:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Returns information the information of the card which are stored on
1946:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * the CID register.
1947:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
1948:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param pCID: Pointer to a HAL_SD_CardCIDTypeDef structure that
1949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * contains all CID register parameters
1950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval HAL status
1951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
1952:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_GetCardCID(SD_HandleTypeDef *hsd, HAL_SD_CardCIDTypeDef *pCID)
1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1954:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCID->ManufacturerID = (uint8_t)((hsd->CID[0] & 0xFF000000U) >> 24U);
1955:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCID->OEM_AppliID = (uint16_t)((hsd->CID[0] & 0x00FFFF00U) >> 8U);
1957:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCID->ProdName1 = (((hsd->CID[0] & 0x000000FFU) << 24U) | ((hsd->CID[1] & 0xFFFFFF00U) >> 8U));
1959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1960:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCID->ProdName2 = (uint8_t)(hsd->CID[1] & 0x000000FFU);
1961:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCID->ProdRev = (uint8_t)((hsd->CID[2] & 0xFF000000U) >> 24U);
1963:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCID->ProdSN = (((hsd->CID[2] & 0x00FFFFFFU) << 8U) | ((hsd->CID[3] & 0xFF000000U) >> 24U));
1965:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCID->Reserved1 = (uint8_t)((hsd->CID[3] & 0x00F00000U) >> 20U);
1967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCID->ManufactDate = (uint16_t)((hsd->CID[3] & 0x000FFF00U) >> 8U);
1969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
ARM GAS /tmp/ccMMu31U.s page 36
1970:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCID->CID_CRC = (uint8_t)((hsd->CID[3] & 0x000000FEU) >> 1U);
1971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCID->Reserved2 = 1U;
1973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_OK;
1975:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1976:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
1978:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Returns information the information of the card which are stored on
1979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * the CSD register.
1980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
1981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param pCSD: Pointer to a HAL_SD_CardCSDTypeDef structure that
1982:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * contains all CSD register parameters
1983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval HAL status
1984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
1985:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_GetCardCSD(SD_HandleTypeDef *hsd, HAL_SD_CardCSDTypeDef *pCSD)
1986:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->CSDStruct = (uint8_t)((hsd->CSD[0] & 0xC0000000U) >> 30U);
1988:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->SysSpecVersion = (uint8_t)((hsd->CSD[0] & 0x3C000000U) >> 26U);
1990:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1991:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->Reserved1 = (uint8_t)((hsd->CSD[0] & 0x03000000U) >> 24U);
1992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->TAAC = (uint8_t)((hsd->CSD[0] & 0x00FF0000U) >> 16U);
1994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->NSAC = (uint8_t)((hsd->CSD[0] & 0x0000FF00U) >> 8U);
1996:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->MaxBusClkFrec = (uint8_t)(hsd->CSD[0] & 0x000000FFU);
1998:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->CardComdClasses = (uint16_t)((hsd->CSD[1] & 0xFFF00000U) >> 20U);
2000:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->RdBlockLen = (uint8_t)((hsd->CSD[1] & 0x000F0000U) >> 16U);
2002:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->PartBlockRead = (uint8_t)((hsd->CSD[1] & 0x00008000U) >> 15U);
2004:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->WrBlockMisalign = (uint8_t)((hsd->CSD[1] & 0x00004000U) >> 14U);
2006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->RdBlockMisalign = (uint8_t)((hsd->CSD[1] & 0x00002000U) >> 13U);
2008:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->DSRImpl = (uint8_t)((hsd->CSD[1] & 0x00001000U) >> 12U);
2010:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2011:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->Reserved2 = 0U; /*!< Reserved */
2012:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->SdCard.CardType == CARD_SDSC)
2014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->DeviceSize = (((hsd->CSD[1] & 0x000003FFU) << 2U) | ((hsd->CSD[2] & 0xC0000000U) >> 30U))
2016:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->MaxRdCurrentVDDMin = (uint8_t)((hsd->CSD[2] & 0x38000000U) >> 27U);
2018:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->MaxRdCurrentVDDMax = (uint8_t)((hsd->CSD[2] & 0x07000000U) >> 24U);
2020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->MaxWrCurrentVDDMin = (uint8_t)((hsd->CSD[2] & 0x00E00000U) >> 21U);
2022:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->MaxWrCurrentVDDMax = (uint8_t)((hsd->CSD[2] & 0x001C0000U) >> 18U);
2024:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2025:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->DeviceSizeMul = (uint8_t)((hsd->CSD[2] & 0x00038000U) >> 15U);
2026:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
ARM GAS /tmp/ccMMu31U.s page 37
2027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockNbr = (pCSD->DeviceSize + 1U) ;
2028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockNbr *= (1UL << ((pCSD->DeviceSizeMul & 0x07U) + 2U));
2029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockSize = (1UL << (pCSD->RdBlockLen & 0x0FU));
2030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockNbr = (hsd->SdCard.BlockNbr) * ((hsd->SdCard.BlockSize) / 512U);
2032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockSize = 512U;
2033:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2034:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if(hsd->SdCard.CardType == CARD_SDHC_SDXC)
2035:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2036:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Byte 7 */
2037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->DeviceSize = (((hsd->CSD[1] & 0x0000003FU) << 16U) | ((hsd->CSD[2] & 0xFFFF0000U) >> 16U)
2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockNbr = ((pCSD->DeviceSize + 1U) * 1024U);
2040:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockNbr = hsd->SdCard.BlockNbr;
2041:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockSize = 512U;
2042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockSize = hsd->SdCard.BlockSize;
2043:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
2045:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2046:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
2047:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
2048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE;
2049:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2050:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2052:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2053:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->EraseGrSize = (uint8_t)((hsd->CSD[2] & 0x00004000U) >> 14U);
2054:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2055:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->EraseGrMul = (uint8_t)((hsd->CSD[2] & 0x00003F80U) >> 7U);
2056:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2057:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->WrProtectGrSize = (uint8_t)(hsd->CSD[2] & 0x0000007FU);
2058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->WrProtectGrEnable = (uint8_t)((hsd->CSD[3] & 0x80000000U) >> 31U);
2060:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->ManDeflECC = (uint8_t)((hsd->CSD[3] & 0x60000000U) >> 29U);
2062:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->WrSpeedFact = (uint8_t)((hsd->CSD[3] & 0x1C000000U) >> 26U);
2064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->MaxWrBlockLen= (uint8_t)((hsd->CSD[3] & 0x03C00000U) >> 22U);
2066:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->WriteBlockPaPartial = (uint8_t)((hsd->CSD[3] & 0x00200000U) >> 21U);
2068:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->Reserved3 = 0;
2070:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->ContentProtectAppli = (uint8_t)((hsd->CSD[3] & 0x00010000U) >> 16U);
2072:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->FileFormatGroup = (uint8_t)((hsd->CSD[3] & 0x00008000U) >> 15U);
2074:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->CopyFlag = (uint8_t)((hsd->CSD[3] & 0x00004000U) >> 14U);
2076:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2077:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->PermWrProtect = (uint8_t)((hsd->CSD[3] & 0x00002000U) >> 13U);
2078:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->TempWrProtect = (uint8_t)((hsd->CSD[3] & 0x00001000U) >> 12U);
2080:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->FileFormat = (uint8_t)((hsd->CSD[3] & 0x00000C00U) >> 10U);
2082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->ECC= (uint8_t)((hsd->CSD[3] & 0x00000300U) >> 8U);
ARM GAS /tmp/ccMMu31U.s page 38
2084:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->CSD_CRC = (uint8_t)((hsd->CSD[3] & 0x000000FEU) >> 1U);
2086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2087:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->Reserved4 = 1;
2088:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2089:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_OK;
2090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2092:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Gets the SD status info.
2094:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
2095:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param pStatus: Pointer to the HAL_SD_CardStatusTypeDef structure that
2096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * will contain the SD card status information
2097:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval HAL status
2098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2099:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_GetCardStatus(SD_HandleTypeDef *hsd, HAL_SD_CardStatusTypeDef *pStatus)
2100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t sd_status[16];
2102:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
2103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef status = HAL_OK;
2104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SD_SendSDStatus(hsd, sd_status);
2106:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
2109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
2110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
2111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2112:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
2113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
2115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pStatus->DataBusWidth = (uint8_t)((sd_status[0] & 0xC0U) >> 6U);
2117:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pStatus->SecuredMode = (uint8_t)((sd_status[0] & 0x20U) >> 5U);
2119:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pStatus->CardType = (uint16_t)(((sd_status[0] & 0x00FF0000U) >> 8U) | ((sd_status[0] & 0xFF0000
2121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pStatus->ProtectedAreaSize = (((sd_status[1] & 0xFFU) << 24U) | ((sd_status[1] & 0xFF00U) <<
2123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((sd_status[1] & 0xFF0000U) >> 8U) | ((sd_status[1] & 0xFF000000U
2124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pStatus->SpeedClass = (uint8_t)(sd_status[2] & 0xFFU);
2126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pStatus->PerformanceMove = (uint8_t)((sd_status[2] & 0xFF00U) >> 8U);
2128:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pStatus->AllocationUnitSize = (uint8_t)((sd_status[2] & 0xF00000U) >> 20U);
2130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pStatus->EraseSize = (uint16_t)(((sd_status[2] & 0xFF000000U) >> 16U) | (sd_status[3] & 0xFFU))
2132:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pStatus->EraseTimeout = (uint8_t)((sd_status[3] & 0xFC00U) >> 10U);
2134:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pStatus->EraseOffset = (uint8_t)((sd_status[3] & 0x0300U) >> 8U);
2136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2137:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Set Block Size for Card */
2139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdBlockLength(hsd->Instance, BLOCKSIZE);
2140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
ARM GAS /tmp/ccMMu31U.s page 39
2141:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2142:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
2143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
2144:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode = errorstate;
2145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
2147:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2148:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return status;
2150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2153:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Gets the SD card info.
2154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
2155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param pCardInfo: Pointer to the HAL_SD_CardInfoTypeDef structure that
2156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * will contain the SD card status information
2157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval HAL status
2158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_GetCardInfo(SD_HandleTypeDef *hsd, HAL_SD_CardInfoTypeDef *pCardInfo)
2160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->CardType = (uint32_t)(hsd->SdCard.CardType);
2162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->CardVersion = (uint32_t)(hsd->SdCard.CardVersion);
2163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->Class = (uint32_t)(hsd->SdCard.Class);
2164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->RelCardAdd = (uint32_t)(hsd->SdCard.RelCardAdd);
2165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->BlockNbr = (uint32_t)(hsd->SdCard.BlockNbr);
2166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->BlockSize = (uint32_t)(hsd->SdCard.BlockSize);
2167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->LogBlockNbr = (uint32_t)(hsd->SdCard.LogBlockNbr);
2168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->LogBlockSize = (uint32_t)(hsd->SdCard.LogBlockSize);
2169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_OK;
2171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2173:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2174:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Enables wide bus operation for the requested card if supported by
2175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * card.
2176:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
2177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param WideMode: Specifies the SD card wide bus mode
2178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * This parameter can be one of the following values:
2179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @arg SDMMC_BUS_WIDE_8B: 8-bit data transfer
2180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @arg SDMMC_BUS_WIDE_4B: 4-bit data transfer
2181:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @arg SDMMC_BUS_WIDE_1B: 1-bit data transfer
2182:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval HAL status
2183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2184:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_ConfigWideBusOperation(SD_HandleTypeDef *hsd, uint32_t WideMode)
2185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_InitTypeDef Init;
2187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
2188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef status = HAL_OK;
2189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Check the parameters */
2191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_BUS_WIDE(WideMode));
2192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Change State */
2194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_BUSY;
2195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SECURED)
2197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
ARM GAS /tmp/ccMMu31U.s page 40
2198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(WideMode == SDMMC_BUS_WIDE_8B)
2199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE;
2201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if(WideMode == SDMMC_BUS_WIDE_4B)
2203:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SD_WideBus_Enable(hsd);
2205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
2207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if(WideMode == SDMMC_BUS_WIDE_1B)
2209:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SD_WideBus_Disable(hsd);
2211:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
2213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
2215:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* WideMode is not a valid argument*/
2217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_PARAM;
2218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2220:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
2221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2222:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* MMC Card does not support this feature */
2223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE;
2224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->ErrorCode != HAL_SD_ERROR_NONE)
2227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
2229:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
2230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
2232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
2234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Configure the SDMMC peripheral */
2236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockEdge = hsd->Init.ClockEdge;
2237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockBypass = hsd->Init.ClockBypass;
2238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockPowerSave = hsd->Init.ClockPowerSave;
2239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.BusWide = WideMode;
2240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.HardwareFlowControl = hsd->Init.HardwareFlowControl;
2241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockDiv = hsd->Init.ClockDiv;
2242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_Init(hsd->Instance, Init);
2243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2245:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Set Block Size for Card */
2246:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdBlockLength(hsd->Instance, BLOCKSIZE);
2247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2248:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2249:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
2250:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
2251:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
2252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
2253:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2254:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
ARM GAS /tmp/ccMMu31U.s page 41
2255:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Change State */
2256:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2257:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2258:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return status;
2259:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2261:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Gets the current sd card data state.
2263:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: pointer to SD handle
2264:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval Card state
2265:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef HAL_SD_GetCardState(SD_HandleTypeDef *hsd)
2267:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t cardstate;
2269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
2270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t resp1 = 0;
2271:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SD_SendStatus(hsd, &resp1);
2273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2274:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
2276:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2277:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** cardstate = ((resp1 >> 9U) & 0x0FU);
2279:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2280:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return (HAL_SD_CardStateTypeDef)cardstate;
2281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2282:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2284:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Abort the current transfer and disable the SD.
2285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: pointer to a SD_HandleTypeDef structure that contains
2286:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * the configuration information for SD module.
2287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval HAL status
2288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2289:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_Abort(SD_HandleTypeDef *hsd)
2290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState;
2292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t context = hsd->Context;
2293:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* DIsable All interrupts */
2295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\
2296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR);
2297:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2298:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear All flags */
2299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS);
2300:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** CLEAR_BIT(hsd->Instance->DCTRL, SDMMC_DCTRL_DTEN);
2302:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if ((context & SD_CONTEXT_DMA) != 0U)
2304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Disable the SD DMA request */
2306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Instance->DCTRL &= (uint32_t)~((uint32_t)SDMMC_DCTRL_DMAEN);
2307:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Abort the SD DMA Tx channel */
2309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if (((context & SD_CONTEXT_WRITE_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_WRITE_MULTIPLE_
2310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Abort(hsd->hdmatx) != HAL_OK)
ARM GAS /tmp/ccMMu31U.s page 42
2312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DMA;
2314:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Abort the SD DMA Rx channel */
2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if (((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIP
2318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Abort(hsd->hdmarx) != HAL_OK)
2320:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DMA;
2322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2323:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
2325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2326:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Nothing to do */
2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2328:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2329:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2331:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2332:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Initialize the SD operation */
2333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2334:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** CardState = HAL_SD_GetCardState(hsd);
2336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING))
2337:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode = SDMMC_CmdStopTransfer(hsd->Instance);
2339:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->ErrorCode != HAL_SD_ERROR_NONE)
2341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2343:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_OK;
2345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2346:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Abort the current transfer and disable the SD (IT mode).
2349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: pointer to a SD_HandleTypeDef structure that contains
2350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * the configuration information for SD module.
2351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval HAL status
2352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_Abort_IT(SD_HandleTypeDef *hsd)
2354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState;
2356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t context = hsd->Context;
2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Disable All interrupts */
2359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\
2360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR);
2361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2362:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** CLEAR_BIT(hsd->Instance->DCTRL, SDMMC_DCTRL_DTEN);
2363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if ((context & SD_CONTEXT_DMA) != 0U)
2365:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2366:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Disable the SD DMA request */
2367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Instance->DCTRL &= (uint32_t)~((uint32_t)SDMMC_DCTRL_DMAEN);
2368:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
ARM GAS /tmp/ccMMu31U.s page 43
2369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Abort the SD DMA Tx channel */
2370:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if (((context & SD_CONTEXT_WRITE_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_WRITE_MULTIPLE_
2371:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->hdmatx->XferAbortCallback = SD_DMATxAbort;
2373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmatx) != HAL_OK)
2374:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->hdmatx = NULL;
2376:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2377:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Abort the SD DMA Rx channel */
2379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if (((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIP
2380:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->hdmarx->XferAbortCallback = SD_DMARxAbort;
2382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmarx) != HAL_OK)
2383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->hdmarx = NULL;
2385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2387:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
2388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2389:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Nothing to do */
2390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2391:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* No transfer ongoing on both DMA channels*/
2393:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
2394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2395:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear All flags */
2396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS);
2397:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** CardState = HAL_SD_GetCardState(hsd);
2399:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING))
2402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode = SDMMC_CmdStopTransfer(hsd->Instance);
2404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->ErrorCode != HAL_SD_ERROR_NONE)
2406:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2409:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
2410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
2412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->AbortCpltCallback(hsd);
2413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #else
2414:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_AbortCallback(hsd);
2415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
2416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2418:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_OK;
2420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2422:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @}
2424:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2425:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
ARM GAS /tmp/ccMMu31U.s page 44
2426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2427:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @}
2428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2430:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Private function ----------------------------------------------------------*/
2431:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /** @addtogroup SD_Private_Functions
2432:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @{
2433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2434:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2435:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief DMA SD transmit process complete callback
2437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hdma: DMA handle
2438:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval None
2439:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static void SD_DMATransmitCplt(DMA_HandleTypeDef *hdma)
2441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
28 .loc 1 2441 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.
2442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent);
33 .loc 1 2442 3 view .LVU1
34 .loc 1 2442 21 is_stmt 0 view .LVU2
35 0000 836B ldr r3, [r0, #56]
36 .LVL1:
2443:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2444:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Enable DATAEND Interrupt */
2445:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DATAEND));
37 .loc 1 2445 3 is_stmt 1 view .LVU3
38 0002 1A68 ldr r2, [r3]
39 0004 D36B ldr r3, [r2, #60]
40 .LVL2:
41 .loc 1 2445 3 is_stmt 0 view .LVU4
42 0006 43F48073 orr r3, r3, #256
43 000a D363 str r3, [r2, #60]
44 .LVL3:
2446:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
45 .loc 1 2446 1 view .LVU5
46 000c 7047 bx lr
47 .cfi_endproc
48 .LFE168:
50 .section .text.SD_PowerON,"ax",%progbits
51 .align 1
52 .syntax unified
53 .thumb
54 .thumb_func
56 SD_PowerON:
57 .LVL4:
58 .LFB174:
2447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2449:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief DMA SD receive process complete callback
2450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hdma: DMA handle
2451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval None
2452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static void SD_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
ARM GAS /tmp/ccMMu31U.s page 45
2454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent);
2456:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
2457:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send stop command in multiblock write */
2459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->Context == (SD_CONTEXT_READ_MULTIPLE_BLOCK | SD_CONTEXT_DMA))
2460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdStopTransfer(hsd->Instance);
2462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
2465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if (USE_HAL_SD_REGISTER_CALLBACKS == 1)
2466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCallback(hsd);
2467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #else
2468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_ErrorCallback(hsd);
2469:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif
2470:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2471:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2473:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Disable the DMA transfer for transmit request by setting the DMAEN bit
2474:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** in the SD DCTRL register */
2475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Instance->DCTRL &= (uint32_t)~((uint32_t)SDMMC_DCTRL_DMAEN);
2476:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2477:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
2478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS);
2479:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2482:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2483:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if (USE_HAL_SD_REGISTER_CALLBACKS == 1)
2484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->RxCpltCallback(hsd);
2485:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #else
2486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_RxCpltCallback(hsd);
2487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif
2488:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2489:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2491:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief DMA SD communication error callback
2492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hdma: DMA handle
2493:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval None
2494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static void SD_DMAError(DMA_HandleTypeDef *hdma)
2496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent);
2498:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState;
2499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t RxErrorCode, TxErrorCode;
2500:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2501:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* if DMA error is FIFO error ignore it */
2502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_GetError(hdma) != HAL_DMA_ERROR_FE)
2503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** RxErrorCode = hsd->hdmarx->ErrorCode;
2505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** TxErrorCode = hsd->hdmatx->ErrorCode;
2506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((RxErrorCode == HAL_DMA_ERROR_TE) || (TxErrorCode == HAL_DMA_ERROR_TE))
2507:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2508:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear All flags */
2509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
2510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
ARM GAS /tmp/ccMMu31U.s page 46
2511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Disable All interrupts */
2512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\
2513:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR);
2514:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2515:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DMA;
2516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** CardState = HAL_SD_GetCardState(hsd);
2517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING))
2518:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance);
2520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2521:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State= HAL_SD_STATE_READY;
2523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2525:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if (USE_HAL_SD_REGISTER_CALLBACKS == 1)
2527:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCallback(hsd);
2528:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #else
2529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_ErrorCallback(hsd);
2530:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif
2531:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2532:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2533:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2534:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2535:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief DMA SD Tx Abort callback
2536:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hdma: DMA handle
2537:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval None
2538:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2539:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static void SD_DMATxAbort(DMA_HandleTypeDef *hdma)
2540:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2541:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent);
2542:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState;
2543:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2544:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear All flags */
2545:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS);
2546:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** CardState = HAL_SD_GetCardState(hsd);
2548:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING))
2551:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance);
2553:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2554:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->ErrorCode == HAL_SD_ERROR_NONE)
2556:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if (USE_HAL_SD_REGISTER_CALLBACKS == 1)
2558:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->AbortCpltCallback(hsd);
2559:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #else
2560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_AbortCallback(hsd);
2561:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif
2562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2563:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
2564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2565:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if (USE_HAL_SD_REGISTER_CALLBACKS == 1)
2566:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCallback(hsd);
2567:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #else
ARM GAS /tmp/ccMMu31U.s page 47
2568:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_ErrorCallback(hsd);
2569:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif
2570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2573:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2574:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief DMA SD Rx Abort callback
2575:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hdma: DMA handle
2576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval None
2577:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2578:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static void SD_DMARxAbort(DMA_HandleTypeDef *hdma)
2579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2580:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent);
2581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState;
2582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2583:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear All flags */
2584:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS);
2585:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** CardState = HAL_SD_GetCardState(hsd);
2587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING))
2590:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance);
2592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2593:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->ErrorCode == HAL_SD_ERROR_NONE)
2595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2596:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if (USE_HAL_SD_REGISTER_CALLBACKS == 1)
2597:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->AbortCpltCallback(hsd);
2598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #else
2599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_AbortCallback(hsd);
2600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif
2601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2602:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
2603:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2604:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if (USE_HAL_SD_REGISTER_CALLBACKS == 1)
2605:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCallback(hsd);
2606:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #else
2607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_ErrorCallback(hsd);
2608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif
2609:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2613:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Initializes the sd card.
2614:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
2615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval SD Card error state
2616:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static uint32_t SD_InitCard(SD_HandleTypeDef *hsd)
2618:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2619:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardCSDTypeDef CSD;
2620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
2621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint16_t sd_rca = 1U;
2622:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Check the power State */
2624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(SDMMC_GetPowerState(hsd->Instance) == 0U)
ARM GAS /tmp/ccMMu31U.s page 48
2625:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2626:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Power off */
2627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE;
2628:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SECURED)
2631:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2632:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send CMD2 ALL_SEND_CID */
2633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdSendCID(hsd->Instance);
2634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
2637:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
2639:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Get Card identification number data */
2641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[0U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1);
2642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2);
2643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[2U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3);
2644:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4);
2645:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2647:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SECURED)
2649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send CMD3 SET_REL_ADDR with argument 0 */
2651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* SD Card publishes its RCA. */
2652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdSetRelAdd(hsd->Instance, &sd_rca);
2653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2655:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
2656:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2657:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SECURED)
2659:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2660:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Get the SD card RCA */
2661:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.RelCardAdd = sd_rca;
2662:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2663:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send CMD9 SEND_CSD with argument as card's RCA */
2664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdSendCSD(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U));
2665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2666:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2667:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
2668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
2670:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Get Card Specific Data */
2672:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[0U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1);
2673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2);
2674:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[2U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3);
2675:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4);
2676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2677:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2679:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Get the Card Class */
2680:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.Class = (SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2) >> 20U);
2681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
ARM GAS /tmp/ccMMu31U.s page 49
2682:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Get CSD parameters */
2683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if (HAL_SD_GetCardCSD(hsd, &CSD) != HAL_OK)
2684:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_UNSUPPORTED_FEATURE;
2686:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2687:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Select the Card */
2689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdSelDesel(hsd->Instance, (uint32_t)(((uint32_t)hsd->SdCard.RelCardAdd) << 16
2690:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2692:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
2693:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2694:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2695:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Configure SDMMC peripheral interface */
2696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_Init(hsd->Instance, hsd->Init);
2697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* All cards are initialized */
2699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_NONE;
2700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2701:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2703:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Enquires cards about their operating voltage and configures clock
2704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * controls and stores SD information that will be needed in future
2705:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * in the SD handle.
2706:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
2707:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval error state
2708:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2709:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static uint32_t SD_PowerON(SD_HandleTypeDef *hsd)
2710:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
59 .loc 1 2710 1 is_stmt 1 view -0
60 .cfi_startproc
61 @ args = 0, pretend = 0, frame = 8
62 @ frame_needed = 0, uses_anonymous_args = 0
63 .loc 1 2710 1 is_stmt 0 view .LVU7
64 0000 70B5 push {r4, r5, r6, lr}
65 .LCFI0:
66 .cfi_def_cfa_offset 16
67 .cfi_offset 4, -16
68 .cfi_offset 5, -12
69 .cfi_offset 6, -8
70 .cfi_offset 14, -4
71 0002 82B0 sub sp, sp, #8
72 .LCFI1:
73 .cfi_def_cfa_offset 24
74 0004 0446 mov r4, r0
2711:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __IO uint32_t count = 0U;
75 .loc 1 2711 3 is_stmt 1 view .LVU8
76 .loc 1 2711 17 is_stmt 0 view .LVU9
77 0006 0023 movs r3, #0
78 0008 0193 str r3, [sp, #4]
2712:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t response = 0U, validvoltage = 0U;
79 .loc 1 2712 3 is_stmt 1 view .LVU10
80 .LVL5:
2713:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
81 .loc 1 2713 3 view .LVU11
2714:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2715:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* CMD0: GO_IDLE_STATE */
ARM GAS /tmp/ccMMu31U.s page 50
2716:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdGoIdleState(hsd->Instance);
82 .loc 1 2716 3 view .LVU12
83 .loc 1 2716 16 is_stmt 0 view .LVU13
84 000a 0068 ldr r0, [r0]
85 .LVL6:
86 .loc 1 2716 16 view .LVU14
87 000c FFF7FEFF bl SDMMC_CmdGoIdleState
88 .LVL7:
2717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
89 .loc 1 2717 3 is_stmt 1 view .LVU15
90 .loc 1 2717 5 is_stmt 0 view .LVU16
91 0010 0546 mov r5, r0
92 0012 10B1 cbz r0, .L19
93 .LVL8:
94 .L2:
2718:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
2720:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2721:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* CMD8: SEND_IF_COND: Command available only on V2.0 cards */
2723:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdOperCond(hsd->Instance);
2724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2725:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2726:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.CardVersion = CARD_V1_X;
2727:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* CMD0: GO_IDLE_STATE */
2728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdGoIdleState(hsd->Instance);
2729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2730:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2731:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
2732:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2733:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2734:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2735:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
2736:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.CardVersion = CARD_V2_X;
2738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if( hsd->SdCard.CardVersion == CARD_V2_X)
2741:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* SEND CMD55 APP_CMD with RCA as 0 */
2743:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdAppCommand(hsd->Instance, 0);
2744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2745:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2746:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_UNSUPPORTED_FEATURE;
2747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2749:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* SD CARD */
2750:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send ACMD41 SD_APP_OP_COND with Argument 0x80100000 */
2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** while((count < SDMMC_MAX_VOLT_TRIAL) && (validvoltage == 0U))
2752:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2753:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* SEND CMD55 APP_CMD with RCA as 0 */
2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdAppCommand(hsd->Instance, 0);
2755:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2757:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
2758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2759:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
ARM GAS /tmp/ccMMu31U.s page 51
2760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send CMD41 */
2761:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdAppOperCommand(hsd->Instance, SDMMC_VOLTAGE_WINDOW_SD | SDMMC_HIGH_CAPACI
2762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2763:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2764:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_UNSUPPORTED_FEATURE;
2765:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2766:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2767:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Get command response */
2768:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** response = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1);
2769:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Get operating voltage*/
2771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** validvoltage = (((response >> 31U) == 1U) ? 1U : 0U);
2772:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2773:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** count++;
2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2775:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2776:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(count >= SDMMC_MAX_VOLT_TRIAL)
2777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2778:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_INVALID_VOLTRANGE;
2779:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2780:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2781:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((response & SDMMC_HIGH_CAPACITY) == SDMMC_HIGH_CAPACITY) /* (response &= SD_HIGH_CAPACITY) */
2782:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.CardType = CARD_SDHC_SDXC;
2784:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2785:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
2786:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.CardType = CARD_SDSC;
2788:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2789:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2791:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_NONE;
2792:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
95 .loc 1 2792 1 view .LVU17
96 0014 2846 mov r0, r5
97 0016 02B0 add sp, sp, #8
98 .LCFI2:
99 .cfi_remember_state
100 .cfi_def_cfa_offset 16
101 @ sp needed
102 0018 70BD pop {r4, r5, r6, pc}
103 .LVL9:
104 .L19:
105 .LCFI3:
106 .cfi_restore_state
2723:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
107 .loc 1 2723 3 is_stmt 1 view .LVU18
2723:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
108 .loc 1 2723 16 is_stmt 0 view .LVU19
109 001a 2068 ldr r0, [r4]
110 .LVL10:
2723:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
111 .loc 1 2723 16 view .LVU20
112 001c FFF7FEFF bl SDMMC_CmdOperCond
113 .LVL11:
2724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
114 .loc 1 2724 3 is_stmt 1 view .LVU21
ARM GAS /tmp/ccMMu31U.s page 52
2724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
115 .loc 1 2724 5 is_stmt 0 view .LVU22
116 0020 38B9 cbnz r0, .L20
2737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
117 .loc 1 2737 5 is_stmt 1 view .LVU23
2737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
118 .loc 1 2737 29 is_stmt 0 view .LVU24
119 0022 0123 movs r3, #1
120 0024 A364 str r3, [r4, #72]
121 .L5:
2740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
122 .loc 1 2740 3 is_stmt 1 view .LVU25
2740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
123 .loc 1 2740 18 is_stmt 0 view .LVU26
124 0026 A36C ldr r3, [r4, #72]
2740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
125 .loc 1 2740 5 view .LVU27
126 0028 012B cmp r3, #1
127 002a 0BD0 beq .L6
128 .L8:
2771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
129 .loc 1 2771 52 discriminator 1 view .LVU28
130 002c 2E46 mov r6, r5
131 002e 2846 mov r0, r5
132 .LVL12:
2771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
133 .loc 1 2771 52 discriminator 1 view .LVU29
134 0030 14E0 b .L7
135 .LVL13:
136 .L20:
2726:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* CMD0: GO_IDLE_STATE */
137 .loc 1 2726 5 is_stmt 1 view .LVU30
2726:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* CMD0: GO_IDLE_STATE */
138 .loc 1 2726 29 is_stmt 0 view .LVU31
139 0032 0023 movs r3, #0
140 0034 A364 str r3, [r4, #72]
2728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
141 .loc 1 2728 5 is_stmt 1 view .LVU32
2728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
142 .loc 1 2728 18 is_stmt 0 view .LVU33
143 0036 2068 ldr r0, [r4]
144 .LVL14:
2728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
145 .loc 1 2728 18 view .LVU34
146 0038 FFF7FEFF bl SDMMC_CmdGoIdleState
147 .LVL15:
2729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
148 .loc 1 2729 5 is_stmt 1 view .LVU35
2729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
149 .loc 1 2729 7 is_stmt 0 view .LVU36
150 003c 0028 cmp r0, #0
151 003e F2D0 beq .L5
2731:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
152 .loc 1 2731 14 view .LVU37
153 0040 0546 mov r5, r0
154 0042 E7E7 b .L2
155 .L6:
ARM GAS /tmp/ccMMu31U.s page 53
2743:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
156 .loc 1 2743 5 is_stmt 1 view .LVU38
2743:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
157 .loc 1 2743 18 is_stmt 0 view .LVU39
158 0044 0021 movs r1, #0
159 0046 2068 ldr r0, [r4]
160 .LVL16:
2743:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
161 .loc 1 2743 18 view .LVU40
162 0048 FFF7FEFF bl SDMMC_CmdAppCommand
163 .LVL17:
2744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
164 .loc 1 2744 5 is_stmt 1 view .LVU41
2744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
165 .loc 1 2744 7 is_stmt 0 view .LVU42
166 004c 0028 cmp r0, #0
167 004e EDD0 beq .L8
2746:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
168 .loc 1 2746 14 view .LVU43
169 0050 4FF08055 mov r5, #268435456
170 0054 DEE7 b .L2
171 .LVL18:
172 .L9:
2773:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
173 .loc 1 2773 5 is_stmt 1 view .LVU44
2773:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
174 .loc 1 2773 10 is_stmt 0 view .LVU45
175 0056 019B ldr r3, [sp, #4]
176 0058 0133 adds r3, r3, #1
177 005a 0193 str r3, [sp, #4]
178 .LVL19:
179 .L7:
2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
180 .loc 1 2751 40 is_stmt 1 view .LVU46
2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
181 .loc 1 2751 16 is_stmt 0 view .LVU47
182 005c 019A ldr r2, [sp, #4]
2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
183 .loc 1 2751 40 view .LVU48
184 005e 4FF6FE73 movw r3, #65534
185 0062 9A42 cmp r2, r3
186 0064 13D8 bhi .L10
2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
187 .loc 1 2751 40 discriminator 1 view .LVU49
188 0066 96B9 cbnz r6, .L10
2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
189 .loc 1 2754 5 is_stmt 1 view .LVU50
2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
190 .loc 1 2754 18 is_stmt 0 view .LVU51
191 0068 0021 movs r1, #0
192 006a 2068 ldr r0, [r4]
193 .LVL20:
2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
194 .loc 1 2754 18 view .LVU52
195 006c FFF7FEFF bl SDMMC_CmdAppCommand
196 .LVL21:
2755:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
ARM GAS /tmp/ccMMu31U.s page 54
197 .loc 1 2755 5 is_stmt 1 view .LVU53
2755:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
198 .loc 1 2755 7 is_stmt 0 view .LVU54
199 0070 E0B9 cbnz r0, .L15
2761:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
200 .loc 1 2761 5 is_stmt 1 view .LVU55
2761:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
201 .loc 1 2761 18 is_stmt 0 view .LVU56
202 0072 1249 ldr r1, .L21
203 0074 2068 ldr r0, [r4]
204 .LVL22:
2761:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
205 .loc 1 2761 18 view .LVU57
206 0076 FFF7FEFF bl SDMMC_CmdAppOperCommand
207 .LVL23:
2762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
208 .loc 1 2762 5 is_stmt 1 view .LVU58
2762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
209 .loc 1 2762 7 is_stmt 0 view .LVU59
210 007a 0646 mov r6, r0
211 .LVL24:
2762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
212 .loc 1 2762 7 view .LVU60
213 007c C0B9 cbnz r0, .L16
2768:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
214 .loc 1 2768 5 is_stmt 1 view .LVU61
2768:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
215 .loc 1 2768 16 is_stmt 0 view .LVU62
216 007e 0021 movs r1, #0
217 0080 2068 ldr r0, [r4]
218 .LVL25:
2768:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
219 .loc 1 2768 16 view .LVU63
220 0082 FFF7FEFF bl SDMMC_GetResponse
221 .LVL26:
2771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
222 .loc 1 2771 5 is_stmt 1 view .LVU64
2771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
223 .loc 1 2771 52 is_stmt 0 view .LVU65
224 0086 C30F lsrs r3, r0, #31
225 0088 E5D0 beq .L9
2771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
226 .loc 1 2771 52 discriminator 1 view .LVU66
227 008a 1E46 mov r6, r3
228 .LVL27:
2771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
229 .loc 1 2771 52 discriminator 1 view .LVU67
230 008c E3E7 b .L9
231 .LVL28:
232 .L10:
2776:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
233 .loc 1 2776 3 is_stmt 1 view .LVU68
2776:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
234 .loc 1 2776 12 is_stmt 0 view .LVU69
235 008e 019A ldr r2, [sp, #4]
2776:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
236 .loc 1 2776 5 view .LVU70
ARM GAS /tmp/ccMMu31U.s page 55
237 0090 4FF6FE73 movw r3, #65534
238 0094 9A42 cmp r2, r3
239 0096 0ED8 bhi .L17
2781:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
240 .loc 1 2781 3 is_stmt 1 view .LVU71
2781:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
241 .loc 1 2781 5 is_stmt 0 view .LVU72
242 0098 10F08043 ands r3, r0, #1073741824
243 009c 02D0 beq .L12
2783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
244 .loc 1 2783 5 is_stmt 1 view .LVU73
2783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
245 .loc 1 2783 26 is_stmt 0 view .LVU74
246 009e 0123 movs r3, #1
247 00a0 6364 str r3, [r4, #68]
248 00a2 B7E7 b .L2
249 .L12:
2787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
250 .loc 1 2787 5 is_stmt 1 view .LVU75
2787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
251 .loc 1 2787 26 is_stmt 0 view .LVU76
252 00a4 0022 movs r2, #0
253 00a6 6264 str r2, [r4, #68]
2791:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
254 .loc 1 2791 10 view .LVU77
255 00a8 1D46 mov r5, r3
256 00aa B3E7 b .L2
257 .LVL29:
258 .L15:
2757:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
259 .loc 1 2757 14 view .LVU78
260 00ac 0546 mov r5, r0
261 00ae B1E7 b .L2
262 .LVL30:
263 .L16:
2764:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
264 .loc 1 2764 14 view .LVU79
265 00b0 4FF08055 mov r5, #268435456
266 00b4 AEE7 b .L2
267 .LVL31:
268 .L17:
2778:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
269 .loc 1 2778 12 view .LVU80
270 00b6 4FF08075 mov r5, #16777216
271 00ba ABE7 b .L2
272 .L22:
273 .align 2
274 .L21:
275 00bc 000010C1 .word -1055916032
276 .cfi_endproc
277 .LFE174:
279 .section .text.SD_PowerOFF,"ax",%progbits
280 .align 1
281 .syntax unified
282 .thumb
283 .thumb_func
285 SD_PowerOFF:
ARM GAS /tmp/ccMMu31U.s page 56
286 .LVL32:
287 .LFB175:
2793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2794:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2795:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Turns the SDMMC output signals off.
2796:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
2797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval None
2798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static void SD_PowerOFF(SD_HandleTypeDef *hsd)
2800:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
288 .loc 1 2800 1 is_stmt 1 view -0
289 .cfi_startproc
290 @ args = 0, pretend = 0, frame = 0
291 @ frame_needed = 0, uses_anonymous_args = 0
292 .loc 1 2800 1 is_stmt 0 view .LVU82
293 0000 08B5 push {r3, lr}
294 .LCFI4:
295 .cfi_def_cfa_offset 8
296 .cfi_offset 3, -8
297 .cfi_offset 14, -4
2801:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Set Power State to OFF */
2802:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_PowerState_OFF(hsd->Instance);
298 .loc 1 2802 3 is_stmt 1 view .LVU83
299 .loc 1 2802 9 is_stmt 0 view .LVU84
300 0002 0068 ldr r0, [r0]
301 .LVL33:
302 .loc 1 2802 9 view .LVU85
303 0004 FFF7FEFF bl SDMMC_PowerState_OFF
304 .LVL34:
2803:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
305 .loc 1 2803 1 view .LVU86
306 0008 08BD pop {r3, pc}
307 .cfi_endproc
308 .LFE175:
310 .section .text.SD_Read_IT,"ax",%progbits
311 .align 1
312 .syntax unified
313 .thumb
314 .thumb_func
316 SD_Read_IT:
317 .LVL35:
318 .LFB181:
2804:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2805:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Send Status info command.
2807:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: pointer to SD handle
2808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param pSDstatus: Pointer to the buffer that will contain the SD card status
2809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * SD Status register)
2810:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval error state
2811:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2812:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static uint32_t SD_SendSDStatus(SD_HandleTypeDef *hsd, uint32_t *pSDstatus)
2813:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
2815:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
2816:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t tickstart = HAL_GetTick();
2817:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count;
2818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t *pData = pSDstatus;
ARM GAS /tmp/ccMMu31U.s page 57
2819:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Check SD response */
2821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED)
2822:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2823:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_LOCK_UNLOCK_FAILED;
2824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2825:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2826:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Set block size for card if it is not equal to current block size for card */
2827:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdBlockLength(hsd->Instance, 64U);
2828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_NONE;
2831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
2832:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2833:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2834:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send CMD55 */
2835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U));
2836:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2837:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_NONE;
2839:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
2840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2841:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2842:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Configure the SD DPSM (Data Path State Machine) */
2843:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataTimeOut = SDMMC_DATATIMEOUT;
2844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = 64U;
2845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_64B;
2846:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC;
2847:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
2848:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
2849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
2850:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2851:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send ACMD13 (SD_APP_STAUS) with argument as card's RCA */
2852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdStatusRegister(hsd->Instance);
2853:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_NONE;
2856:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
2857:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2858:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2859:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Get status data */
2860:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT | SD
2861:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXFIFOHF))
2863:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2864:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** for(count = 0U; count < 8U; count++)
2865:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2866:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *pData = SDMMC_ReadFIFO(hsd->Instance);
2867:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pData++;
2868:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2869:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2870:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((HAL_GetTick() - tickstart) >= SDMMC_DATATIMEOUT)
2872:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2873:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_TIMEOUT;
2874:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
ARM GAS /tmp/ccMMu31U.s page 58
2876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DTIMEOUT))
2878:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_DATA_TIMEOUT;
2880:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL))
2882:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2883:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_DATA_CRC_FAIL;
2884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR))
2886:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_RX_OVERRUN;
2888:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2889:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
2890:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2891:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Nothing to do */
2892:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2893:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2894:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** while ((__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXDAVL)))
2895:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *pData = SDMMC_ReadFIFO(hsd->Instance);
2897:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pData++;
2898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((HAL_GetTick() - tickstart) >= SDMMC_DATATIMEOUT)
2900:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2901:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_TIMEOUT;
2902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2903:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2904:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2905:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static status flags*/
2906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS);
2907:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2908:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_NONE;
2909:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2910:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2911:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2912:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Returns the current card's status.
2913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
2914:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param pCardStatus: pointer to the buffer that will contain the SD card
2915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * status (Card Status register)
2916:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval error state
2917:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2918:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static uint32_t SD_SendStatus(SD_HandleTypeDef *hsd, uint32_t *pCardStatus)
2919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
2921:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2922:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(pCardStatus == NULL)
2923:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2924:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_PARAM;
2925:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2926:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2927:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send Status command */
2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdSendStatus(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U));
2929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2930:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2931:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
2932:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
ARM GAS /tmp/ccMMu31U.s page 59
2933:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2934:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Get SD card status */
2935:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *pCardStatus = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1);
2936:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2937:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_NONE;
2938:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2939:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2940:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2941:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Enables the SDMMC wide bus mode.
2942:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: pointer to SD handle
2943:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval error state
2944:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2945:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static uint32_t SD_WideBus_Enable(SD_HandleTypeDef *hsd)
2946:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2947:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t scr[2U] = {0U, 0U};
2948:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED)
2951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2952:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_LOCK_UNLOCK_FAILED;
2953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2954:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2955:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Get SCR Register */
2956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SD_FindSCR(hsd, scr);
2957:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
2960:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2961:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* If requested card supports wide bus operation */
2963:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((scr[1U] & SDMMC_WIDE_BUS_SUPPORT) != SDMMC_ALLZERO)
2964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2965:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send CMD55 APP_CMD with argument as card's RCA.*/
2966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U));
2967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
2970:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send ACMD6 APP_CMD with argument as 2 for wide bus mode */
2973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdBusWidth(hsd->Instance, 2U);
2974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2975:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2976:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
2977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2978:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_NONE;
2980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
2982:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE;
2984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2985:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2986:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
2988:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Disables the SDMMC wide bus mode.
2989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
ARM GAS /tmp/ccMMu31U.s page 60
2990:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval error state
2991:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
2992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static uint32_t SD_WideBus_Disable(SD_HandleTypeDef *hsd)
2993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t scr[2U] = {0U, 0U};
2995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
2996:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED)
2998:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_LOCK_UNLOCK_FAILED;
3000:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3002:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Get SCR Register */
3003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SD_FindSCR(hsd, scr);
3004:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
3005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
3007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3008:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* If requested card supports 1 bit mode operation */
3010:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((scr[1U] & SDMMC_SINGLE_BUS_SUPPORT) != SDMMC_ALLZERO)
3011:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3012:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send CMD55 APP_CMD with argument as card's RCA */
3013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U));
3014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
3015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3016:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
3017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3018:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send ACMD6 APP_CMD with argument as 0 for single bus mode */
3020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdBusWidth(hsd->Instance, 0U);
3021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
3022:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
3024:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3025:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3026:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_NONE;
3027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
3029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE;
3031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3033:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3034:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3035:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
3036:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Finds the SD card SCR register value.
3037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle
3038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param pSCR: pointer to the buffer that will contain the SCR value
3039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval error state
3040:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
3041:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static uint32_t SD_FindSCR(SD_HandleTypeDef *hsd, uint32_t *pSCR)
3042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3043:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
3044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
3045:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t tickstart = HAL_GetTick();
3046:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t index = 0U;
ARM GAS /tmp/ccMMu31U.s page 61
3047:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t tempscr[2U] = {0U, 0U};
3048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t *scr = pSCR;
3049:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3050:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Set Block Size To 8 Bytes */
3051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdBlockLength(hsd->Instance, 8U);
3052:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
3053:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3054:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
3055:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3056:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3057:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send CMD55 APP_CMD with argument as card's RCA */
3058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)((hsd->SdCard.RelCardAdd) << 16U));
3059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
3060:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
3062:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataTimeOut = SDMMC_DATATIMEOUT;
3065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = 8U;
3066:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_8B;
3067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC;
3068:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
3069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
3070:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
3071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3072:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Send ACMD51 SD_APP_SEND_SCR with argument as 0 */
3073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdSendSCR(hsd->Instance);
3074:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
3075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3076:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
3077:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3078:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT))
3080:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXDAVL))
3082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *(tempscr + index) = SDMMC_ReadFIFO(hsd->Instance);
3084:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** index++;
3085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXACT))
3087:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3088:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** break;
3089:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((HAL_GetTick() - tickstart) >= SDMMC_DATATIMEOUT)
3092:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_TIMEOUT;
3094:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3095:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3097:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DTIMEOUT))
3098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3099:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DTIMEOUT);
3100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_DATA_TIMEOUT;
3102:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL))
ARM GAS /tmp/ccMMu31U.s page 62
3104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DCRCFAIL);
3106:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_DATA_CRC_FAIL;
3108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR))
3110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_RXOVERR);
3112:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_RX_OVERRUN;
3114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else
3116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3117:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* No error flag set */
3118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Clear all the static flags */
3119:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS);
3120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *scr = (((tempscr[1] & SDMMC_0TO7BITS) << 24) | ((tempscr[1] & SDMMC_8TO15BITS) << 8) |\
3122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((tempscr[1] & SDMMC_16TO23BITS) >> 8) | ((tempscr[1] & SDMMC_24TO31BITS) >> 24));
3123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** scr++;
3124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *scr = (((tempscr[0] & SDMMC_0TO7BITS) << 24) | ((tempscr[0] & SDMMC_8TO15BITS) << 8) |\
3125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((tempscr[0] & SDMMC_16TO23BITS) >> 8) | ((tempscr[0] & SDMMC_24TO31BITS) >> 24));
3126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3128:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_SD_ERROR_NONE;
3130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3132:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
3133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Wrap up reading in non-blocking mode.
3134:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: pointer to a SD_HandleTypeDef structure that contains
3135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * the configuration information.
3136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval None
3137:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
3138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static void SD_Read_IT(SD_HandleTypeDef *hsd)
3139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
319 .loc 1 3139 1 is_stmt 1 view -0
320 .cfi_startproc
321 @ args = 0, pretend = 0, frame = 0
322 @ frame_needed = 0, uses_anonymous_args = 0
323 .loc 1 3139 1 is_stmt 0 view .LVU88
324 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
325 .LCFI5:
326 .cfi_def_cfa_offset 24
327 .cfi_offset 3, -24
328 .cfi_offset 4, -20
329 .cfi_offset 5, -16
330 .cfi_offset 6, -12
331 .cfi_offset 7, -8
332 .cfi_offset 14, -4
3140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count, data, dataremaining;
333 .loc 1 3140 3 is_stmt 1 view .LVU89
3141:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint8_t* tmp;
334 .loc 1 3141 3 view .LVU90
3142:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp = hsd->pRxBuffPtr;
335 .loc 1 3143 3 view .LVU91
ARM GAS /tmp/ccMMu31U.s page 63
336 .loc 1 3143 7 is_stmt 0 view .LVU92
337 0002 846A ldr r4, [r0, #40]
338 .LVL36:
3144:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining = hsd->RxXferSize;
339 .loc 1 3144 3 is_stmt 1 view .LVU93
340 .loc 1 3144 17 is_stmt 0 view .LVU94
341 0004 C66A ldr r6, [r0, #44]
342 .LVL37:
3145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if (dataremaining > 0U)
343 .loc 1 3146 3 is_stmt 1 view .LVU95
344 .loc 1 3146 6 is_stmt 0 view .LVU96
345 0006 A6B9 cbnz r6, .L29
346 .LVL38:
347 .L25:
3147:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3148:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Read data from SDMMC Rx FIFO */
3149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** for(count = 0U; count < 8U; count++)
3150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data = SDMMC_ReadFIFO(hsd->Instance);
3152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tmp = (uint8_t)(data & 0xFFU);
3153:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
3154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
3155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tmp = (uint8_t)((data >> 8U) & 0xFFU);
3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
3158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tmp = (uint8_t)((data >> 16U) & 0xFFU);
3159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
3160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
3161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tmp = (uint8_t)((data >> 24U) & 0xFFU);
3162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
3163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
3164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->pRxBuffPtr = tmp;
3167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->RxXferSize = dataremaining;
3168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
348 .loc 1 3169 1 view .LVU97
349 0008 F8BD pop {r3, r4, r5, r6, r7, pc}
350 .LVL39:
351 .L28:
3151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tmp = (uint8_t)(data & 0xFFU);
352 .loc 1 3151 7 is_stmt 1 view .LVU98
3151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tmp = (uint8_t)(data & 0xFFU);
353 .loc 1 3151 14 is_stmt 0 view .LVU99
354 000a 3868 ldr r0, [r7]
355 000c FFF7FEFF bl SDMMC_ReadFIFO
356 .LVL40:
3152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
357 .loc 1 3152 7 is_stmt 1 view .LVU100
3152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
358 .loc 1 3152 12 is_stmt 0 view .LVU101
359 0010 2070 strb r0, [r4]
3153:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
360 .loc 1 3153 7 is_stmt 1 view .LVU102
361 .LVL41:
ARM GAS /tmp/ccMMu31U.s page 64
3154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tmp = (uint8_t)((data >> 8U) & 0xFFU);
362 .loc 1 3154 7 view .LVU103
3155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
363 .loc 1 3155 7 view .LVU104
3155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
364 .loc 1 3155 14 is_stmt 0 view .LVU105
365 0012 C0F30723 ubfx r3, r0, #8, #8
3155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
366 .loc 1 3155 12 view .LVU106
367 0016 6370 strb r3, [r4, #1]
3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
368 .loc 1 3156 7 is_stmt 1 view .LVU107
369 .LVL42:
3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tmp = (uint8_t)((data >> 16U) & 0xFFU);
370 .loc 1 3157 7 view .LVU108
3158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
371 .loc 1 3158 7 view .LVU109
3158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
372 .loc 1 3158 14 is_stmt 0 view .LVU110
373 0018 C0F30743 ubfx r3, r0, #16, #8
3158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
374 .loc 1 3158 12 view .LVU111
375 001c A370 strb r3, [r4, #2]
3159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
376 .loc 1 3159 7 is_stmt 1 view .LVU112
377 .LVL43:
3160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tmp = (uint8_t)((data >> 24U) & 0xFFU);
378 .loc 1 3160 7 view .LVU113
3161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
379 .loc 1 3161 7 view .LVU114
3161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
380 .loc 1 3161 14 is_stmt 0 view .LVU115
381 001e 000E lsrs r0, r0, #24
382 .LVL44:
3161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
383 .loc 1 3161 12 view .LVU116
384 0020 E070 strb r0, [r4, #3]
3162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
385 .loc 1 3162 7 is_stmt 1 view .LVU117
3162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
386 .loc 1 3162 10 is_stmt 0 view .LVU118
387 0022 0434 adds r4, r4, #4
388 .LVL45:
3163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
389 .loc 1 3163 7 is_stmt 1 view .LVU119
3163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
390 .loc 1 3163 20 is_stmt 0 view .LVU120
391 0024 043E subs r6, r6, #4
392 .LVL46:
3149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
393 .loc 1 3149 38 is_stmt 1 discriminator 3 view .LVU121
394 0026 0135 adds r5, r5, #1
395 .LVL47:
396 .L26:
3149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
397 .loc 1 3149 27 discriminator 1 view .LVU122
398 0028 072D cmp r5, #7
ARM GAS /tmp/ccMMu31U.s page 65
399 002a EED9 bls .L28
3166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->RxXferSize = dataremaining;
400 .loc 1 3166 5 view .LVU123
3166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->RxXferSize = dataremaining;
401 .loc 1 3166 21 is_stmt 0 view .LVU124
402 002c BC62 str r4, [r7, #40]
3167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
403 .loc 1 3167 5 is_stmt 1 view .LVU125
3167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
404 .loc 1 3167 21 is_stmt 0 view .LVU126
405 002e FE62 str r6, [r7, #44]
406 .loc 1 3169 1 view .LVU127
407 0030 EAE7 b .L25
408 .LVL48:
409 .L29:
410 .loc 1 3169 1 view .LVU128
411 0032 0746 mov r7, r0
3149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
412 .loc 1 3149 15 view .LVU129
413 0034 0025 movs r5, #0
414 0036 F7E7 b .L26
415 .cfi_endproc
416 .LFE181:
418 .section .text.SD_Write_IT,"ax",%progbits
419 .align 1
420 .syntax unified
421 .thumb
422 .thumb_func
424 SD_Write_IT:
425 .LVL49:
426 .LFB182:
3170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /**
3172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @brief Wrap up writing in non-blocking mode.
3173:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: pointer to a SD_HandleTypeDef structure that contains
3174:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * the configuration information.
3175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @retval None
3176:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** */
3177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static void SD_Write_IT(SD_HandleTypeDef *hsd)
3178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
427 .loc 1 3178 1 is_stmt 1 view -0
428 .cfi_startproc
429 @ args = 0, pretend = 0, frame = 8
430 @ frame_needed = 0, uses_anonymous_args = 0
431 .loc 1 3178 1 is_stmt 0 view .LVU131
432 0000 F0B5 push {r4, r5, r6, r7, lr}
433 .LCFI6:
434 .cfi_def_cfa_offset 20
435 .cfi_offset 4, -20
436 .cfi_offset 5, -16
437 .cfi_offset 6, -12
438 .cfi_offset 7, -8
439 .cfi_offset 14, -4
440 0002 83B0 sub sp, sp, #12
441 .LCFI7:
442 .cfi_def_cfa_offset 32
3179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count, data, dataremaining;
ARM GAS /tmp/ccMMu31U.s page 66
443 .loc 1 3179 3 is_stmt 1 view .LVU132
3180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint8_t* tmp;
444 .loc 1 3180 3 view .LVU133
3181:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3182:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp = hsd->pTxBuffPtr;
445 .loc 1 3182 3 view .LVU134
446 .loc 1 3182 7 is_stmt 0 view .LVU135
447 0004 046A ldr r4, [r0, #32]
448 .LVL50:
3183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining = hsd->TxXferSize;
449 .loc 1 3183 3 is_stmt 1 view .LVU136
450 .loc 1 3183 17 is_stmt 0 view .LVU137
451 0006 466A ldr r6, [r0, #36]
452 .LVL51:
3184:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if (dataremaining > 0U)
453 .loc 1 3185 3 is_stmt 1 view .LVU138
454 .loc 1 3185 6 is_stmt 0 view .LVU139
455 0008 DEB9 cbnz r6, .L35
456 .LVL52:
457 .L31:
3186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Write data to SDMMC Tx FIFO */
3188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** for(count = 0U; count < 8U; count++)
3189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data = (uint32_t)(*tmp);
3191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
3192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
3193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data |= ((uint32_t)(*tmp) << 8U);
3194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
3195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
3196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data |= ((uint32_t)(*tmp) << 16U);
3197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
3198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
3199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data |= ((uint32_t)(*tmp) << 24U);
3200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
3201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
3202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_WriteFIFO(hsd->Instance, &data);
3203:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->pTxBuffPtr = tmp;
3206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->TxXferSize = dataremaining;
3207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
458 .loc 1 3208 1 view .LVU140
459 000a 03B0 add sp, sp, #12
460 .LCFI8:
461 .cfi_remember_state
462 .cfi_def_cfa_offset 20
463 @ sp needed
464 000c F0BD pop {r4, r5, r6, r7, pc}
465 .LVL53:
466 .L34:
467 .LCFI9:
468 .cfi_restore_state
3190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
469 .loc 1 3190 7 is_stmt 1 view .LVU141
ARM GAS /tmp/ccMMu31U.s page 67
3190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
470 .loc 1 3190 25 is_stmt 0 view .LVU142
471 000e 2378 ldrb r3, [r4] @ zero_extendqisi2
3190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
472 .loc 1 3190 12 view .LVU143
473 0010 0193 str r3, [sp, #4]
3191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
474 .loc 1 3191 7 is_stmt 1 view .LVU144
475 .LVL54:
3192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data |= ((uint32_t)(*tmp) << 8U);
476 .loc 1 3192 7 view .LVU145
3193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
477 .loc 1 3193 7 view .LVU146
3193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
478 .loc 1 3193 27 is_stmt 0 view .LVU147
479 0012 6278 ldrb r2, [r4, #1] @ zero_extendqisi2
3193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
480 .loc 1 3193 12 view .LVU148
481 0014 43EA0223 orr r3, r3, r2, lsl #8
482 0018 0193 str r3, [sp, #4]
3194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
483 .loc 1 3194 7 is_stmt 1 view .LVU149
484 .LVL55:
3195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data |= ((uint32_t)(*tmp) << 16U);
485 .loc 1 3195 7 view .LVU150
3196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
486 .loc 1 3196 7 view .LVU151
3196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
487 .loc 1 3196 27 is_stmt 0 view .LVU152
488 001a A278 ldrb r2, [r4, #2] @ zero_extendqisi2
3196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
489 .loc 1 3196 12 view .LVU153
490 001c 43EA0243 orr r3, r3, r2, lsl #16
491 0020 0193 str r3, [sp, #4]
3197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
492 .loc 1 3197 7 is_stmt 1 view .LVU154
493 .LVL56:
3198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data |= ((uint32_t)(*tmp) << 24U);
494 .loc 1 3198 7 view .LVU155
3199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
495 .loc 1 3199 7 view .LVU156
3199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
496 .loc 1 3199 27 is_stmt 0 view .LVU157
497 0022 E278 ldrb r2, [r4, #3] @ zero_extendqisi2
3199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++;
498 .loc 1 3199 12 view .LVU158
499 0024 43EA0263 orr r3, r3, r2, lsl #24
500 0028 0193 str r3, [sp, #4]
3200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
501 .loc 1 3200 7 is_stmt 1 view .LVU159
3200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
502 .loc 1 3200 10 is_stmt 0 view .LVU160
503 002a 0434 adds r4, r4, #4
504 .LVL57:
3201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_WriteFIFO(hsd->Instance, &data);
505 .loc 1 3201 7 is_stmt 1 view .LVU161
3201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_WriteFIFO(hsd->Instance, &data);
ARM GAS /tmp/ccMMu31U.s page 68
506 .loc 1 3201 20 is_stmt 0 view .LVU162
507 002c 043E subs r6, r6, #4
508 .LVL58:
3202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
509 .loc 1 3202 7 is_stmt 1 view .LVU163
3202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
510 .loc 1 3202 13 is_stmt 0 view .LVU164
511 002e 01A9 add r1, sp, #4
512 0030 3868 ldr r0, [r7]
513 0032 FFF7FEFF bl SDMMC_WriteFIFO
514 .LVL59:
3188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
515 .loc 1 3188 38 is_stmt 1 discriminator 3 view .LVU165
516 0036 0135 adds r5, r5, #1
517 .LVL60:
518 .L32:
3188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
519 .loc 1 3188 27 discriminator 1 view .LVU166
520 0038 072D cmp r5, #7
521 003a E8D9 bls .L34
3205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->TxXferSize = dataremaining;
522 .loc 1 3205 5 view .LVU167
3205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->TxXferSize = dataremaining;
523 .loc 1 3205 21 is_stmt 0 view .LVU168
524 003c 3C62 str r4, [r7, #32]
3206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
525 .loc 1 3206 5 is_stmt 1 view .LVU169
3206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
526 .loc 1 3206 21 is_stmt 0 view .LVU170
527 003e 7E62 str r6, [r7, #36]
528 .loc 1 3208 1 view .LVU171
529 0040 E3E7 b .L31
530 .LVL61:
531 .L35:
532 .loc 1 3208 1 view .LVU172
533 0042 0746 mov r7, r0
3188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
534 .loc 1 3188 15 view .LVU173
535 0044 0025 movs r5, #0
536 0046 F7E7 b .L32
537 .cfi_endproc
538 .LFE182:
540 .section .text.SD_SendSDStatus,"ax",%progbits
541 .align 1
542 .syntax unified
543 .thumb
544 .thumb_func
546 SD_SendSDStatus:
547 .LVL62:
548 .LFB176:
2813:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
549 .loc 1 2813 1 is_stmt 1 view -0
550 .cfi_startproc
551 @ args = 0, pretend = 0, frame = 24
552 @ frame_needed = 0, uses_anonymous_args = 0
2813:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
553 .loc 1 2813 1 is_stmt 0 view .LVU175
ARM GAS /tmp/ccMMu31U.s page 69
554 0000 F0B5 push {r4, r5, r6, r7, lr}
555 .LCFI10:
556 .cfi_def_cfa_offset 20
557 .cfi_offset 4, -20
558 .cfi_offset 5, -16
559 .cfi_offset 6, -12
560 .cfi_offset 7, -8
561 .cfi_offset 14, -4
562 0002 87B0 sub sp, sp, #28
563 .LCFI11:
564 .cfi_def_cfa_offset 48
565 0004 0546 mov r5, r0
566 0006 0E46 mov r6, r1
2814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
567 .loc 1 2814 3 is_stmt 1 view .LVU176
2815:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t tickstart = HAL_GetTick();
568 .loc 1 2815 3 view .LVU177
2816:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count;
569 .loc 1 2816 3 view .LVU178
2816:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count;
570 .loc 1 2816 24 is_stmt 0 view .LVU179
571 0008 FFF7FEFF bl HAL_GetTick
572 .LVL63:
2816:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count;
573 .loc 1 2816 24 view .LVU180
574 000c 0746 mov r7, r0
575 .LVL64:
2817:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t *pData = pSDstatus;
576 .loc 1 2817 3 is_stmt 1 view .LVU181
2818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
577 .loc 1 2818 3 view .LVU182
2821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
578 .loc 1 2821 3 view .LVU183
2821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
579 .loc 1 2821 7 is_stmt 0 view .LVU184
580 000e 0021 movs r1, #0
581 0010 2868 ldr r0, [r5]
582 .LVL65:
2821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
583 .loc 1 2821 7 view .LVU185
584 0012 FFF7FEFF bl SDMMC_GetResponse
585 .LVL66:
2821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
586 .loc 1 2821 5 discriminator 1 view .LVU186
587 0016 10F0007F tst r0, #33554432
588 001a 66D1 bne .L48
2827:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
589 .loc 1 2827 3 is_stmt 1 view .LVU187
2827:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
590 .loc 1 2827 16 is_stmt 0 view .LVU188
591 001c 4021 movs r1, #64
592 001e 2868 ldr r0, [r5]
593 0020 FFF7FEFF bl SDMMC_CmdBlockLength
594 .LVL67:
2828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
595 .loc 1 2828 3 is_stmt 1 view .LVU189
2828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
ARM GAS /tmp/ccMMu31U.s page 70
596 .loc 1 2828 5 is_stmt 0 view .LVU190
597 0024 0346 mov r3, r0
598 0026 10B1 cbz r0, .L39
2830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
599 .loc 1 2830 5 is_stmt 1 view .LVU191
2830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
600 .loc 1 2830 8 is_stmt 0 view .LVU192
601 0028 AA6B ldr r2, [r5, #56]
2830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
602 .loc 1 2830 20 view .LVU193
603 002a AA63 str r2, [r5, #56]
2831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
604 .loc 1 2831 5 is_stmt 1 view .LVU194
2831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
605 .loc 1 2831 12 is_stmt 0 view .LVU195
606 002c 5FE0 b .L37
607 .L39:
2835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
608 .loc 1 2835 3 is_stmt 1 view .LVU196
2835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
609 .loc 1 2835 73 is_stmt 0 view .LVU197
610 002e 296D ldr r1, [r5, #80]
2835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
611 .loc 1 2835 16 view .LVU198
612 0030 0904 lsls r1, r1, #16
613 0032 2868 ldr r0, [r5]
614 .LVL68:
2835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
615 .loc 1 2835 16 view .LVU199
616 0034 FFF7FEFF bl SDMMC_CmdAppCommand
617 .LVL69:
2836:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
618 .loc 1 2836 3 is_stmt 1 view .LVU200
2836:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
619 .loc 1 2836 5 is_stmt 0 view .LVU201
620 0038 0346 mov r3, r0
621 003a 10B1 cbz r0, .L40
2838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
622 .loc 1 2838 5 is_stmt 1 view .LVU202
2838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
623 .loc 1 2838 8 is_stmt 0 view .LVU203
624 003c AA6B ldr r2, [r5, #56]
2838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
625 .loc 1 2838 20 view .LVU204
626 003e AA63 str r2, [r5, #56]
2839:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
627 .loc 1 2839 5 is_stmt 1 view .LVU205
2839:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
628 .loc 1 2839 12 is_stmt 0 view .LVU206
629 0040 55E0 b .L37
630 .L40:
2843:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = 64U;
631 .loc 1 2843 3 is_stmt 1 view .LVU207
2843:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = 64U;
632 .loc 1 2843 24 is_stmt 0 view .LVU208
633 0042 4FF0FF33 mov r3, #-1
634 0046 0093 str r3, [sp]
ARM GAS /tmp/ccMMu31U.s page 71
2844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_64B;
635 .loc 1 2844 3 is_stmt 1 view .LVU209
2844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_64B;
636 .loc 1 2844 24 is_stmt 0 view .LVU210
637 0048 4023 movs r3, #64
638 004a 0193 str r3, [sp, #4]
2845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC;
639 .loc 1 2845 3 is_stmt 1 view .LVU211
2845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC;
640 .loc 1 2845 24 is_stmt 0 view .LVU212
641 004c 6023 movs r3, #96
642 004e 0293 str r3, [sp, #8]
2846:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
643 .loc 1 2846 3 is_stmt 1 view .LVU213
2846:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
644 .loc 1 2846 24 is_stmt 0 view .LVU214
645 0050 0223 movs r3, #2
646 0052 0393 str r3, [sp, #12]
2847:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
647 .loc 1 2847 3 is_stmt 1 view .LVU215
2847:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
648 .loc 1 2847 24 is_stmt 0 view .LVU216
649 0054 0023 movs r3, #0
650 0056 0493 str r3, [sp, #16]
2848:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
651 .loc 1 2848 3 is_stmt 1 view .LVU217
2848:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
652 .loc 1 2848 24 is_stmt 0 view .LVU218
653 0058 0123 movs r3, #1
654 005a 0593 str r3, [sp, #20]
2849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
655 .loc 1 2849 3 is_stmt 1 view .LVU219
2849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
656 .loc 1 2849 9 is_stmt 0 view .LVU220
657 005c 6946 mov r1, sp
658 005e 2868 ldr r0, [r5]
659 .LVL70:
2849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
660 .loc 1 2849 9 view .LVU221
661 0060 FFF7FEFF bl SDMMC_ConfigData
662 .LVL71:
2852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
663 .loc 1 2852 3 is_stmt 1 view .LVU222
2852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
664 .loc 1 2852 16 is_stmt 0 view .LVU223
665 0064 2868 ldr r0, [r5]
666 0066 FFF7FEFF bl SDMMC_CmdStatusRegister
667 .LVL72:
2853:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
668 .loc 1 2853 3 is_stmt 1 view .LVU224
2853:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
669 .loc 1 2853 5 is_stmt 0 view .LVU225
670 006a 0346 mov r3, r0
671 006c 80B1 cbz r0, .L41
2855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
672 .loc 1 2855 5 is_stmt 1 view .LVU226
2855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
ARM GAS /tmp/ccMMu31U.s page 72
673 .loc 1 2855 8 is_stmt 0 view .LVU227
674 006e AA6B ldr r2, [r5, #56]
2855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate;
675 .loc 1 2855 20 view .LVU228
676 0070 AA63 str r2, [r5, #56]
2856:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
677 .loc 1 2856 5 is_stmt 1 view .LVU229
2856:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
678 .loc 1 2856 12 is_stmt 0 view .LVU230
679 0072 3CE0 b .L37
680 .LVL73:
681 .L44:
2866:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pData++;
682 .loc 1 2866 9 is_stmt 1 view .LVU231
2866:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pData++;
683 .loc 1 2866 18 is_stmt 0 view .LVU232
684 0074 2868 ldr r0, [r5]
685 0076 FFF7FEFF bl SDMMC_ReadFIFO
686 .LVL74:
2866:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pData++;
687 .loc 1 2866 16 discriminator 1 view .LVU233
688 007a 46F8040B str r0, [r6], #4
689 .LVL75:
2867:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
690 .loc 1 2867 9 is_stmt 1 view .LVU234
2864:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
691 .loc 1 2864 40 discriminator 3 view .LVU235
692 007e 0134 adds r4, r4, #1
693 .LVL76:
694 .L42:
2864:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
695 .loc 1 2864 29 discriminator 1 view .LVU236
696 0080 072C cmp r4, #7
697 0082 F7D9 bls .L44
698 .LVL77:
699 .L43:
2871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
700 .loc 1 2871 5 view .LVU237
2871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
701 .loc 1 2871 9 is_stmt 0 view .LVU238
702 0084 FFF7FEFF bl HAL_GetTick
703 .LVL78:
2871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
704 .loc 1 2871 23 discriminator 1 view .LVU239
705 0088 C01B subs r0, r0, r7
2871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
706 .loc 1 2871 7 discriminator 1 view .LVU240
707 008a B0F1FF3F cmp r0, #-1
708 008e 31D0 beq .L49
709 .L41:
2860:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
710 .loc 1 2860 9 is_stmt 1 view .LVU241
2860:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
711 .loc 1 2860 10 is_stmt 0 view .LVU242
712 0090 2B68 ldr r3, [r5]
713 0092 5C6B ldr r4, [r3, #52]
714 0094 40F22A42 movw r2, #1066
ARM GAS /tmp/ccMMu31U.s page 73
2860:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
715 .loc 1 2860 9 view .LVU243
716 0098 1440 ands r4, r4, r2
717 009a 04D1 bne .L55
2862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
718 .loc 1 2862 5 is_stmt 1 view .LVU244
2862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
719 .loc 1 2862 8 is_stmt 0 view .LVU245
720 009c 5B6B ldr r3, [r3, #52]
2862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
721 .loc 1 2862 7 view .LVU246
722 009e 13F4004F tst r3, #32768
723 00a2 EFD0 beq .L43
724 00a4 ECE7 b .L42
725 .L55:
2877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
726 .loc 1 2877 3 is_stmt 1 view .LVU247
2877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
727 .loc 1 2877 6 is_stmt 0 view .LVU248
728 00a6 5A6B ldr r2, [r3, #52]
2877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
729 .loc 1 2877 5 view .LVU249
730 00a8 12F0080F tst r2, #8
731 00ac 25D1 bne .L50
2881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
732 .loc 1 2881 8 is_stmt 1 view .LVU250
2881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
733 .loc 1 2881 11 is_stmt 0 view .LVU251
734 00ae 5A6B ldr r2, [r3, #52]
2881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
735 .loc 1 2881 10 view .LVU252
736 00b0 12F0020F tst r2, #2
737 00b4 23D1 bne .L51
2885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
738 .loc 1 2885 8 is_stmt 1 view .LVU253
2885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
739 .loc 1 2885 11 is_stmt 0 view .LVU254
740 00b6 5B6B ldr r3, [r3, #52]
2885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
741 .loc 1 2885 10 view .LVU255
742 00b8 13F0200F tst r3, #32
743 00bc 21D1 bne .L56
744 .L46:
2894:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
745 .loc 1 2894 11 is_stmt 1 view .LVU256
746 00be 2868 ldr r0, [r5]
747 00c0 436B ldr r3, [r0, #52]
748 00c2 13F40013 ands r3, r3, #2097152
749 00c6 0CD0 beq .L57
2896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pData++;
750 .loc 1 2896 5 view .LVU257
2896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pData++;
751 .loc 1 2896 14 is_stmt 0 view .LVU258
752 00c8 FFF7FEFF bl SDMMC_ReadFIFO
753 .LVL79:
2896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pData++;
754 .loc 1 2896 12 discriminator 1 view .LVU259
ARM GAS /tmp/ccMMu31U.s page 74
755 00cc 46F8040B str r0, [r6], #4
756 .LVL80:
2897:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
757 .loc 1 2897 5 is_stmt 1 view .LVU260
2899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
758 .loc 1 2899 5 view .LVU261
2899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
759 .loc 1 2899 9 is_stmt 0 view .LVU262
760 00d0 FFF7FEFF bl HAL_GetTick
761 .LVL81:
2899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
762 .loc 1 2899 23 discriminator 1 view .LVU263
763 00d4 C01B subs r0, r0, r7
2899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
764 .loc 1 2899 7 discriminator 1 view .LVU264
765 00d6 B0F1FF3F cmp r0, #-1
766 00da F0D1 bne .L46
2901:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
767 .loc 1 2901 14 view .LVU265
768 00dc 4FF00043 mov r3, #-2147483648
769 00e0 05E0 b .L37
770 .L57:
2906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
771 .loc 1 2906 3 is_stmt 1 view .LVU266
772 00e2 40F23A52 movw r2, #1338
773 00e6 8263 str r2, [r0, #56]
2908:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
774 .loc 1 2908 3 view .LVU267
2908:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
775 .loc 1 2908 10 is_stmt 0 view .LVU268
776 00e8 01E0 b .L37
777 .LVL82:
778 .L48:
2823:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
779 .loc 1 2823 12 view .LVU269
780 00ea 4FF40063 mov r3, #2048
781 .LVL83:
782 .L37:
2909:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
783 .loc 1 2909 1 view .LVU270
784 00ee 1846 mov r0, r3
785 00f0 07B0 add sp, sp, #28
786 .LCFI12:
787 .cfi_remember_state
788 .cfi_def_cfa_offset 20
789 @ sp needed
790 00f2 F0BD pop {r4, r5, r6, r7, pc}
791 .LVL84:
792 .L49:
793 .LCFI13:
794 .cfi_restore_state
2873:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
795 .loc 1 2873 14 view .LVU271
796 00f4 4FF00043 mov r3, #-2147483648
797 00f8 F9E7 b .L37
798 .L50:
2879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
ARM GAS /tmp/ccMMu31U.s page 75
799 .loc 1 2879 12 view .LVU272
800 00fa 0823 movs r3, #8
801 00fc F7E7 b .L37
802 .L51:
2883:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
803 .loc 1 2883 12 view .LVU273
804 00fe 0223 movs r3, #2
805 0100 F5E7 b .L37
806 .L56:
2887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
807 .loc 1 2887 12 view .LVU274
808 0102 2023 movs r3, #32
809 0104 F3E7 b .L37
810 .cfi_endproc
811 .LFE176:
813 .section .text.SD_FindSCR,"ax",%progbits
814 .align 1
815 .syntax unified
816 .thumb
817 .thumb_func
819 SD_FindSCR:
820 .LVL85:
821 .LFB180:
3042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
822 .loc 1 3042 1 is_stmt 1 view -0
823 .cfi_startproc
824 @ args = 0, pretend = 0, frame = 32
825 @ frame_needed = 0, uses_anonymous_args = 0
3042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
826 .loc 1 3042 1 is_stmt 0 view .LVU276
827 0000 F0B5 push {r4, r5, r6, r7, lr}
828 .LCFI14:
829 .cfi_def_cfa_offset 20
830 .cfi_offset 4, -20
831 .cfi_offset 5, -16
832 .cfi_offset 6, -12
833 .cfi_offset 7, -8
834 .cfi_offset 14, -4
835 0002 89B0 sub sp, sp, #36
836 .LCFI15:
837 .cfi_def_cfa_offset 56
838 0004 0446 mov r4, r0
839 0006 0F46 mov r7, r1
3043:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
840 .loc 1 3043 3 is_stmt 1 view .LVU277
3044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t tickstart = HAL_GetTick();
841 .loc 1 3044 3 view .LVU278
3045:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t index = 0U;
842 .loc 1 3045 3 view .LVU279
3045:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t index = 0U;
843 .loc 1 3045 24 is_stmt 0 view .LVU280
844 0008 FFF7FEFF bl HAL_GetTick
845 .LVL86:
3045:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t index = 0U;
846 .loc 1 3045 24 view .LVU281
847 000c 0646 mov r6, r0
848 .LVL87:
ARM GAS /tmp/ccMMu31U.s page 76
3046:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t tempscr[2U] = {0U, 0U};
849 .loc 1 3046 3 is_stmt 1 view .LVU282
3047:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t *scr = pSCR;
850 .loc 1 3047 3 view .LVU283
3047:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t *scr = pSCR;
851 .loc 1 3047 12 is_stmt 0 view .LVU284
852 000e 0023 movs r3, #0
853 0010 0093 str r3, [sp]
854 0012 0193 str r3, [sp, #4]
3048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
855 .loc 1 3048 3 is_stmt 1 view .LVU285
856 .LVL88:
3051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
857 .loc 1 3051 3 view .LVU286
3051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
858 .loc 1 3051 16 is_stmt 0 view .LVU287
859 0014 0821 movs r1, #8
860 0016 2068 ldr r0, [r4]
861 .LVL89:
3051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
862 .loc 1 3051 16 view .LVU288
863 0018 FFF7FEFF bl SDMMC_CmdBlockLength
864 .LVL90:
3052:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
865 .loc 1 3052 3 is_stmt 1 view .LVU289
3052:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
866 .loc 1 3052 5 is_stmt 0 view .LVU290
867 001c 0546 mov r5, r0
868 001e 10B1 cbz r0, .L70
869 .LVL91:
870 .L58:
3130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
871 .loc 1 3130 1 view .LVU291
872 0020 2846 mov r0, r5
873 0022 09B0 add sp, sp, #36
874 .LCFI16:
875 .cfi_remember_state
876 .cfi_def_cfa_offset 20
877 @ sp needed
878 0024 F0BD pop {r4, r5, r6, r7, pc}
879 .LVL92:
880 .L70:
881 .LCFI17:
882 .cfi_restore_state
3058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
883 .loc 1 3058 3 is_stmt 1 view .LVU292
3058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
884 .loc 1 3058 74 is_stmt 0 view .LVU293
885 0026 216D ldr r1, [r4, #80]
3058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
886 .loc 1 3058 16 view .LVU294
887 0028 0904 lsls r1, r1, #16
888 002a 2068 ldr r0, [r4]
889 .LVL93:
3058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
890 .loc 1 3058 16 view .LVU295
891 002c FFF7FEFF bl SDMMC_CmdAppCommand
ARM GAS /tmp/ccMMu31U.s page 77
892 .LVL94:
3059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
893 .loc 1 3059 3 is_stmt 1 view .LVU296
3059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
894 .loc 1 3059 5 is_stmt 0 view .LVU297
895 0030 0546 mov r5, r0
896 0032 0028 cmp r0, #0
897 0034 F4D1 bne .L58
3064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = 8U;
898 .loc 1 3064 3 is_stmt 1 view .LVU298
3064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = 8U;
899 .loc 1 3064 24 is_stmt 0 view .LVU299
900 0036 4FF0FF33 mov r3, #-1
901 003a 0293 str r3, [sp, #8]
3065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_8B;
902 .loc 1 3065 3 is_stmt 1 view .LVU300
3065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_8B;
903 .loc 1 3065 24 is_stmt 0 view .LVU301
904 003c 0823 movs r3, #8
905 003e 0393 str r3, [sp, #12]
3066:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC;
906 .loc 1 3066 3 is_stmt 1 view .LVU302
3066:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC;
907 .loc 1 3066 24 is_stmt 0 view .LVU303
908 0040 3023 movs r3, #48
909 0042 0493 str r3, [sp, #16]
3067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
910 .loc 1 3067 3 is_stmt 1 view .LVU304
3067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
911 .loc 1 3067 24 is_stmt 0 view .LVU305
912 0044 0223 movs r3, #2
913 0046 0593 str r3, [sp, #20]
3068:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
914 .loc 1 3068 3 is_stmt 1 view .LVU306
3068:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
915 .loc 1 3068 24 is_stmt 0 view .LVU307
916 0048 0023 movs r3, #0
917 004a 0693 str r3, [sp, #24]
3069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
918 .loc 1 3069 3 is_stmt 1 view .LVU308
3069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
919 .loc 1 3069 24 is_stmt 0 view .LVU309
920 004c 0123 movs r3, #1
921 004e 0793 str r3, [sp, #28]
3070:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
922 .loc 1 3070 3 is_stmt 1 view .LVU310
3070:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
923 .loc 1 3070 9 is_stmt 0 view .LVU311
924 0050 02A9 add r1, sp, #8
925 0052 2068 ldr r0, [r4]
926 .LVL95:
3070:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
927 .loc 1 3070 9 view .LVU312
928 0054 FFF7FEFF bl SDMMC_ConfigData
929 .LVL96:
3073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
930 .loc 1 3073 3 is_stmt 1 view .LVU313
ARM GAS /tmp/ccMMu31U.s page 78
3073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
931 .loc 1 3073 16 is_stmt 0 view .LVU314
932 0058 2068 ldr r0, [r4]
933 005a FFF7FEFF bl SDMMC_CmdSendSCR
934 .LVL97:
3074:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
935 .loc 1 3074 3 is_stmt 1 view .LVU315
3074:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
936 .loc 1 3074 5 is_stmt 0 view .LVU316
937 005e 0546 mov r5, r0
938 0060 58B1 cbz r0, .L60
939 0062 DDE7 b .L58
940 .LVL98:
941 .L71:
3083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** index++;
942 .loc 1 3083 7 is_stmt 1 view .LVU317
3083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** index++;
943 .loc 1 3083 28 is_stmt 0 view .LVU318
944 0064 FFF7FEFF bl SDMMC_ReadFIFO
945 .LVL99:
3083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** index++;
946 .loc 1 3083 26 discriminator 1 view .LVU319
947 0068 4DF82500 str r0, [sp, r5, lsl #2]
3084:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
948 .loc 1 3084 7 is_stmt 1 view .LVU320
3084:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
949 .loc 1 3084 12 is_stmt 0 view .LVU321
950 006c 0135 adds r5, r5, #1
951 .LVL100:
952 .L62:
3091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
953 .loc 1 3091 5 is_stmt 1 view .LVU322
3091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
954 .loc 1 3091 9 is_stmt 0 view .LVU323
955 006e FFF7FEFF bl HAL_GetTick
956 .LVL101:
3091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
957 .loc 1 3091 23 discriminator 1 view .LVU324
958 0072 831B subs r3, r0, r6
3091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
959 .loc 1 3091 7 discriminator 1 view .LVU325
960 0074 B3F1FF3F cmp r3, #-1
961 0078 3FD0 beq .L68
962 .LVL102:
963 .L60:
3079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
964 .loc 1 3079 9 is_stmt 1 view .LVU326
3079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
965 .loc 1 3079 10 is_stmt 0 view .LVU327
966 007a 2068 ldr r0, [r4]
967 007c 436B ldr r3, [r0, #52]
3079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
968 .loc 1 3079 9 view .LVU328
969 007e 13F02A0F tst r3, #42
970 0082 07D1 bne .L63
3081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
971 .loc 1 3081 5 is_stmt 1 view .LVU329
ARM GAS /tmp/ccMMu31U.s page 79
3081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
972 .loc 1 3081 8 is_stmt 0 view .LVU330
973 0084 436B ldr r3, [r0, #52]
3081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
974 .loc 1 3081 7 view .LVU331
975 0086 13F4001F tst r3, #2097152
976 008a EBD1 bne .L71
3086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
977 .loc 1 3086 10 is_stmt 1 view .LVU332
3086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
978 .loc 1 3086 14 is_stmt 0 view .LVU333
979 008c 436B ldr r3, [r0, #52]
3086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
980 .loc 1 3086 12 view .LVU334
981 008e 13F4005F tst r3, #8192
982 0092 ECD1 bne .L62
983 .L63:
3097:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
984 .loc 1 3097 3 is_stmt 1 view .LVU335
3097:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
985 .loc 1 3097 6 is_stmt 0 view .LVU336
986 0094 436B ldr r3, [r0, #52]
3097:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
987 .loc 1 3097 5 view .LVU337
988 0096 13F0080F tst r3, #8
989 009a 25D1 bne .L72
3103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
990 .loc 1 3103 8 is_stmt 1 view .LVU338
3103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
991 .loc 1 3103 11 is_stmt 0 view .LVU339
992 009c 436B ldr r3, [r0, #52]
3103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
993 .loc 1 3103 10 view .LVU340
994 009e 13F0020F tst r3, #2
995 00a2 24D1 bne .L73
3109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
996 .loc 1 3109 8 is_stmt 1 view .LVU341
3109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
997 .loc 1 3109 11 is_stmt 0 view .LVU342
998 00a4 456B ldr r5, [r0, #52]
999 .LVL103:
3109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1000 .loc 1 3109 10 view .LVU343
1001 00a6 15F02005 ands r5, r5, #32
1002 00aa 23D1 bne .L74
3119:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1003 .loc 1 3119 5 is_stmt 1 view .LVU344
1004 00ac 40F23A53 movw r3, #1338
1005 00b0 8363 str r3, [r0, #56]
3121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((tempscr[1] & SDMMC_16TO23BITS) >> 8) | ((tempscr[1] & SDMMC_24TO31BITS) >> 24));
1006 .loc 1 3121 5 view .LVU345
3121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((tempscr[1] & SDMMC_16TO23BITS) >> 8) | ((tempscr[1] & SDMMC_24TO31BITS) >> 24));
1007 .loc 1 3121 22 is_stmt 0 view .LVU346
1008 00b2 019A ldr r2, [sp, #4]
3121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((tempscr[1] & SDMMC_16TO23BITS) >> 8) | ((tempscr[1] & SDMMC_24TO31BITS) >> 24));
1009 .loc 1 3121 86 view .LVU347
1010 00b4 1302 lsls r3, r2, #8
ARM GAS /tmp/ccMMu31U.s page 80
1011 00b6 03F47F03 and r3, r3, #16711680
3121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((tempscr[1] & SDMMC_16TO23BITS) >> 8) | ((tempscr[1] & SDMMC_24TO31BITS) >> 24));
1012 .loc 1 3121 52 view .LVU348
1013 00ba 43EA0263 orr r3, r3, r2, lsl #24
3122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** scr++;
1014 .loc 1 3122 46 view .LVU349
1015 00be 110A lsrs r1, r2, #8
1016 00c0 01F47F41 and r1, r1, #65280
3121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((tempscr[1] & SDMMC_16TO23BITS) >> 8) | ((tempscr[1] & SDMMC_24TO31BITS) >> 24));
1017 .loc 1 3121 92 view .LVU350
1018 00c4 0B43 orrs r3, r3, r1
3122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** scr++;
1019 .loc 1 3122 52 view .LVU351
1020 00c6 43EA1263 orr r3, r3, r2, lsr #24
3121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((tempscr[1] & SDMMC_16TO23BITS) >> 8) | ((tempscr[1] & SDMMC_24TO31BITS) >> 24));
1021 .loc 1 3121 10 view .LVU352
1022 00ca 3B60 str r3, [r7]
3123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *scr = (((tempscr[0] & SDMMC_0TO7BITS) << 24) | ((tempscr[0] & SDMMC_8TO15BITS) << 8) |\
1023 .loc 1 3123 5 is_stmt 1 view .LVU353
1024 .LVL104:
3124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((tempscr[0] & SDMMC_16TO23BITS) >> 8) | ((tempscr[0] & SDMMC_24TO31BITS) >> 24));
1025 .loc 1 3124 5 view .LVU354
3124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((tempscr[0] & SDMMC_16TO23BITS) >> 8) | ((tempscr[0] & SDMMC_24TO31BITS) >> 24));
1026 .loc 1 3124 22 is_stmt 0 view .LVU355
1027 00cc 009A ldr r2, [sp]
3124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((tempscr[0] & SDMMC_16TO23BITS) >> 8) | ((tempscr[0] & SDMMC_24TO31BITS) >> 24));
1028 .loc 1 3124 86 view .LVU356
1029 00ce 1302 lsls r3, r2, #8
1030 00d0 03F47F03 and r3, r3, #16711680
3124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((tempscr[0] & SDMMC_16TO23BITS) >> 8) | ((tempscr[0] & SDMMC_24TO31BITS) >> 24));
1031 .loc 1 3124 52 view .LVU357
1032 00d4 43EA0263 orr r3, r3, r2, lsl #24
3125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1033 .loc 1 3125 46 view .LVU358
1034 00d8 110A lsrs r1, r2, #8
1035 00da 01F47F41 and r1, r1, #65280
3124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((tempscr[0] & SDMMC_16TO23BITS) >> 8) | ((tempscr[0] & SDMMC_24TO31BITS) >> 24));
1036 .loc 1 3124 92 view .LVU359
1037 00de 0B43 orrs r3, r3, r1
3125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1038 .loc 1 3125 52 view .LVU360
1039 00e0 43EA1263 orr r3, r3, r2, lsr #24
3124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((tempscr[0] & SDMMC_16TO23BITS) >> 8) | ((tempscr[0] & SDMMC_24TO31BITS) >> 24));
1040 .loc 1 3124 10 view .LVU361
1041 00e4 7B60 str r3, [r7, #4]
3129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1042 .loc 1 3129 3 is_stmt 1 view .LVU362
3129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1043 .loc 1 3129 10 is_stmt 0 view .LVU363
1044 00e6 9BE7 b .L58
1045 .LVL105:
1046 .L72:
3099:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1047 .loc 1 3099 5 is_stmt 1 view .LVU364
1048 00e8 0825 movs r5, #8
1049 .LVL106:
3099:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
ARM GAS /tmp/ccMMu31U.s page 81
1050 .loc 1 3099 5 is_stmt 0 view .LVU365
1051 00ea 8563 str r5, [r0, #56]
3101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1052 .loc 1 3101 5 is_stmt 1 view .LVU366
3101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1053 .loc 1 3101 12 is_stmt 0 view .LVU367
1054 00ec 98E7 b .L58
1055 .LVL107:
1056 .L73:
3105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1057 .loc 1 3105 5 is_stmt 1 view .LVU368
1058 00ee 0225 movs r5, #2
1059 .LVL108:
3105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1060 .loc 1 3105 5 is_stmt 0 view .LVU369
1061 00f0 8563 str r5, [r0, #56]
3107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1062 .loc 1 3107 5 is_stmt 1 view .LVU370
3107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1063 .loc 1 3107 12 is_stmt 0 view .LVU371
1064 00f2 95E7 b .L58
1065 .L74:
3111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1066 .loc 1 3111 5 is_stmt 1 view .LVU372
1067 00f4 2025 movs r5, #32
1068 00f6 8563 str r5, [r0, #56]
3113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1069 .loc 1 3113 5 view .LVU373
3113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1070 .loc 1 3113 12 is_stmt 0 view .LVU374
1071 00f8 92E7 b .L58
1072 .LVL109:
1073 .L68:
3093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1074 .loc 1 3093 14 view .LVU375
1075 00fa 4FF00045 mov r5, #-2147483648
1076 .LVL110:
3093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1077 .loc 1 3093 14 view .LVU376
1078 00fe 8FE7 b .L58
1079 .cfi_endproc
1080 .LFE180:
1082 .section .text.SD_WideBus_Enable,"ax",%progbits
1083 .align 1
1084 .syntax unified
1085 .thumb
1086 .thumb_func
1088 SD_WideBus_Enable:
1089 .LVL111:
1090 .LFB178:
2946:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t scr[2U] = {0U, 0U};
1091 .loc 1 2946 1 is_stmt 1 view -0
1092 .cfi_startproc
1093 @ args = 0, pretend = 0, frame = 8
1094 @ frame_needed = 0, uses_anonymous_args = 0
2946:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t scr[2U] = {0U, 0U};
1095 .loc 1 2946 1 is_stmt 0 view .LVU378
ARM GAS /tmp/ccMMu31U.s page 82
1096 0000 10B5 push {r4, lr}
1097 .LCFI18:
1098 .cfi_def_cfa_offset 8
1099 .cfi_offset 4, -8
1100 .cfi_offset 14, -4
1101 0002 82B0 sub sp, sp, #8
1102 .LCFI19:
1103 .cfi_def_cfa_offset 16
1104 0004 0446 mov r4, r0
2947:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
1105 .loc 1 2947 3 is_stmt 1 view .LVU379
2947:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
1106 .loc 1 2947 12 is_stmt 0 view .LVU380
1107 0006 0021 movs r1, #0
1108 0008 0091 str r1, [sp]
1109 000a 0191 str r1, [sp, #4]
2948:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1110 .loc 1 2948 3 is_stmt 1 view .LVU381
2950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1111 .loc 1 2950 3 view .LVU382
2950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1112 .loc 1 2950 7 is_stmt 0 view .LVU383
1113 000c 0068 ldr r0, [r0]
1114 .LVL112:
2950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1115 .loc 1 2950 7 view .LVU384
1116 000e FFF7FEFF bl SDMMC_GetResponse
1117 .LVL113:
2950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1118 .loc 1 2950 5 discriminator 1 view .LVU385
1119 0012 10F0007F tst r0, #33554432
1120 0016 13D1 bne .L77
2956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1121 .loc 1 2956 3 is_stmt 1 view .LVU386
2956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1122 .loc 1 2956 16 is_stmt 0 view .LVU387
1123 0018 6946 mov r1, sp
1124 001a 2046 mov r0, r4
1125 001c FFF7FEFF bl SD_FindSCR
1126 .LVL114:
2957:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1127 .loc 1 2957 3 is_stmt 1 view .LVU388
2957:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1128 .loc 1 2957 5 is_stmt 0 view .LVU389
1129 0020 80B9 cbnz r0, .L75
2963:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1130 .loc 1 2963 3 is_stmt 1 view .LVU390
2963:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1131 .loc 1 2963 5 is_stmt 0 view .LVU391
1132 0022 019B ldr r3, [sp, #4]
1133 0024 13F4802F tst r3, #262144
1134 0028 0ED0 beq .L78
2966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1135 .loc 1 2966 5 is_stmt 1 view .LVU392
2966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1136 .loc 1 2966 75 is_stmt 0 view .LVU393
1137 002a 216D ldr r1, [r4, #80]
ARM GAS /tmp/ccMMu31U.s page 83
2966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1138 .loc 1 2966 18 view .LVU394
1139 002c 0904 lsls r1, r1, #16
1140 002e 2068 ldr r0, [r4]
1141 .LVL115:
2966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1142 .loc 1 2966 18 view .LVU395
1143 0030 FFF7FEFF bl SDMMC_CmdAppCommand
1144 .LVL116:
2967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1145 .loc 1 2967 5 is_stmt 1 view .LVU396
2967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1146 .loc 1 2967 7 is_stmt 0 view .LVU397
1147 0034 30B9 cbnz r0, .L75
2973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1148 .loc 1 2973 5 is_stmt 1 view .LVU398
2973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1149 .loc 1 2973 18 is_stmt 0 view .LVU399
1150 0036 0221 movs r1, #2
1151 0038 2068 ldr r0, [r4]
1152 .LVL117:
2973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1153 .loc 1 2973 18 view .LVU400
1154 003a FFF7FEFF bl SDMMC_CmdBusWidth
1155 .LVL118:
2974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1156 .loc 1 2974 5 is_stmt 1 view .LVU401
1157 003e 01E0 b .L75
1158 .LVL119:
1159 .L77:
2952:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1160 .loc 1 2952 12 is_stmt 0 view .LVU402
1161 0040 4FF40060 mov r0, #2048
1162 .L75:
2985:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1163 .loc 1 2985 1 view .LVU403
1164 0044 02B0 add sp, sp, #8
1165 .LCFI20:
1166 .cfi_remember_state
1167 .cfi_def_cfa_offset 8
1168 @ sp needed
1169 0046 10BD pop {r4, pc}
1170 .LVL120:
1171 .L78:
1172 .LCFI21:
1173 .cfi_restore_state
2983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1174 .loc 1 2983 12 view .LVU404
1175 0048 4FF08060 mov r0, #67108864
1176 .LVL121:
2983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1177 .loc 1 2983 12 view .LVU405
1178 004c FAE7 b .L75
1179 .cfi_endproc
1180 .LFE178:
1182 .section .text.SD_WideBus_Disable,"ax",%progbits
1183 .align 1
ARM GAS /tmp/ccMMu31U.s page 84
1184 .syntax unified
1185 .thumb
1186 .thumb_func
1188 SD_WideBus_Disable:
1189 .LVL122:
1190 .LFB179:
2993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t scr[2U] = {0U, 0U};
1191 .loc 1 2993 1 is_stmt 1 view -0
1192 .cfi_startproc
1193 @ args = 0, pretend = 0, frame = 8
1194 @ frame_needed = 0, uses_anonymous_args = 0
2993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t scr[2U] = {0U, 0U};
1195 .loc 1 2993 1 is_stmt 0 view .LVU407
1196 0000 10B5 push {r4, lr}
1197 .LCFI22:
1198 .cfi_def_cfa_offset 8
1199 .cfi_offset 4, -8
1200 .cfi_offset 14, -4
1201 0002 82B0 sub sp, sp, #8
1202 .LCFI23:
1203 .cfi_def_cfa_offset 16
1204 0004 0446 mov r4, r0
2994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
1205 .loc 1 2994 3 is_stmt 1 view .LVU408
2994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
1206 .loc 1 2994 12 is_stmt 0 view .LVU409
1207 0006 0021 movs r1, #0
1208 0008 0091 str r1, [sp]
1209 000a 0191 str r1, [sp, #4]
2995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1210 .loc 1 2995 3 is_stmt 1 view .LVU410
2997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1211 .loc 1 2997 3 view .LVU411
2997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1212 .loc 1 2997 7 is_stmt 0 view .LVU412
1213 000c 0068 ldr r0, [r0]
1214 .LVL123:
2997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1215 .loc 1 2997 7 view .LVU413
1216 000e FFF7FEFF bl SDMMC_GetResponse
1217 .LVL124:
2997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1218 .loc 1 2997 5 discriminator 1 view .LVU414
1219 0012 10F0007F tst r0, #33554432
1220 0016 13D1 bne .L82
3003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1221 .loc 1 3003 3 is_stmt 1 view .LVU415
3003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1222 .loc 1 3003 16 is_stmt 0 view .LVU416
1223 0018 6946 mov r1, sp
1224 001a 2046 mov r0, r4
1225 001c FFF7FEFF bl SD_FindSCR
1226 .LVL125:
3004:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1227 .loc 1 3004 3 is_stmt 1 view .LVU417
3004:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1228 .loc 1 3004 5 is_stmt 0 view .LVU418
ARM GAS /tmp/ccMMu31U.s page 85
1229 0020 80B9 cbnz r0, .L80
3010:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1230 .loc 1 3010 3 is_stmt 1 view .LVU419
3010:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1231 .loc 1 3010 5 is_stmt 0 view .LVU420
1232 0022 019B ldr r3, [sp, #4]
1233 0024 13F4803F tst r3, #65536
1234 0028 0ED0 beq .L83
3013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1235 .loc 1 3013 5 is_stmt 1 view .LVU421
3013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1236 .loc 1 3013 75 is_stmt 0 view .LVU422
1237 002a 216D ldr r1, [r4, #80]
3013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1238 .loc 1 3013 18 view .LVU423
1239 002c 0904 lsls r1, r1, #16
1240 002e 2068 ldr r0, [r4]
1241 .LVL126:
3013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1242 .loc 1 3013 18 view .LVU424
1243 0030 FFF7FEFF bl SDMMC_CmdAppCommand
1244 .LVL127:
3014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1245 .loc 1 3014 5 is_stmt 1 view .LVU425
3014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1246 .loc 1 3014 7 is_stmt 0 view .LVU426
1247 0034 30B9 cbnz r0, .L80
3020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1248 .loc 1 3020 5 is_stmt 1 view .LVU427
3020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1249 .loc 1 3020 18 is_stmt 0 view .LVU428
1250 0036 0021 movs r1, #0
1251 0038 2068 ldr r0, [r4]
1252 .LVL128:
3020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1253 .loc 1 3020 18 view .LVU429
1254 003a FFF7FEFF bl SDMMC_CmdBusWidth
1255 .LVL129:
3021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1256 .loc 1 3021 5 is_stmt 1 view .LVU430
1257 003e 01E0 b .L80
1258 .LVL130:
1259 .L82:
2999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1260 .loc 1 2999 12 is_stmt 0 view .LVU431
1261 0040 4FF40060 mov r0, #2048
1262 .L80:
3032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1263 .loc 1 3032 1 view .LVU432
1264 0044 02B0 add sp, sp, #8
1265 .LCFI24:
1266 .cfi_remember_state
1267 .cfi_def_cfa_offset 8
1268 @ sp needed
1269 0046 10BD pop {r4, pc}
1270 .LVL131:
1271 .L83:
ARM GAS /tmp/ccMMu31U.s page 86
1272 .LCFI25:
1273 .cfi_restore_state
3030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1274 .loc 1 3030 12 view .LVU433
1275 0048 4FF08060 mov r0, #67108864
1276 .LVL132:
3030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1277 .loc 1 3030 12 view .LVU434
1278 004c FAE7 b .L80
1279 .cfi_endproc
1280 .LFE179:
1282 .section .text.SD_SendStatus,"ax",%progbits
1283 .align 1
1284 .syntax unified
1285 .thumb
1286 .thumb_func
1288 SD_SendStatus:
1289 .LVL133:
1290 .LFB177:
2919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
1291 .loc 1 2919 1 is_stmt 1 view -0
1292 .cfi_startproc
1293 @ args = 0, pretend = 0, frame = 0
1294 @ frame_needed = 0, uses_anonymous_args = 0
2919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
1295 .loc 1 2919 1 is_stmt 0 view .LVU436
1296 0000 70B5 push {r4, r5, r6, lr}
1297 .LCFI26:
1298 .cfi_def_cfa_offset 16
1299 .cfi_offset 4, -16
1300 .cfi_offset 5, -12
1301 .cfi_offset 6, -8
1302 .cfi_offset 14, -4
2920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1303 .loc 1 2920 3 is_stmt 1 view .LVU437
2922:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1304 .loc 1 2922 3 view .LVU438
2922:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1305 .loc 1 2922 5 is_stmt 0 view .LVU439
1306 0002 81B1 cbz r1, .L87
1307 0004 0446 mov r4, r0
1308 0006 0E46 mov r6, r1
2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1309 .loc 1 2928 3 is_stmt 1 view .LVU440
2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1310 .loc 1 2928 73 is_stmt 0 view .LVU441
1311 0008 016D ldr r1, [r0, #80]
1312 .LVL134:
2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1313 .loc 1 2928 16 view .LVU442
1314 000a 0904 lsls r1, r1, #16
1315 000c 0068 ldr r0, [r0]
1316 .LVL135:
2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1317 .loc 1 2928 16 view .LVU443
1318 000e FFF7FEFF bl SDMMC_CmdSendStatus
1319 .LVL136:
ARM GAS /tmp/ccMMu31U.s page 87
2929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1320 .loc 1 2929 3 is_stmt 1 view .LVU444
2929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1321 .loc 1 2929 5 is_stmt 0 view .LVU445
1322 0012 0546 mov r5, r0
1323 0014 08B1 cbz r0, .L89
1324 .LVL137:
1325 .L85:
2938:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1326 .loc 1 2938 1 view .LVU446
1327 0016 2846 mov r0, r5
1328 0018 70BD pop {r4, r5, r6, pc}
1329 .LVL138:
1330 .L89:
2935:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1331 .loc 1 2935 3 is_stmt 1 view .LVU447
2935:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1332 .loc 1 2935 18 is_stmt 0 view .LVU448
1333 001a 0021 movs r1, #0
1334 001c 2068 ldr r0, [r4]
1335 .LVL139:
2935:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1336 .loc 1 2935 18 view .LVU449
1337 001e FFF7FEFF bl SDMMC_GetResponse
1338 .LVL140:
2935:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1339 .loc 1 2935 16 discriminator 1 view .LVU450
1340 0022 3060 str r0, [r6]
2937:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1341 .loc 1 2937 3 is_stmt 1 view .LVU451
2937:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1342 .loc 1 2937 10 is_stmt 0 view .LVU452
1343 0024 F7E7 b .L85
1344 .LVL141:
1345 .L87:
2924:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1346 .loc 1 2924 12 view .LVU453
1347 0026 4FF00065 mov r5, #134217728
1348 002a F4E7 b .L85
1349 .cfi_endproc
1350 .LFE177:
1352 .section .text.HAL_SD_MspInit,"ax",%progbits
1353 .align 1
1354 .weak HAL_SD_MspInit
1355 .syntax unified
1356 .thumb
1357 .thumb_func
1359 HAL_SD_MspInit:
1360 .LVL142:
1361 .LFB144:
515:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */
1362 .loc 1 515 1 is_stmt 1 view -0
1363 .cfi_startproc
1364 @ args = 0, pretend = 0, frame = 0
1365 @ frame_needed = 0, uses_anonymous_args = 0
1366 @ link register save eliminated.
517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
ARM GAS /tmp/ccMMu31U.s page 88
1367 .loc 1 517 3 view .LVU455
522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1368 .loc 1 522 1 is_stmt 0 view .LVU456
1369 0000 7047 bx lr
1370 .cfi_endproc
1371 .LFE144:
1373 .section .text.HAL_SD_MspDeInit,"ax",%progbits
1374 .align 1
1375 .weak HAL_SD_MspDeInit
1376 .syntax unified
1377 .thumb
1378 .thumb_func
1380 HAL_SD_MspDeInit:
1381 .LVL143:
1382 .LFB145:
530:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */
1383 .loc 1 530 1 is_stmt 1 view -0
1384 .cfi_startproc
1385 @ args = 0, pretend = 0, frame = 0
1386 @ frame_needed = 0, uses_anonymous_args = 0
1387 @ link register save eliminated.
532:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1388 .loc 1 532 3 view .LVU458
537:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1389 .loc 1 537 1 is_stmt 0 view .LVU459
1390 0000 7047 bx lr
1391 .cfi_endproc
1392 .LFE145:
1394 .section .text.HAL_SD_DeInit,"ax",%progbits
1395 .align 1
1396 .global HAL_SD_DeInit
1397 .syntax unified
1398 .thumb
1399 .thumb_func
1401 HAL_SD_DeInit:
1402 .LVL144:
1403 .LFB143:
474:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Check the SD handle allocation */
1404 .loc 1 474 1 is_stmt 1 view -0
1405 .cfi_startproc
1406 @ args = 0, pretend = 0, frame = 0
1407 @ frame_needed = 0, uses_anonymous_args = 0
476:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1408 .loc 1 476 3 view .LVU461
476:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1409 .loc 1 476 5 is_stmt 0 view .LVU462
1410 0000 70B1 cbz r0, .L94
474:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Check the SD handle allocation */
1411 .loc 1 474 1 view .LVU463
1412 0002 10B5 push {r4, lr}
1413 .LCFI27:
1414 .cfi_def_cfa_offset 8
1415 .cfi_offset 4, -8
1416 .cfi_offset 14, -4
1417 0004 0446 mov r4, r0
482:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1418 .loc 1 482 3 is_stmt 1 view .LVU464
ARM GAS /tmp/ccMMu31U.s page 89
484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1419 .loc 1 484 3 view .LVU465
484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1420 .loc 1 484 14 is_stmt 0 view .LVU466
1421 0006 0323 movs r3, #3
1422 0008 80F83430 strb r3, [r0, #52]
487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1423 .loc 1 487 3 is_stmt 1 view .LVU467
1424 000c FFF7FEFF bl SD_PowerOFF
1425 .LVL145:
499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
1426 .loc 1 499 3 view .LVU468
1427 0010 2046 mov r0, r4
1428 0012 FFF7FEFF bl HAL_SD_MspDeInit
1429 .LVL146:
502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_RESET;
1430 .loc 1 502 3 view .LVU469
502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_RESET;
1431 .loc 1 502 18 is_stmt 0 view .LVU470
1432 0016 0020 movs r0, #0
1433 0018 A063 str r0, [r4, #56]
503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1434 .loc 1 503 3 is_stmt 1 view .LVU471
503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1435 .loc 1 503 14 is_stmt 0 view .LVU472
1436 001a 84F83400 strb r0, [r4, #52]
505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1437 .loc 1 505 3 is_stmt 1 view .LVU473
506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1438 .loc 1 506 1 is_stmt 0 view .LVU474
1439 001e 10BD pop {r4, pc}
1440 .LVL147:
1441 .L94:
1442 .LCFI28:
1443 .cfi_def_cfa_offset 0
1444 .cfi_restore 4
1445 .cfi_restore 14
478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1446 .loc 1 478 12 view .LVU475
1447 0020 0120 movs r0, #1
1448 .LVL148:
506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1449 .loc 1 506 1 view .LVU476
1450 0022 7047 bx lr
1451 .cfi_endproc
1452 .LFE143:
1454 .section .text.HAL_SD_ReadBlocks,"ax",%progbits
1455 .align 1
1456 .global HAL_SD_ReadBlocks
1457 .syntax unified
1458 .thumb
1459 .thumb_func
1461 HAL_SD_ReadBlocks:
1462 .LVL149:
1463 .LFB146:
571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
1464 .loc 1 571 1 is_stmt 1 view -0
ARM GAS /tmp/ccMMu31U.s page 90
1465 .cfi_startproc
1466 @ args = 4, pretend = 0, frame = 24
1467 @ frame_needed = 0, uses_anonymous_args = 0
571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
1468 .loc 1 571 1 is_stmt 0 view .LVU478
1469 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
1470 .LCFI29:
1471 .cfi_def_cfa_offset 36
1472 .cfi_offset 4, -36
1473 .cfi_offset 5, -32
1474 .cfi_offset 6, -28
1475 .cfi_offset 7, -24
1476 .cfi_offset 8, -20
1477 .cfi_offset 9, -16
1478 .cfi_offset 10, -12
1479 .cfi_offset 11, -8
1480 .cfi_offset 14, -4
1481 0004 87B0 sub sp, sp, #28
1482 .LCFI30:
1483 .cfi_def_cfa_offset 64
1484 0006 0546 mov r5, r0
1485 0008 0C46 mov r4, r1
1486 000a 1646 mov r6, r2
1487 000c 9B46 mov fp, r3
1488 000e DDF840A0 ldr r10, [sp, #64]
572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
1489 .loc 1 572 3 is_stmt 1 view .LVU479
573:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t tickstart = HAL_GetTick();
1490 .loc 1 573 3 view .LVU480
574:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count, data, dataremaining;
1491 .loc 1 574 3 view .LVU481
574:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count, data, dataremaining;
1492 .loc 1 574 24 is_stmt 0 view .LVU482
1493 0012 FFF7FEFF bl HAL_GetTick
1494 .LVL150:
575:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t add = BlockAdd;
1495 .loc 1 575 3 is_stmt 1 view .LVU483
576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint8_t *tempbuff = pData;
1496 .loc 1 576 3 view .LVU484
577:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1497 .loc 1 577 3 view .LVU485
579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1498 .loc 1 579 3 view .LVU486
579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1499 .loc 1 579 5 is_stmt 0 view .LVU487
1500 0016 002C cmp r4, #0
1501 0018 36D0 beq .L122
1502 001a 8146 mov r9, r0
585:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1503 .loc 1 585 3 is_stmt 1 view .LVU488
585:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1504 .loc 1 585 9 is_stmt 0 view .LVU489
1505 001c 95F83470 ldrb r7, [r5, #52] @ zero_extendqisi2
1506 0020 FFB2 uxtb r7, r7
585:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1507 .loc 1 585 5 view .LVU490
1508 0022 012F cmp r7, #1
ARM GAS /tmp/ccMMu31U.s page 91
1509 0024 40F00481 bne .L102
587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1510 .loc 1 587 5 is_stmt 1 view .LVU491
587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1511 .loc 1 587 20 is_stmt 0 view .LVU492
1512 0028 0023 movs r3, #0
1513 002a AB63 str r3, [r5, #56]
589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1514 .loc 1 589 5 is_stmt 1 view .LVU493
589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1515 .loc 1 589 13 is_stmt 0 view .LVU494
1516 002c 06EB0B03 add r3, r6, fp
589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1517 .loc 1 589 45 view .LVU495
1518 0030 EA6D ldr r2, [r5, #92]
589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1519 .loc 1 589 7 view .LVU496
1520 0032 9342 cmp r3, r2
1521 0034 2ED8 bhi .L123
595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1522 .loc 1 595 5 is_stmt 1 view .LVU497
595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1523 .loc 1 595 16 is_stmt 0 view .LVU498
1524 0036 0323 movs r3, #3
1525 0038 85F83430 strb r3, [r5, #52]
598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1526 .loc 1 598 5 is_stmt 1 view .LVU499
598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1527 .loc 1 598 8 is_stmt 0 view .LVU500
1528 003c 2B68 ldr r3, [r5]
598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1529 .loc 1 598 26 view .LVU501
1530 003e 0022 movs r2, #0
1531 0040 DA62 str r2, [r3, #44]
600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1532 .loc 1 600 5 is_stmt 1 view .LVU502
600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1533 .loc 1 600 19 is_stmt 0 view .LVU503
1534 0042 6B6C ldr r3, [r5, #68]
600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1535 .loc 1 600 7 view .LVU504
1536 0044 012B cmp r3, #1
1537 0046 00D0 beq .L104
602:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1538 .loc 1 602 7 is_stmt 1 view .LVU505
602:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1539 .loc 1 602 11 is_stmt 0 view .LVU506
1540 0048 7602 lsls r6, r6, #9
1541 .LVL151:
1542 .L104:
606:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = NumberOfBlocks * BLOCKSIZE;
1543 .loc 1 606 5 is_stmt 1 view .LVU507
606:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = NumberOfBlocks * BLOCKSIZE;
1544 .loc 1 606 26 is_stmt 0 view .LVU508
1545 004a 4FF0FF33 mov r3, #-1
1546 004e 0093 str r3, [sp]
607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B;
ARM GAS /tmp/ccMMu31U.s page 92
1547 .loc 1 607 5 is_stmt 1 view .LVU509
607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B;
1548 .loc 1 607 43 is_stmt 0 view .LVU510
1549 0050 4FEA4B23 lsl r3, fp, #9
607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B;
1550 .loc 1 607 26 view .LVU511
1551 0054 0193 str r3, [sp, #4]
608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC;
1552 .loc 1 608 5 is_stmt 1 view .LVU512
608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC;
1553 .loc 1 608 26 is_stmt 0 view .LVU513
1554 0056 9023 movs r3, #144
1555 0058 0293 str r3, [sp, #8]
609:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
1556 .loc 1 609 5 is_stmt 1 view .LVU514
609:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
1557 .loc 1 609 26 is_stmt 0 view .LVU515
1558 005a 0223 movs r3, #2
1559 005c 0393 str r3, [sp, #12]
610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
1560 .loc 1 610 5 is_stmt 1 view .LVU516
610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
1561 .loc 1 610 26 is_stmt 0 view .LVU517
1562 005e 0023 movs r3, #0
1563 0060 0493 str r3, [sp, #16]
611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
1564 .loc 1 611 5 is_stmt 1 view .LVU518
611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
1565 .loc 1 611 26 is_stmt 0 view .LVU519
1566 0062 0123 movs r3, #1
1567 0064 0593 str r3, [sp, #20]
612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1568 .loc 1 612 5 is_stmt 1 view .LVU520
612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1569 .loc 1 612 11 is_stmt 0 view .LVU521
1570 0066 6946 mov r1, sp
1571 0068 2868 ldr r0, [r5]
1572 .LVL152:
612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1573 .loc 1 612 11 view .LVU522
1574 006a FFF7FEFF bl SDMMC_ConfigData
1575 .LVL153:
615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1576 .loc 1 615 5 is_stmt 1 view .LVU523
615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1577 .loc 1 615 7 is_stmt 0 view .LVU524
1578 006e BBF1010F cmp fp, #1
1579 0072 14D9 bls .L105
617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1580 .loc 1 617 7 is_stmt 1 view .LVU525
617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1581 .loc 1 617 20 is_stmt 0 view .LVU526
1582 0074 0223 movs r3, #2
1583 0076 2B63 str r3, [r5, #48]
620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1584 .loc 1 620 7 is_stmt 1 view .LVU527
620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
ARM GAS /tmp/ccMMu31U.s page 93
1585 .loc 1 620 20 is_stmt 0 view .LVU528
1586 0078 3146 mov r1, r6
1587 007a 2868 ldr r0, [r5]
1588 007c FFF7FEFF bl SDMMC_CmdReadMultiBlock
1589 .LVL154:
1590 .L106:
629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1591 .loc 1 629 5 is_stmt 1 view .LVU529
629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1592 .loc 1 629 7 is_stmt 0 view .LVU530
1593 0080 A0B9 cbnz r0, .L124
640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT |
1594 .loc 1 640 5 is_stmt 1 view .LVU531
640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT |
1595 .loc 1 640 19 is_stmt 0 view .LVU532
1596 0082 DDF80480 ldr r8, [sp, #4]
1597 .LVL155:
641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1598 .loc 1 641 5 is_stmt 1 view .LVU533
641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1599 .loc 1 641 10 is_stmt 0 view .LVU534
1600 0086 38E0 b .L108
1601 .LVL156:
1602 .L122:
581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1603 .loc 1 581 5 is_stmt 1 view .LVU535
581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1604 .loc 1 581 8 is_stmt 0 view .LVU536
1605 0088 AB6B ldr r3, [r5, #56]
581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1606 .loc 1 581 20 view .LVU537
1607 008a 43F00063 orr r3, r3, #134217728
1608 008e AB63 str r3, [r5, #56]
582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1609 .loc 1 582 5 is_stmt 1 view .LVU538
582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1610 .loc 1 582 12 is_stmt 0 view .LVU539
1611 0090 0127 movs r7, #1
1612 0092 D2E0 b .L101
1613 .L123:
591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1614 .loc 1 591 7 is_stmt 1 view .LVU540
591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1615 .loc 1 591 10 is_stmt 0 view .LVU541
1616 0094 AB6B ldr r3, [r5, #56]
591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1617 .loc 1 591 22 view .LVU542
1618 0096 43F00073 orr r3, r3, #33554432
1619 009a AB63 str r3, [r5, #56]
592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1620 .loc 1 592 7 is_stmt 1 view .LVU543
592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1621 .loc 1 592 14 is_stmt 0 view .LVU544
1622 009c CDE0 b .L101
1623 .LVL157:
1624 .L105:
624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
ARM GAS /tmp/ccMMu31U.s page 94
1625 .loc 1 624 7 is_stmt 1 view .LVU545
624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1626 .loc 1 624 20 is_stmt 0 view .LVU546
1627 009e 0123 movs r3, #1
1628 00a0 2B63 str r3, [r5, #48]
627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1629 .loc 1 627 7 is_stmt 1 view .LVU547
627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1630 .loc 1 627 20 is_stmt 0 view .LVU548
1631 00a2 3146 mov r1, r6
1632 00a4 2868 ldr r0, [r5]
1633 00a6 FFF7FEFF bl SDMMC_CmdReadSingleBlock
1634 .LVL158:
627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1635 .loc 1 627 20 view .LVU549
1636 00aa E9E7 b .L106
1637 .L124:
632:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
1638 .loc 1 632 7 is_stmt 1 view .LVU550
1639 00ac 2B68 ldr r3, [r5]
1640 00ae 654A ldr r2, .L130
1641 00b0 9A63 str r2, [r3, #56]
633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1642 .loc 1 633 7 view .LVU551
633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1643 .loc 1 633 10 is_stmt 0 view .LVU552
1644 00b2 AB6B ldr r3, [r5, #56]
633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1645 .loc 1 633 22 view .LVU553
1646 00b4 0343 orrs r3, r3, r0
1647 00b6 AB63 str r3, [r5, #56]
634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1648 .loc 1 634 7 is_stmt 1 view .LVU554
634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1649 .loc 1 634 18 is_stmt 0 view .LVU555
1650 00b8 0123 movs r3, #1
1651 00ba 85F83430 strb r3, [r5, #52]
635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1652 .loc 1 635 7 is_stmt 1 view .LVU556
635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1653 .loc 1 635 20 is_stmt 0 view .LVU557
1654 00be 0023 movs r3, #0
1655 00c0 2B63 str r3, [r5, #48]
636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1656 .loc 1 636 7 is_stmt 1 view .LVU558
636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1657 .loc 1 636 14 is_stmt 0 view .LVU559
1658 00c2 BAE0 b .L101
1659 .LVL159:
1660 .L111:
648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)(data & 0xFFU);
1661 .loc 1 648 11 is_stmt 1 view .LVU560
648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)(data & 0xFFU);
1662 .loc 1 648 18 is_stmt 0 view .LVU561
1663 00c4 2868 ldr r0, [r5]
1664 00c6 FFF7FEFF bl SDMMC_ReadFIFO
1665 .LVL160:
ARM GAS /tmp/ccMMu31U.s page 95
649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1666 .loc 1 649 11 is_stmt 1 view .LVU562
649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1667 .loc 1 649 21 is_stmt 0 view .LVU563
1668 00ca 2070 strb r0, [r4]
650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
1669 .loc 1 650 11 is_stmt 1 view .LVU564
1670 .LVL161:
651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 8U) & 0xFFU);
1671 .loc 1 651 11 view .LVU565
652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1672 .loc 1 652 11 view .LVU566
652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1673 .loc 1 652 23 is_stmt 0 view .LVU567
1674 00cc C0F30723 ubfx r3, r0, #8, #8
652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1675 .loc 1 652 21 view .LVU568
1676 00d0 6370 strb r3, [r4, #1]
653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
1677 .loc 1 653 11 is_stmt 1 view .LVU569
1678 .LVL162:
654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 16U) & 0xFFU);
1679 .loc 1 654 11 view .LVU570
655:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1680 .loc 1 655 11 view .LVU571
655:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1681 .loc 1 655 23 is_stmt 0 view .LVU572
1682 00d2 C0F30743 ubfx r3, r0, #16, #8
655:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1683 .loc 1 655 21 view .LVU573
1684 00d6 A370 strb r3, [r4, #2]
656:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
1685 .loc 1 656 11 is_stmt 1 view .LVU574
1686 .LVL163:
657:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 24U) & 0xFFU);
1687 .loc 1 657 11 view .LVU575
658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1688 .loc 1 658 11 view .LVU576
658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1689 .loc 1 658 23 is_stmt 0 view .LVU577
1690 00d8 000E lsrs r0, r0, #24
1691 .LVL164:
658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1692 .loc 1 658 21 view .LVU578
1693 00da E070 strb r0, [r4, #3]
659:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
1694 .loc 1 659 11 is_stmt 1 view .LVU579
659:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
1695 .loc 1 659 19 is_stmt 0 view .LVU580
1696 00dc 0434 adds r4, r4, #4
1697 .LVL165:
660:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1698 .loc 1 660 11 is_stmt 1 view .LVU581
660:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1699 .loc 1 660 24 is_stmt 0 view .LVU582
1700 00de A8F10408 sub r8, r8, #4
1701 .LVL166:
ARM GAS /tmp/ccMMu31U.s page 96
646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1702 .loc 1 646 42 is_stmt 1 discriminator 3 view .LVU583
1703 00e2 0136 adds r6, r6, #1
1704 .LVL167:
1705 .L110:
646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1706 .loc 1 646 31 discriminator 1 view .LVU584
1707 00e4 072E cmp r6, #7
1708 00e6 EDD9 bls .L111
1709 .LVL168:
1710 .L109:
664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1711 .loc 1 664 7 view .LVU585
664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1712 .loc 1 664 12 is_stmt 0 view .LVU586
1713 00e8 FFF7FEFF bl HAL_GetTick
1714 .LVL169:
664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1715 .loc 1 664 25 discriminator 1 view .LVU587
1716 00ec A0EB0900 sub r0, r0, r9
664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1717 .loc 1 664 9 discriminator 1 view .LVU588
1718 00f0 5045 cmp r0, r10
1719 00f2 0FD2 bcs .L112
664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1720 .loc 1 664 50 discriminator 1 view .LVU589
1721 00f4 BAF1000F cmp r10, #0
1722 00f8 0CD0 beq .L112
1723 .L108:
641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1724 .loc 1 641 11 is_stmt 1 view .LVU590
641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1725 .loc 1 641 12 is_stmt 0 view .LVU591
1726 00fa 2868 ldr r0, [r5]
1727 00fc 466B ldr r6, [r0, #52]
641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1728 .loc 1 641 11 view .LVU592
1729 00fe 16F49576 ands r6, r6, #298
1730 0102 15D1 bne .L125
643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1731 .loc 1 643 7 is_stmt 1 view .LVU593
643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1732 .loc 1 643 10 is_stmt 0 view .LVU594
1733 0104 436B ldr r3, [r0, #52]
643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1734 .loc 1 643 9 view .LVU595
1735 0106 13F4004F tst r3, #32768
1736 010a EDD0 beq .L109
643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1737 .loc 1 643 54 discriminator 1 view .LVU596
1738 010c B8F1000F cmp r8, #0
1739 0110 EAD0 beq .L109
1740 0112 E7E7 b .L110
1741 .L112:
667:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_TIMEOUT;
1742 .loc 1 667 9 is_stmt 1 view .LVU597
1743 0114 2B68 ldr r3, [r5]
ARM GAS /tmp/ccMMu31U.s page 97
1744 0116 4B4A ldr r2, .L130
1745 0118 9A63 str r2, [r3, #56]
668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State= HAL_SD_STATE_READY;
1746 .loc 1 668 9 view .LVU598
668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State= HAL_SD_STATE_READY;
1747 .loc 1 668 12 is_stmt 0 view .LVU599
1748 011a AB6B ldr r3, [r5, #56]
668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State= HAL_SD_STATE_READY;
1749 .loc 1 668 24 view .LVU600
1750 011c 43F00043 orr r3, r3, #-2147483648
1751 0120 AB63 str r3, [r5, #56]
669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1752 .loc 1 669 9 is_stmt 1 view .LVU601
669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1753 .loc 1 669 19 is_stmt 0 view .LVU602
1754 0122 0123 movs r3, #1
1755 0124 85F83430 strb r3, [r5, #52]
670:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_TIMEOUT;
1756 .loc 1 670 9 is_stmt 1 view .LVU603
670:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_TIMEOUT;
1757 .loc 1 670 22 is_stmt 0 view .LVU604
1758 0128 0023 movs r3, #0
1759 012a 2B63 str r3, [r5, #48]
671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1760 .loc 1 671 9 is_stmt 1 view .LVU605
671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1761 .loc 1 671 16 is_stmt 0 view .LVU606
1762 012c 0327 movs r7, #3
1763 012e 84E0 b .L101
1764 .L125:
676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1765 .loc 1 676 5 is_stmt 1 view .LVU607
676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1766 .loc 1 676 8 is_stmt 0 view .LVU608
1767 0130 436B ldr r3, [r0, #52]
676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1768 .loc 1 676 7 view .LVU609
1769 0132 13F4807F tst r3, #256
1770 0136 05D0 beq .L114
676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1771 .loc 1 676 51 discriminator 1 view .LVU610
1772 0138 BBF1010F cmp fp, #1
1773 013c 02D9 bls .L114
678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1774 .loc 1 678 7 is_stmt 1 view .LVU611
678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1775 .loc 1 678 21 is_stmt 0 view .LVU612
1776 013e 6B6C ldr r3, [r5, #68]
678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1777 .loc 1 678 9 view .LVU613
1778 0140 032B cmp r3, #3
1779 0142 38D1 bne .L126
1780 .LVL170:
1781 .L114:
695:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1782 .loc 1 695 5 is_stmt 1 view .LVU614
695:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
ARM GAS /tmp/ccMMu31U.s page 98
1783 .loc 1 695 8 is_stmt 0 view .LVU615
1784 0144 2B68 ldr r3, [r5]
1785 0146 5A6B ldr r2, [r3, #52]
695:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1786 .loc 1 695 7 view .LVU616
1787 0148 12F0080F tst r2, #8
1788 014c 44D1 bne .L127
704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1789 .loc 1 704 10 is_stmt 1 view .LVU617
704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1790 .loc 1 704 13 is_stmt 0 view .LVU618
1791 014e 5A6B ldr r2, [r3, #52]
704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1792 .loc 1 704 12 view .LVU619
1793 0150 12F0020F tst r2, #2
1794 0154 4CD1 bne .L128
713:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1795 .loc 1 713 10 is_stmt 1 view .LVU620
713:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1796 .loc 1 713 13 is_stmt 0 view .LVU621
1797 0156 5A6B ldr r2, [r3, #52]
713:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1798 .loc 1 713 12 view .LVU622
1799 0158 12F0200F tst r2, #32
1800 015c 54D1 bne .L129
1801 .L117:
728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1802 .loc 1 728 56 is_stmt 1 view .LVU623
728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1803 .loc 1 728 13 is_stmt 0 view .LVU624
1804 015e 2868 ldr r0, [r5]
1805 0160 436B ldr r3, [r0, #52]
728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1806 .loc 1 728 56 view .LVU625
1807 0162 13F4001F tst r3, #2097152
1808 0166 5BD0 beq .L119
728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1809 .loc 1 728 56 discriminator 1 view .LVU626
1810 0168 B8F1000F cmp r8, #0
1811 016c 58D0 beq .L119
730:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)(data & 0xFFU);
1812 .loc 1 730 7 is_stmt 1 view .LVU627
730:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)(data & 0xFFU);
1813 .loc 1 730 14 is_stmt 0 view .LVU628
1814 016e FFF7FEFF bl SDMMC_ReadFIFO
1815 .LVL171:
731:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1816 .loc 1 731 7 is_stmt 1 view .LVU629
731:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1817 .loc 1 731 17 is_stmt 0 view .LVU630
1818 0172 2070 strb r0, [r4]
732:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
1819 .loc 1 732 7 is_stmt 1 view .LVU631
1820 .LVL172:
733:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 8U) & 0xFFU);
1821 .loc 1 733 7 view .LVU632
734:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
ARM GAS /tmp/ccMMu31U.s page 99
1822 .loc 1 734 7 view .LVU633
734:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1823 .loc 1 734 19 is_stmt 0 view .LVU634
1824 0174 C0F30723 ubfx r3, r0, #8, #8
734:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1825 .loc 1 734 17 view .LVU635
1826 0178 6370 strb r3, [r4, #1]
735:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
1827 .loc 1 735 7 is_stmt 1 view .LVU636
1828 .LVL173:
736:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 16U) & 0xFFU);
1829 .loc 1 736 7 view .LVU637
737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1830 .loc 1 737 7 view .LVU638
737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1831 .loc 1 737 19 is_stmt 0 view .LVU639
1832 017a C0F30743 ubfx r3, r0, #16, #8
737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1833 .loc 1 737 17 view .LVU640
1834 017e A370 strb r3, [r4, #2]
738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
1835 .loc 1 738 7 is_stmt 1 view .LVU641
1836 .LVL174:
739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 24U) & 0xFFU);
1837 .loc 1 739 7 view .LVU642
740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1838 .loc 1 740 7 view .LVU643
740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1839 .loc 1 740 19 is_stmt 0 view .LVU644
1840 0180 000E lsrs r0, r0, #24
1841 .LVL175:
740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
1842 .loc 1 740 17 view .LVU645
1843 0182 E070 strb r0, [r4, #3]
741:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
1844 .loc 1 741 7 is_stmt 1 view .LVU646
741:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
1845 .loc 1 741 15 is_stmt 0 view .LVU647
1846 0184 0434 adds r4, r4, #4
1847 .LVL176:
742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1848 .loc 1 742 7 is_stmt 1 view .LVU648
742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1849 .loc 1 742 20 is_stmt 0 view .LVU649
1850 0186 A8F10408 sub r8, r8, #4
1851 .LVL177:
744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1852 .loc 1 744 7 is_stmt 1 view .LVU650
744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1853 .loc 1 744 12 is_stmt 0 view .LVU651
1854 018a FFF7FEFF bl HAL_GetTick
1855 .LVL178:
744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1856 .loc 1 744 25 discriminator 1 view .LVU652
1857 018e A0EB0900 sub r0, r0, r9
744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1858 .loc 1 744 9 discriminator 1 view .LVU653
ARM GAS /tmp/ccMMu31U.s page 100
1859 0192 5045 cmp r0, r10
1860 0194 02D2 bcs .L118
744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1861 .loc 1 744 50 discriminator 1 view .LVU654
1862 0196 BAF1000F cmp r10, #0
1863 019a E0D1 bne .L117
1864 .L118:
747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_TIMEOUT;
1865 .loc 1 747 9 is_stmt 1 view .LVU655
1866 019c 2B68 ldr r3, [r5]
1867 019e 294A ldr r2, .L130
1868 01a0 9A63 str r2, [r3, #56]
748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State= HAL_SD_STATE_READY;
1869 .loc 1 748 9 view .LVU656
748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State= HAL_SD_STATE_READY;
1870 .loc 1 748 12 is_stmt 0 view .LVU657
1871 01a2 AB6B ldr r3, [r5, #56]
748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State= HAL_SD_STATE_READY;
1872 .loc 1 748 24 view .LVU658
1873 01a4 43F00043 orr r3, r3, #-2147483648
1874 01a8 AB63 str r3, [r5, #56]
749:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1875 .loc 1 749 9 is_stmt 1 view .LVU659
749:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1876 .loc 1 749 19 is_stmt 0 view .LVU660
1877 01aa 0123 movs r3, #1
1878 01ac 85F83430 strb r3, [r5, #52]
750:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1879 .loc 1 750 9 is_stmt 1 view .LVU661
750:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1880 .loc 1 750 22 is_stmt 0 view .LVU662
1881 01b0 0023 movs r3, #0
1882 01b2 2B63 str r3, [r5, #48]
751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1883 .loc 1 751 9 is_stmt 1 view .LVU663
751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1884 .loc 1 751 16 is_stmt 0 view .LVU664
1885 01b4 41E0 b .L101
1886 .LVL179:
1887 .L126:
681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1888 .loc 1 681 9 is_stmt 1 view .LVU665
681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
1889 .loc 1 681 22 is_stmt 0 view .LVU666
1890 01b6 FFF7FEFF bl SDMMC_CmdStopTransfer
1891 .LVL180:
682:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1892 .loc 1 682 9 is_stmt 1 view .LVU667
682:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
1893 .loc 1 682 11 is_stmt 0 view .LVU668
1894 01ba 0346 mov r3, r0
1895 01bc 0028 cmp r0, #0
1896 01be C1D0 beq .L114
685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
1897 .loc 1 685 11 is_stmt 1 view .LVU669
1898 01c0 2A68 ldr r2, [r5]
1899 01c2 2049 ldr r1, .L130
ARM GAS /tmp/ccMMu31U.s page 101
1900 01c4 9163 str r1, [r2, #56]
686:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1901 .loc 1 686 11 view .LVU670
686:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1902 .loc 1 686 14 is_stmt 0 view .LVU671
1903 01c6 AA6B ldr r2, [r5, #56]
686:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1904 .loc 1 686 26 view .LVU672
1905 01c8 1343 orrs r3, r3, r2
1906 01ca AB63 str r3, [r5, #56]
687:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1907 .loc 1 687 11 is_stmt 1 view .LVU673
687:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1908 .loc 1 687 22 is_stmt 0 view .LVU674
1909 01cc 0123 movs r3, #1
1910 01ce 85F83430 strb r3, [r5, #52]
688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1911 .loc 1 688 11 is_stmt 1 view .LVU675
688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1912 .loc 1 688 24 is_stmt 0 view .LVU676
1913 01d2 0023 movs r3, #0
1914 01d4 2B63 str r3, [r5, #48]
689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1915 .loc 1 689 11 is_stmt 1 view .LVU677
689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1916 .loc 1 689 18 is_stmt 0 view .LVU678
1917 01d6 30E0 b .L101
1918 .LVL181:
1919 .L127:
698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_TIMEOUT;
1920 .loc 1 698 7 is_stmt 1 view .LVU679
1921 01d8 1A4A ldr r2, .L130
1922 01da 9A63 str r2, [r3, #56]
699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1923 .loc 1 699 7 view .LVU680
699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1924 .loc 1 699 10 is_stmt 0 view .LVU681
1925 01dc AB6B ldr r3, [r5, #56]
699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1926 .loc 1 699 22 view .LVU682
1927 01de 43F00803 orr r3, r3, #8
1928 01e2 AB63 str r3, [r5, #56]
700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1929 .loc 1 700 7 is_stmt 1 view .LVU683
700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1930 .loc 1 700 18 is_stmt 0 view .LVU684
1931 01e4 0123 movs r3, #1
1932 01e6 85F83430 strb r3, [r5, #52]
701:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1933 .loc 1 701 7 is_stmt 1 view .LVU685
701:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1934 .loc 1 701 20 is_stmt 0 view .LVU686
1935 01ea 0023 movs r3, #0
1936 01ec 2B63 str r3, [r5, #48]
702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1937 .loc 1 702 7 is_stmt 1 view .LVU687
702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
ARM GAS /tmp/ccMMu31U.s page 102
1938 .loc 1 702 14 is_stmt 0 view .LVU688
1939 01ee 24E0 b .L101
1940 .L128:
707:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_CRC_FAIL;
1941 .loc 1 707 7 is_stmt 1 view .LVU689
1942 01f0 144A ldr r2, .L130
1943 01f2 9A63 str r2, [r3, #56]
708:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1944 .loc 1 708 7 view .LVU690
708:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1945 .loc 1 708 10 is_stmt 0 view .LVU691
1946 01f4 AB6B ldr r3, [r5, #56]
708:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1947 .loc 1 708 22 view .LVU692
1948 01f6 43F00203 orr r3, r3, #2
1949 01fa AB63 str r3, [r5, #56]
709:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1950 .loc 1 709 7 is_stmt 1 view .LVU693
709:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1951 .loc 1 709 18 is_stmt 0 view .LVU694
1952 01fc 0123 movs r3, #1
1953 01fe 85F83430 strb r3, [r5, #52]
710:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1954 .loc 1 710 7 is_stmt 1 view .LVU695
710:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1955 .loc 1 710 20 is_stmt 0 view .LVU696
1956 0202 0023 movs r3, #0
1957 0204 2B63 str r3, [r5, #48]
711:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1958 .loc 1 711 7 is_stmt 1 view .LVU697
711:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1959 .loc 1 711 14 is_stmt 0 view .LVU698
1960 0206 18E0 b .L101
1961 .L129:
716:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_RX_OVERRUN;
1962 .loc 1 716 7 is_stmt 1 view .LVU699
1963 0208 0E4A ldr r2, .L130
1964 020a 9A63 str r2, [r3, #56]
717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1965 .loc 1 717 7 view .LVU700
717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1966 .loc 1 717 10 is_stmt 0 view .LVU701
1967 020c AB6B ldr r3, [r5, #56]
717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
1968 .loc 1 717 22 view .LVU702
1969 020e 43F02003 orr r3, r3, #32
1970 0212 AB63 str r3, [r5, #56]
718:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1971 .loc 1 718 7 is_stmt 1 view .LVU703
718:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
1972 .loc 1 718 18 is_stmt 0 view .LVU704
1973 0214 0123 movs r3, #1
1974 0216 85F83430 strb r3, [r5, #52]
719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1975 .loc 1 719 7 is_stmt 1 view .LVU705
719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1976 .loc 1 719 20 is_stmt 0 view .LVU706
ARM GAS /tmp/ccMMu31U.s page 103
1977 021a 0023 movs r3, #0
1978 021c 2B63 str r3, [r5, #48]
720:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1979 .loc 1 720 7 is_stmt 1 view .LVU707
720:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1980 .loc 1 720 14 is_stmt 0 view .LVU708
1981 021e 0CE0 b .L101
1982 .L119:
756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1983 .loc 1 756 5 is_stmt 1 view .LVU709
1984 0220 40F23A53 movw r3, #1338
1985 0224 8363 str r3, [r0, #56]
758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1986 .loc 1 758 5 view .LVU710
758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
1987 .loc 1 758 16 is_stmt 0 view .LVU711
1988 0226 0123 movs r3, #1
1989 0228 85F83430 strb r3, [r5, #52]
760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1990 .loc 1 760 5 is_stmt 1 view .LVU712
760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
1991 .loc 1 760 12 is_stmt 0 view .LVU713
1992 022c 0027 movs r7, #0
1993 022e 04E0 b .L101
1994 .LVL182:
1995 .L102:
764:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1996 .loc 1 764 5 is_stmt 1 view .LVU714
764:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1997 .loc 1 764 8 is_stmt 0 view .LVU715
1998 0230 AB6B ldr r3, [r5, #56]
764:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
1999 .loc 1 764 20 view .LVU716
2000 0232 43F00053 orr r3, r3, #536870912
2001 0236 AB63 str r3, [r5, #56]
765:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2002 .loc 1 765 5 is_stmt 1 view .LVU717
765:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2003 .loc 1 765 12 is_stmt 0 view .LVU718
2004 0238 0127 movs r7, #1
2005 .LVL183:
2006 .L101:
767:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2007 .loc 1 767 1 view .LVU719
2008 023a 3846 mov r0, r7
2009 023c 07B0 add sp, sp, #28
2010 .LCFI31:
2011 .cfi_def_cfa_offset 36
2012 @ sp needed
2013 023e BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
2014 .LVL184:
2015 .L131:
767:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2016 .loc 1 767 1 view .LVU720
2017 0242 00BF .align 2
2018 .L130:
2019 0244 FF054000 .word 4195839
ARM GAS /tmp/ccMMu31U.s page 104
2020 .cfi_endproc
2021 .LFE146:
2023 .section .text.HAL_SD_WriteBlocks,"ax",%progbits
2024 .align 1
2025 .global HAL_SD_WriteBlocks
2026 .syntax unified
2027 .thumb
2028 .thumb_func
2030 HAL_SD_WriteBlocks:
2031 .LVL185:
2032 .LFB147:
782:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
2033 .loc 1 782 1 is_stmt 1 view -0
2034 .cfi_startproc
2035 @ args = 4, pretend = 0, frame = 40
2036 @ frame_needed = 0, uses_anonymous_args = 0
782:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
2037 .loc 1 782 1 is_stmt 0 view .LVU722
2038 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
2039 .LCFI32:
2040 .cfi_def_cfa_offset 36
2041 .cfi_offset 4, -36
2042 .cfi_offset 5, -32
2043 .cfi_offset 6, -28
2044 .cfi_offset 7, -24
2045 .cfi_offset 8, -20
2046 .cfi_offset 9, -16
2047 .cfi_offset 10, -12
2048 .cfi_offset 11, -8
2049 .cfi_offset 14, -4
2050 0004 8BB0 sub sp, sp, #44
2051 .LCFI33:
2052 .cfi_def_cfa_offset 80
2053 0006 0546 mov r5, r0
2054 0008 0C46 mov r4, r1
2055 000a 1646 mov r6, r2
2056 000c 9B46 mov fp, r3
2057 000e DDF850A0 ldr r10, [sp, #80]
783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
2058 .loc 1 783 3 is_stmt 1 view .LVU723
784:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t tickstart = HAL_GetTick();
2059 .loc 1 784 3 view .LVU724
785:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count, data, dataremaining;
2060 .loc 1 785 3 view .LVU725
785:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count, data, dataremaining;
2061 .loc 1 785 24 is_stmt 0 view .LVU726
2062 0012 FFF7FEFF bl HAL_GetTick
2063 .LVL186:
786:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t add = BlockAdd;
2064 .loc 1 786 3 is_stmt 1 view .LVU727
787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint8_t *tempbuff = pData;
2065 .loc 1 787 3 view .LVU728
788:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2066 .loc 1 788 3 view .LVU729
790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2067 .loc 1 790 3 view .LVU730
790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
ARM GAS /tmp/ccMMu31U.s page 105
2068 .loc 1 790 5 is_stmt 0 view .LVU731
2069 0016 002C cmp r4, #0
2070 0018 37D0 beq .L152
2071 001a 8046 mov r8, r0
796:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2072 .loc 1 796 3 is_stmt 1 view .LVU732
796:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2073 .loc 1 796 9 is_stmt 0 view .LVU733
2074 001c 95F83470 ldrb r7, [r5, #52] @ zero_extendqisi2
2075 0020 FFB2 uxtb r7, r7
796:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2076 .loc 1 796 5 view .LVU734
2077 0022 012F cmp r7, #1
2078 0024 40F0E180 bne .L135
798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2079 .loc 1 798 5 is_stmt 1 view .LVU735
798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2080 .loc 1 798 20 is_stmt 0 view .LVU736
2081 0028 0023 movs r3, #0
2082 002a AB63 str r3, [r5, #56]
800:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2083 .loc 1 800 5 is_stmt 1 view .LVU737
800:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2084 .loc 1 800 13 is_stmt 0 view .LVU738
2085 002c 06EB0B03 add r3, r6, fp
800:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2086 .loc 1 800 45 view .LVU739
2087 0030 EA6D ldr r2, [r5, #92]
800:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2088 .loc 1 800 7 view .LVU740
2089 0032 9342 cmp r3, r2
2090 0034 2FD8 bhi .L153
806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2091 .loc 1 806 5 is_stmt 1 view .LVU741
806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2092 .loc 1 806 16 is_stmt 0 view .LVU742
2093 0036 0323 movs r3, #3
2094 0038 85F83430 strb r3, [r5, #52]
809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2095 .loc 1 809 5 is_stmt 1 view .LVU743
809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2096 .loc 1 809 8 is_stmt 0 view .LVU744
2097 003c 2B68 ldr r3, [r5]
809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2098 .loc 1 809 26 view .LVU745
2099 003e 0022 movs r2, #0
2100 0040 DA62 str r2, [r3, #44]
811:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2101 .loc 1 811 5 is_stmt 1 view .LVU746
811:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2102 .loc 1 811 19 is_stmt 0 view .LVU747
2103 0042 6B6C ldr r3, [r5, #68]
811:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2104 .loc 1 811 7 view .LVU748
2105 0044 012B cmp r3, #1
2106 0046 00D0 beq .L137
813:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
ARM GAS /tmp/ccMMu31U.s page 106
2107 .loc 1 813 7 is_stmt 1 view .LVU749
813:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2108 .loc 1 813 11 is_stmt 0 view .LVU750
2109 0048 7602 lsls r6, r6, #9
2110 .LVL187:
2111 .L137:
817:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = NumberOfBlocks * BLOCKSIZE;
2112 .loc 1 817 5 is_stmt 1 view .LVU751
817:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = NumberOfBlocks * BLOCKSIZE;
2113 .loc 1 817 26 is_stmt 0 view .LVU752
2114 004a 4FF0FF33 mov r3, #-1
2115 004e 0493 str r3, [sp, #16]
818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B;
2116 .loc 1 818 5 is_stmt 1 view .LVU753
818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B;
2117 .loc 1 818 43 is_stmt 0 view .LVU754
2118 0050 4FEA4B23 lsl r3, fp, #9
818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B;
2119 .loc 1 818 26 view .LVU755
2120 0054 0593 str r3, [sp, #20]
819:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD;
2121 .loc 1 819 5 is_stmt 1 view .LVU756
819:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD;
2122 .loc 1 819 26 is_stmt 0 view .LVU757
2123 0056 9023 movs r3, #144
2124 0058 0693 str r3, [sp, #24]
820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
2125 .loc 1 820 5 is_stmt 1 view .LVU758
820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
2126 .loc 1 820 26 is_stmt 0 view .LVU759
2127 005a 0023 movs r3, #0
2128 005c 0793 str r3, [sp, #28]
821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
2129 .loc 1 821 5 is_stmt 1 view .LVU760
821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
2130 .loc 1 821 26 is_stmt 0 view .LVU761
2131 005e 0893 str r3, [sp, #32]
822:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
2132 .loc 1 822 5 is_stmt 1 view .LVU762
822:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
2133 .loc 1 822 26 is_stmt 0 view .LVU763
2134 0060 0123 movs r3, #1
2135 0062 0993 str r3, [sp, #36]
823:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2136 .loc 1 823 5 is_stmt 1 view .LVU764
823:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2137 .loc 1 823 11 is_stmt 0 view .LVU765
2138 0064 04A9 add r1, sp, #16
2139 0066 2868 ldr r0, [r5]
2140 .LVL188:
823:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2141 .loc 1 823 11 view .LVU766
2142 0068 FFF7FEFF bl SDMMC_ConfigData
2143 .LVL189:
826:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2144 .loc 1 826 5 is_stmt 1 view .LVU767
826:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
ARM GAS /tmp/ccMMu31U.s page 107
2145 .loc 1 826 7 is_stmt 0 view .LVU768
2146 006c BBF1010F cmp fp, #1
2147 0070 16D9 bls .L138
828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2148 .loc 1 828 7 is_stmt 1 view .LVU769
828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2149 .loc 1 828 20 is_stmt 0 view .LVU770
2150 0072 2023 movs r3, #32
2151 0074 2B63 str r3, [r5, #48]
831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2152 .loc 1 831 7 is_stmt 1 view .LVU771
831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2153 .loc 1 831 20 is_stmt 0 view .LVU772
2154 0076 3146 mov r1, r6
2155 0078 2868 ldr r0, [r5]
2156 007a FFF7FEFF bl SDMMC_CmdWriteMultiBlock
2157 .LVL190:
2158 007e 0190 str r0, [sp, #4]
2159 .LVL191:
2160 .L139:
840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2161 .loc 1 840 5 is_stmt 1 view .LVU773
840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2162 .loc 1 840 7 is_stmt 0 view .LVU774
2163 0080 019B ldr r3, [sp, #4]
2164 0082 ABB9 cbnz r3, .L154
851:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_TXUNDERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT |
2165 .loc 1 851 5 is_stmt 1 view .LVU775
851:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_TXUNDERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT |
2166 .loc 1 851 19 is_stmt 0 view .LVU776
2167 0084 DDF81490 ldr r9, [sp, #20]
2168 .LVL192:
852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2169 .loc 1 852 5 is_stmt 1 view .LVU777
852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2170 .loc 1 852 10 is_stmt 0 view .LVU778
2171 0088 40E0 b .L141
2172 .LVL193:
2173 .L152:
792:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2174 .loc 1 792 5 is_stmt 1 view .LVU779
792:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2175 .loc 1 792 8 is_stmt 0 view .LVU780
2176 008a AB6B ldr r3, [r5, #56]
792:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2177 .loc 1 792 20 view .LVU781
2178 008c 43F00063 orr r3, r3, #134217728
2179 0090 AB63 str r3, [r5, #56]
793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2180 .loc 1 793 5 is_stmt 1 view .LVU782
793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2181 .loc 1 793 12 is_stmt 0 view .LVU783
2182 0092 0127 movs r7, #1
2183 0094 AEE0 b .L134
2184 .L153:
802:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2185 .loc 1 802 7 is_stmt 1 view .LVU784
ARM GAS /tmp/ccMMu31U.s page 108
802:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2186 .loc 1 802 10 is_stmt 0 view .LVU785
2187 0096 AB6B ldr r3, [r5, #56]
802:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2188 .loc 1 802 22 view .LVU786
2189 0098 43F00073 orr r3, r3, #33554432
2190 009c AB63 str r3, [r5, #56]
803:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2191 .loc 1 803 7 is_stmt 1 view .LVU787
803:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2192 .loc 1 803 14 is_stmt 0 view .LVU788
2193 009e A9E0 b .L134
2194 .LVL194:
2195 .L138:
835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2196 .loc 1 835 7 is_stmt 1 view .LVU789
835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2197 .loc 1 835 20 is_stmt 0 view .LVU790
2198 00a0 1023 movs r3, #16
2199 00a2 2B63 str r3, [r5, #48]
838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2200 .loc 1 838 7 is_stmt 1 view .LVU791
838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2201 .loc 1 838 20 is_stmt 0 view .LVU792
2202 00a4 3146 mov r1, r6
2203 00a6 2868 ldr r0, [r5]
2204 00a8 FFF7FEFF bl SDMMC_CmdWriteSingleBlock
2205 .LVL195:
2206 00ac 0190 str r0, [sp, #4]
2207 .LVL196:
838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2208 .loc 1 838 20 view .LVU793
2209 00ae E7E7 b .L139
2210 .LVL197:
2211 .L154:
843:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
2212 .loc 1 843 7 is_stmt 1 view .LVU794
2213 00b0 2B68 ldr r3, [r5]
2214 .LVL198:
843:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
2215 .loc 1 843 7 is_stmt 0 view .LVU795
2216 00b2 524A ldr r2, .L159
2217 00b4 9A63 str r2, [r3, #56]
844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2218 .loc 1 844 7 is_stmt 1 view .LVU796
844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2219 .loc 1 844 10 is_stmt 0 view .LVU797
2220 00b6 AB6B ldr r3, [r5, #56]
844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2221 .loc 1 844 22 view .LVU798
2222 00b8 019A ldr r2, [sp, #4]
2223 00ba 1343 orrs r3, r3, r2
2224 00bc AB63 str r3, [r5, #56]
845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2225 .loc 1 845 7 is_stmt 1 view .LVU799
845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2226 .loc 1 845 18 is_stmt 0 view .LVU800
ARM GAS /tmp/ccMMu31U.s page 109
2227 00be 0123 movs r3, #1
2228 00c0 85F83430 strb r3, [r5, #52]
846:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2229 .loc 1 846 7 is_stmt 1 view .LVU801
846:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2230 .loc 1 846 20 is_stmt 0 view .LVU802
2231 00c4 0023 movs r3, #0
2232 00c6 2B63 str r3, [r5, #48]
847:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2233 .loc 1 847 7 is_stmt 1 view .LVU803
847:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2234 .loc 1 847 14 is_stmt 0 view .LVU804
2235 00c8 94E0 b .L134
2236 .LVL199:
2237 .L144:
859:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
2238 .loc 1 859 11 is_stmt 1 view .LVU805
859:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
2239 .loc 1 859 29 is_stmt 0 view .LVU806
2240 00ca 2378 ldrb r3, [r4] @ zero_extendqisi2
859:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
2241 .loc 1 859 16 view .LVU807
2242 00cc 0393 str r3, [sp, #12]
860:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
2243 .loc 1 860 11 is_stmt 1 view .LVU808
2244 .LVL200:
861:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data |= ((uint32_t)(*tempbuff) << 8U);
2245 .loc 1 861 11 view .LVU809
862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
2246 .loc 1 862 11 view .LVU810
862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
2247 .loc 1 862 31 is_stmt 0 view .LVU811
2248 00ce 6278 ldrb r2, [r4, #1] @ zero_extendqisi2
862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
2249 .loc 1 862 16 view .LVU812
2250 00d0 43EA0223 orr r3, r3, r2, lsl #8
2251 00d4 0393 str r3, [sp, #12]
863:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
2252 .loc 1 863 11 is_stmt 1 view .LVU813
2253 .LVL201:
864:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data |= ((uint32_t)(*tempbuff) << 16U);
2254 .loc 1 864 11 view .LVU814
865:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
2255 .loc 1 865 11 view .LVU815
865:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
2256 .loc 1 865 31 is_stmt 0 view .LVU816
2257 00d6 A278 ldrb r2, [r4, #2] @ zero_extendqisi2
865:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
2258 .loc 1 865 16 view .LVU817
2259 00d8 43EA0243 orr r3, r3, r2, lsl #16
2260 00dc 0393 str r3, [sp, #12]
866:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
2261 .loc 1 866 11 is_stmt 1 view .LVU818
2262 .LVL202:
867:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data |= ((uint32_t)(*tempbuff) << 24U);
2263 .loc 1 867 11 view .LVU819
868:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
ARM GAS /tmp/ccMMu31U.s page 110
2264 .loc 1 868 11 view .LVU820
868:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
2265 .loc 1 868 31 is_stmt 0 view .LVU821
2266 00de E278 ldrb r2, [r4, #3] @ zero_extendqisi2
868:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++;
2267 .loc 1 868 16 view .LVU822
2268 00e0 43EA0263 orr r3, r3, r2, lsl #24
2269 00e4 0393 str r3, [sp, #12]
869:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
2270 .loc 1 869 11 is_stmt 1 view .LVU823
869:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--;
2271 .loc 1 869 19 is_stmt 0 view .LVU824
2272 00e6 0434 adds r4, r4, #4
2273 .LVL203:
870:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_WriteFIFO(hsd->Instance, &data);
2274 .loc 1 870 11 is_stmt 1 view .LVU825
870:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_WriteFIFO(hsd->Instance, &data);
2275 .loc 1 870 24 is_stmt 0 view .LVU826
2276 00e8 A9F10409 sub r9, r9, #4
2277 .LVL204:
871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2278 .loc 1 871 11 is_stmt 1 view .LVU827
871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2279 .loc 1 871 17 is_stmt 0 view .LVU828
2280 00ec 03A9 add r1, sp, #12
2281 00ee 2868 ldr r0, [r5]
2282 00f0 FFF7FEFF bl SDMMC_WriteFIFO
2283 .LVL205:
857:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2284 .loc 1 857 42 is_stmt 1 discriminator 3 view .LVU829
2285 00f4 0136 adds r6, r6, #1
2286 .LVL206:
2287 .L143:
857:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2288 .loc 1 857 31 discriminator 1 view .LVU830
2289 00f6 072E cmp r6, #7
2290 00f8 E7D9 bls .L144
2291 .LVL207:
2292 .L142:
875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2293 .loc 1 875 7 view .LVU831
875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2294 .loc 1 875 12 is_stmt 0 view .LVU832
2295 00fa FFF7FEFF bl HAL_GetTick
2296 .LVL208:
875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2297 .loc 1 875 25 discriminator 1 view .LVU833
2298 00fe A0EB0800 sub r0, r0, r8
875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2299 .loc 1 875 9 discriminator 1 view .LVU834
2300 0102 5045 cmp r0, r10
2301 0104 0FD2 bcs .L145
875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2302 .loc 1 875 50 discriminator 1 view .LVU835
2303 0106 BAF1000F cmp r10, #0
2304 010a 0CD0 beq .L145
2305 .L141:
ARM GAS /tmp/ccMMu31U.s page 111
852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2306 .loc 1 852 11 is_stmt 1 view .LVU836
852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2307 .loc 1 852 12 is_stmt 0 view .LVU837
2308 010c 2868 ldr r0, [r5]
2309 010e 466B ldr r6, [r0, #52]
852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2310 .loc 1 852 11 view .LVU838
2311 0110 16F48D76 ands r6, r6, #282
2312 0114 15D1 bne .L155
854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2313 .loc 1 854 7 is_stmt 1 view .LVU839
854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2314 .loc 1 854 10 is_stmt 0 view .LVU840
2315 0116 436B ldr r3, [r0, #52]
854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2316 .loc 1 854 9 view .LVU841
2317 0118 13F4804F tst r3, #16384
2318 011c EDD0 beq .L142
854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2319 .loc 1 854 54 discriminator 1 view .LVU842
2320 011e B9F1000F cmp r9, #0
2321 0122 EAD0 beq .L142
2322 0124 E7E7 b .L143
2323 .L145:
878:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
2324 .loc 1 878 9 is_stmt 1 view .LVU843
2325 0126 2B68 ldr r3, [r5]
2326 0128 344A ldr r2, .L159
2327 012a 9A63 str r2, [r3, #56]
879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2328 .loc 1 879 9 view .LVU844
879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2329 .loc 1 879 12 is_stmt 0 view .LVU845
2330 012c AB6B ldr r3, [r5, #56]
879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2331 .loc 1 879 24 view .LVU846
2332 012e 019A ldr r2, [sp, #4]
2333 0130 1343 orrs r3, r3, r2
2334 0132 AB63 str r3, [r5, #56]
880:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2335 .loc 1 880 9 is_stmt 1 view .LVU847
880:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2336 .loc 1 880 20 is_stmt 0 view .LVU848
2337 0134 0123 movs r3, #1
2338 0136 85F83430 strb r3, [r5, #52]
881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_TIMEOUT;
2339 .loc 1 881 9 is_stmt 1 view .LVU849
881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_TIMEOUT;
2340 .loc 1 881 22 is_stmt 0 view .LVU850
2341 013a 0023 movs r3, #0
2342 013c 2B63 str r3, [r5, #48]
882:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2343 .loc 1 882 9 is_stmt 1 view .LVU851
882:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2344 .loc 1 882 16 is_stmt 0 view .LVU852
2345 013e 0327 movs r7, #3
ARM GAS /tmp/ccMMu31U.s page 112
2346 0140 58E0 b .L134
2347 .L155:
887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2348 .loc 1 887 5 is_stmt 1 view .LVU853
887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2349 .loc 1 887 8 is_stmt 0 view .LVU854
2350 0142 436B ldr r3, [r0, #52]
887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2351 .loc 1 887 7 view .LVU855
2352 0144 13F4807F tst r3, #256
2353 0148 05D0 beq .L147
887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2354 .loc 1 887 51 discriminator 1 view .LVU856
2355 014a BBF1010F cmp fp, #1
2356 014e 02D9 bls .L147
889:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2357 .loc 1 889 7 is_stmt 1 view .LVU857
889:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2358 .loc 1 889 21 is_stmt 0 view .LVU858
2359 0150 6B6C ldr r3, [r5, #68]
889:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2360 .loc 1 889 9 view .LVU859
2361 0152 032B cmp r3, #3
2362 0154 18D1 bne .L156
2363 .LVL209:
2364 .L147:
906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2365 .loc 1 906 5 is_stmt 1 view .LVU860
906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2366 .loc 1 906 8 is_stmt 0 view .LVU861
2367 0156 2B68 ldr r3, [r5]
2368 0158 5A6B ldr r2, [r3, #52]
906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2369 .loc 1 906 7 view .LVU862
2370 015a 12F0080F tst r2, #8
2371 015e 24D1 bne .L157
915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2372 .loc 1 915 10 is_stmt 1 view .LVU863
915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2373 .loc 1 915 13 is_stmt 0 view .LVU864
2374 0160 5A6B ldr r2, [r3, #52]
915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2375 .loc 1 915 12 view .LVU865
2376 0162 12F0020F tst r2, #2
2377 0166 2CD1 bne .L158
924:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2378 .loc 1 924 10 is_stmt 1 view .LVU866
924:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2379 .loc 1 924 13 is_stmt 0 view .LVU867
2380 0168 5A6B ldr r2, [r3, #52]
924:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2381 .loc 1 924 12 view .LVU868
2382 016a 12F0100F tst r2, #16
2383 016e 34D0 beq .L150
927:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_TX_UNDERRUN;
2384 .loc 1 927 7 is_stmt 1 view .LVU869
2385 0170 224A ldr r2, .L159
ARM GAS /tmp/ccMMu31U.s page 113
2386 0172 9A63 str r2, [r3, #56]
928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2387 .loc 1 928 7 view .LVU870
928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2388 .loc 1 928 10 is_stmt 0 view .LVU871
2389 0174 AB6B ldr r3, [r5, #56]
928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2390 .loc 1 928 22 view .LVU872
2391 0176 43F01003 orr r3, r3, #16
2392 017a AB63 str r3, [r5, #56]
929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2393 .loc 1 929 7 is_stmt 1 view .LVU873
929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2394 .loc 1 929 18 is_stmt 0 view .LVU874
2395 017c 0123 movs r3, #1
2396 017e 85F83430 strb r3, [r5, #52]
930:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2397 .loc 1 930 7 is_stmt 1 view .LVU875
930:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2398 .loc 1 930 20 is_stmt 0 view .LVU876
2399 0182 0023 movs r3, #0
2400 0184 2B63 str r3, [r5, #48]
931:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2401 .loc 1 931 7 is_stmt 1 view .LVU877
931:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2402 .loc 1 931 14 is_stmt 0 view .LVU878
2403 0186 35E0 b .L134
2404 .LVL210:
2405 .L156:
892:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2406 .loc 1 892 9 is_stmt 1 view .LVU879
892:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
2407 .loc 1 892 22 is_stmt 0 view .LVU880
2408 0188 FFF7FEFF bl SDMMC_CmdStopTransfer
2409 .LVL211:
893:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2410 .loc 1 893 9 is_stmt 1 view .LVU881
893:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2411 .loc 1 893 11 is_stmt 0 view .LVU882
2412 018c 0346 mov r3, r0
2413 018e 0028 cmp r0, #0
2414 0190 E1D0 beq .L147
896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
2415 .loc 1 896 11 is_stmt 1 view .LVU883
2416 0192 2A68 ldr r2, [r5]
2417 0194 1949 ldr r1, .L159
2418 0196 9163 str r1, [r2, #56]
897:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2419 .loc 1 897 11 view .LVU884
897:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2420 .loc 1 897 14 is_stmt 0 view .LVU885
2421 0198 AA6B ldr r2, [r5, #56]
897:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2422 .loc 1 897 26 view .LVU886
2423 019a 1343 orrs r3, r3, r2
2424 019c AB63 str r3, [r5, #56]
898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
ARM GAS /tmp/ccMMu31U.s page 114
2425 .loc 1 898 11 is_stmt 1 view .LVU887
898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2426 .loc 1 898 22 is_stmt 0 view .LVU888
2427 019e 0123 movs r3, #1
2428 01a0 85F83430 strb r3, [r5, #52]
899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2429 .loc 1 899 11 is_stmt 1 view .LVU889
899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2430 .loc 1 899 24 is_stmt 0 view .LVU890
2431 01a4 0023 movs r3, #0
2432 01a6 2B63 str r3, [r5, #48]
900:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2433 .loc 1 900 11 is_stmt 1 view .LVU891
900:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2434 .loc 1 900 18 is_stmt 0 view .LVU892
2435 01a8 24E0 b .L134
2436 .LVL212:
2437 .L157:
909:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_TIMEOUT;
2438 .loc 1 909 7 is_stmt 1 view .LVU893
2439 01aa 144A ldr r2, .L159
2440 01ac 9A63 str r2, [r3, #56]
910:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2441 .loc 1 910 7 view .LVU894
910:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2442 .loc 1 910 10 is_stmt 0 view .LVU895
2443 01ae AB6B ldr r3, [r5, #56]
910:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2444 .loc 1 910 22 view .LVU896
2445 01b0 43F00803 orr r3, r3, #8
2446 01b4 AB63 str r3, [r5, #56]
911:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2447 .loc 1 911 7 is_stmt 1 view .LVU897
911:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2448 .loc 1 911 18 is_stmt 0 view .LVU898
2449 01b6 0123 movs r3, #1
2450 01b8 85F83430 strb r3, [r5, #52]
912:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2451 .loc 1 912 7 is_stmt 1 view .LVU899
912:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2452 .loc 1 912 20 is_stmt 0 view .LVU900
2453 01bc 0023 movs r3, #0
2454 01be 2B63 str r3, [r5, #48]
913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2455 .loc 1 913 7 is_stmt 1 view .LVU901
913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2456 .loc 1 913 14 is_stmt 0 view .LVU902
2457 01c0 18E0 b .L134
2458 .L158:
918:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_CRC_FAIL;
2459 .loc 1 918 7 is_stmt 1 view .LVU903
2460 01c2 0E4A ldr r2, .L159
2461 01c4 9A63 str r2, [r3, #56]
919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2462 .loc 1 919 7 view .LVU904
919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2463 .loc 1 919 10 is_stmt 0 view .LVU905
ARM GAS /tmp/ccMMu31U.s page 115
2464 01c6 AB6B ldr r3, [r5, #56]
919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2465 .loc 1 919 22 view .LVU906
2466 01c8 43F00203 orr r3, r3, #2
2467 01cc AB63 str r3, [r5, #56]
920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2468 .loc 1 920 7 is_stmt 1 view .LVU907
920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2469 .loc 1 920 18 is_stmt 0 view .LVU908
2470 01ce 0123 movs r3, #1
2471 01d0 85F83430 strb r3, [r5, #52]
921:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2472 .loc 1 921 7 is_stmt 1 view .LVU909
921:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2473 .loc 1 921 20 is_stmt 0 view .LVU910
2474 01d4 0023 movs r3, #0
2475 01d6 2B63 str r3, [r5, #48]
922:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2476 .loc 1 922 7 is_stmt 1 view .LVU911
922:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2477 .loc 1 922 14 is_stmt 0 view .LVU912
2478 01d8 0CE0 b .L134
2479 .L150:
936:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2480 .loc 1 936 5 is_stmt 1 view .LVU913
939:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2481 .loc 1 939 5 view .LVU914
2482 01da 40F23A52 movw r2, #1338
2483 01de 9A63 str r2, [r3, #56]
941:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2484 .loc 1 941 5 view .LVU915
941:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2485 .loc 1 941 16 is_stmt 0 view .LVU916
2486 01e0 0123 movs r3, #1
2487 01e2 85F83430 strb r3, [r5, #52]
943:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2488 .loc 1 943 5 is_stmt 1 view .LVU917
943:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2489 .loc 1 943 12 is_stmt 0 view .LVU918
2490 01e6 0027 movs r7, #0
2491 01e8 04E0 b .L134
2492 .LVL213:
2493 .L135:
947:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2494 .loc 1 947 5 is_stmt 1 view .LVU919
947:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2495 .loc 1 947 8 is_stmt 0 view .LVU920
2496 01ea AB6B ldr r3, [r5, #56]
947:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2497 .loc 1 947 20 view .LVU921
2498 01ec 43F00053 orr r3, r3, #536870912
2499 01f0 AB63 str r3, [r5, #56]
948:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2500 .loc 1 948 5 is_stmt 1 view .LVU922
948:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2501 .loc 1 948 12 is_stmt 0 view .LVU923
2502 01f2 0127 movs r7, #1
ARM GAS /tmp/ccMMu31U.s page 116
2503 .LVL214:
2504 .L134:
950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2505 .loc 1 950 1 view .LVU924
2506 01f4 3846 mov r0, r7
2507 01f6 0BB0 add sp, sp, #44
2508 .LCFI34:
2509 .cfi_def_cfa_offset 36
2510 @ sp needed
2511 01f8 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
2512 .LVL215:
2513 .L160:
950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2514 .loc 1 950 1 view .LVU925
2515 .align 2
2516 .L159:
2517 01fc FF054000 .word 4195839
2518 .cfi_endproc
2519 .LFE147:
2521 .section .text.HAL_SD_ReadBlocks_IT,"ax",%progbits
2522 .align 1
2523 .global HAL_SD_ReadBlocks_IT
2524 .syntax unified
2525 .thumb
2526 .thumb_func
2528 HAL_SD_ReadBlocks_IT:
2529 .LVL216:
2530 .LFB148:
966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
2531 .loc 1 966 1 is_stmt 1 view -0
2532 .cfi_startproc
2533 @ args = 0, pretend = 0, frame = 24
2534 @ frame_needed = 0, uses_anonymous_args = 0
966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
2535 .loc 1 966 1 is_stmt 0 view .LVU927
2536 0000 F0B5 push {r4, r5, r6, r7, lr}
2537 .LCFI35:
2538 .cfi_def_cfa_offset 20
2539 .cfi_offset 4, -20
2540 .cfi_offset 5, -16
2541 .cfi_offset 6, -12
2542 .cfi_offset 7, -8
2543 .cfi_offset 14, -4
2544 0002 87B0 sub sp, sp, #28
2545 .LCFI36:
2546 .cfi_def_cfa_offset 48
2547 0004 0446 mov r4, r0
967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
2548 .loc 1 967 3 is_stmt 1 view .LVU928
968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t add = BlockAdd;
2549 .loc 1 968 3 view .LVU929
969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2550 .loc 1 969 3 view .LVU930
2551 .LVL217:
971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2552 .loc 1 971 3 view .LVU931
971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
ARM GAS /tmp/ccMMu31U.s page 117
2553 .loc 1 971 5 is_stmt 0 view .LVU932
2554 0006 0029 cmp r1, #0
2555 0008 45D0 beq .L171
2556 000a 1646 mov r6, r2
2557 000c 1F46 mov r7, r3
2558 000e 0A46 mov r2, r1
2559 .LVL218:
977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2560 .loc 1 977 3 is_stmt 1 view .LVU933
977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2561 .loc 1 977 9 is_stmt 0 view .LVU934
2562 0010 90F83450 ldrb r5, [r0, #52] @ zero_extendqisi2
2563 0014 EDB2 uxtb r5, r5
977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2564 .loc 1 977 5 view .LVU935
2565 0016 012D cmp r5, #1
2566 0018 4FD1 bne .L168
979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2567 .loc 1 979 5 is_stmt 1 view .LVU936
979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2568 .loc 1 979 20 is_stmt 0 view .LVU937
2569 001a 0023 movs r3, #0
2570 .LVL219:
979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2571 .loc 1 979 20 view .LVU938
2572 001c 8363 str r3, [r0, #56]
981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2573 .loc 1 981 5 is_stmt 1 view .LVU939
981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2574 .loc 1 981 13 is_stmt 0 view .LVU940
2575 001e F319 adds r3, r6, r7
981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2576 .loc 1 981 45 view .LVU941
2577 0020 C16D ldr r1, [r0, #92]
2578 .LVL220:
981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2579 .loc 1 981 7 view .LVU942
2580 0022 8B42 cmp r3, r1
2581 0024 3DD8 bhi .L172
987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2582 .loc 1 987 5 is_stmt 1 view .LVU943
987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2583 .loc 1 987 16 is_stmt 0 view .LVU944
2584 0026 0323 movs r3, #3
2585 0028 80F83430 strb r3, [r0, #52]
990:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2586 .loc 1 990 5 is_stmt 1 view .LVU945
990:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2587 .loc 1 990 8 is_stmt 0 view .LVU946
2588 002c 0368 ldr r3, [r0]
990:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2589 .loc 1 990 26 view .LVU947
2590 002e 0021 movs r1, #0
2591 0030 D962 str r1, [r3, #44]
992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->RxXferSize = BLOCKSIZE * NumberOfBlocks;
2592 .loc 1 992 5 is_stmt 1 view .LVU948
992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->RxXferSize = BLOCKSIZE * NumberOfBlocks;
ARM GAS /tmp/ccMMu31U.s page 118
2593 .loc 1 992 21 is_stmt 0 view .LVU949
2594 0032 8262 str r2, [r0, #40]
993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2595 .loc 1 993 5 is_stmt 1 view .LVU950
993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2596 .loc 1 993 33 is_stmt 0 view .LVU951
2597 0034 7A02 lsls r2, r7, #9
2598 .LVL221:
993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2599 .loc 1 993 21 view .LVU952
2600 0036 C262 str r2, [r0, #44]
995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2601 .loc 1 995 5 is_stmt 1 view .LVU953
2602 0038 0168 ldr r1, [r0]
2603 003a C86B ldr r0, [r1, #60]
2604 .LVL222:
995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2605 .loc 1 995 5 is_stmt 0 view .LVU954
2606 003c 48F22A13 movw r3, #33066
2607 0040 0343 orrs r3, r3, r0
2608 0042 CB63 str r3, [r1, #60]
2609 .LVL223:
997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2610 .loc 1 997 5 is_stmt 1 view .LVU955
997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2611 .loc 1 997 19 is_stmt 0 view .LVU956
2612 0044 636C ldr r3, [r4, #68]
997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2613 .loc 1 997 7 view .LVU957
2614 0046 012B cmp r3, #1
2615 0048 00D0 beq .L165
999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2616 .loc 1 999 7 is_stmt 1 view .LVU958
999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2617 .loc 1 999 11 is_stmt 0 view .LVU959
2618 004a 7602 lsls r6, r6, #9
2619 .LVL224:
2620 .L165:
1003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks;
2621 .loc 1 1003 5 is_stmt 1 view .LVU960
1003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks;
2622 .loc 1 1003 26 is_stmt 0 view .LVU961
2623 004c 4FF0FF33 mov r3, #-1
2624 0050 0093 str r3, [sp]
1004:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B;
2625 .loc 1 1004 5 is_stmt 1 view .LVU962
1004:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B;
2626 .loc 1 1004 26 is_stmt 0 view .LVU963
2627 0052 0192 str r2, [sp, #4]
1005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC;
2628 .loc 1 1005 5 is_stmt 1 view .LVU964
1005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC;
2629 .loc 1 1005 26 is_stmt 0 view .LVU965
2630 0054 9023 movs r3, #144
2631 0056 0293 str r3, [sp, #8]
1006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
2632 .loc 1 1006 5 is_stmt 1 view .LVU966
ARM GAS /tmp/ccMMu31U.s page 119
1006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
2633 .loc 1 1006 26 is_stmt 0 view .LVU967
2634 0058 0223 movs r3, #2
2635 005a 0393 str r3, [sp, #12]
1007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
2636 .loc 1 1007 5 is_stmt 1 view .LVU968
1007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
2637 .loc 1 1007 26 is_stmt 0 view .LVU969
2638 005c 0023 movs r3, #0
2639 005e 0493 str r3, [sp, #16]
1008:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
2640 .loc 1 1008 5 is_stmt 1 view .LVU970
1008:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
2641 .loc 1 1008 26 is_stmt 0 view .LVU971
2642 0060 0123 movs r3, #1
2643 0062 0593 str r3, [sp, #20]
1009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2644 .loc 1 1009 5 is_stmt 1 view .LVU972
1009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2645 .loc 1 1009 11 is_stmt 0 view .LVU973
2646 0064 6946 mov r1, sp
2647 0066 2068 ldr r0, [r4]
2648 0068 FFF7FEFF bl SDMMC_ConfigData
2649 .LVL225:
1012:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2650 .loc 1 1012 5 is_stmt 1 view .LVU974
1012:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2651 .loc 1 1012 7 is_stmt 0 view .LVU975
2652 006c 012F cmp r7, #1
2653 006e 1DD9 bls .L166
1014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2654 .loc 1 1014 7 is_stmt 1 view .LVU976
1014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2655 .loc 1 1014 20 is_stmt 0 view .LVU977
2656 0070 0A23 movs r3, #10
2657 0072 2363 str r3, [r4, #48]
1017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2658 .loc 1 1017 7 is_stmt 1 view .LVU978
1017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2659 .loc 1 1017 20 is_stmt 0 view .LVU979
2660 0074 3146 mov r1, r6
2661 0076 2068 ldr r0, [r4]
2662 0078 FFF7FEFF bl SDMMC_CmdReadMultiBlock
2663 .LVL226:
2664 .L167:
1026:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2665 .loc 1 1026 5 is_stmt 1 view .LVU980
1026:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2666 .loc 1 1026 7 is_stmt 0 view .LVU981
2667 007c 08B3 cbz r0, .L169
1029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
2668 .loc 1 1029 7 is_stmt 1 view .LVU982
2669 007e 2368 ldr r3, [r4]
2670 0080 114A ldr r2, .L173
2671 0082 9A63 str r2, [r3, #56]
1030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2672 .loc 1 1030 7 view .LVU983
ARM GAS /tmp/ccMMu31U.s page 120
1030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2673 .loc 1 1030 10 is_stmt 0 view .LVU984
2674 0084 A36B ldr r3, [r4, #56]
1030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2675 .loc 1 1030 22 view .LVU985
2676 0086 0343 orrs r3, r3, r0
2677 0088 A363 str r3, [r4, #56]
1031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2678 .loc 1 1031 7 is_stmt 1 view .LVU986
1031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2679 .loc 1 1031 18 is_stmt 0 view .LVU987
2680 008a 0123 movs r3, #1
2681 008c 84F83430 strb r3, [r4, #52]
1032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2682 .loc 1 1032 7 is_stmt 1 view .LVU988
1032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2683 .loc 1 1032 20 is_stmt 0 view .LVU989
2684 0090 0023 movs r3, #0
2685 0092 2363 str r3, [r4, #48]
1033:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2686 .loc 1 1033 7 is_stmt 1 view .LVU990
1033:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2687 .loc 1 1033 14 is_stmt 0 view .LVU991
2688 0094 12E0 b .L163
2689 .LVL227:
2690 .L171:
973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2691 .loc 1 973 5 is_stmt 1 view .LVU992
973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2692 .loc 1 973 8 is_stmt 0 view .LVU993
2693 0096 836B ldr r3, [r0, #56]
2694 .LVL228:
973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2695 .loc 1 973 20 view .LVU994
2696 0098 43F00063 orr r3, r3, #134217728
2697 009c 8363 str r3, [r0, #56]
974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2698 .loc 1 974 5 is_stmt 1 view .LVU995
974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2699 .loc 1 974 12 is_stmt 0 view .LVU996
2700 009e 0125 movs r5, #1
2701 00a0 0CE0 b .L163
2702 .LVL229:
2703 .L172:
983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2704 .loc 1 983 7 is_stmt 1 view .LVU997
983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2705 .loc 1 983 10 is_stmt 0 view .LVU998
2706 00a2 836B ldr r3, [r0, #56]
983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2707 .loc 1 983 22 view .LVU999
2708 00a4 43F00073 orr r3, r3, #33554432
2709 00a8 8363 str r3, [r0, #56]
984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2710 .loc 1 984 7 is_stmt 1 view .LVU1000
984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2711 .loc 1 984 14 is_stmt 0 view .LVU1001
ARM GAS /tmp/ccMMu31U.s page 121
2712 00aa 07E0 b .L163
2713 .LVL230:
2714 .L166:
1021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2715 .loc 1 1021 7 is_stmt 1 view .LVU1002
1021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2716 .loc 1 1021 20 is_stmt 0 view .LVU1003
2717 00ac 0923 movs r3, #9
2718 00ae 2363 str r3, [r4, #48]
1024:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2719 .loc 1 1024 7 is_stmt 1 view .LVU1004
1024:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2720 .loc 1 1024 20 is_stmt 0 view .LVU1005
2721 00b0 3146 mov r1, r6
2722 00b2 2068 ldr r0, [r4]
2723 00b4 FFF7FEFF bl SDMMC_CmdReadSingleBlock
2724 .LVL231:
1024:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2725 .loc 1 1024 20 view .LVU1006
2726 00b8 E0E7 b .L167
2727 .LVL232:
2728 .L168:
1040:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2729 .loc 1 1040 12 view .LVU1007
2730 00ba 0225 movs r5, #2
2731 .LVL233:
2732 .L163:
1042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2733 .loc 1 1042 1 view .LVU1008
2734 00bc 2846 mov r0, r5
2735 00be 07B0 add sp, sp, #28
2736 .LCFI37:
2737 .cfi_remember_state
2738 .cfi_def_cfa_offset 20
2739 @ sp needed
2740 00c0 F0BD pop {r4, r5, r6, r7, pc}
2741 .LVL234:
2742 .L169:
2743 .LCFI38:
2744 .cfi_restore_state
1036:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2745 .loc 1 1036 12 view .LVU1009
2746 00c2 0025 movs r5, #0
2747 00c4 FAE7 b .L163
2748 .L174:
2749 00c6 00BF .align 2
2750 .L173:
2751 00c8 FF054000 .word 4195839
2752 .cfi_endproc
2753 .LFE148:
2755 .section .text.HAL_SD_WriteBlocks_IT,"ax",%progbits
2756 .align 1
2757 .global HAL_SD_WriteBlocks_IT
2758 .syntax unified
2759 .thumb
2760 .thumb_func
2762 HAL_SD_WriteBlocks_IT:
ARM GAS /tmp/ccMMu31U.s page 122
2763 .LVL235:
2764 .LFB149:
1058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
2765 .loc 1 1058 1 is_stmt 1 view -0
2766 .cfi_startproc
2767 @ args = 0, pretend = 0, frame = 24
2768 @ frame_needed = 0, uses_anonymous_args = 0
1058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
2769 .loc 1 1058 1 is_stmt 0 view .LVU1011
2770 0000 F0B5 push {r4, r5, r6, r7, lr}
2771 .LCFI39:
2772 .cfi_def_cfa_offset 20
2773 .cfi_offset 4, -20
2774 .cfi_offset 5, -16
2775 .cfi_offset 6, -12
2776 .cfi_offset 7, -8
2777 .cfi_offset 14, -4
2778 0002 87B0 sub sp, sp, #28
2779 .LCFI40:
2780 .cfi_def_cfa_offset 48
2781 0004 0446 mov r4, r0
1059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
2782 .loc 1 1059 3 is_stmt 1 view .LVU1012
1060:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t add = BlockAdd;
2783 .loc 1 1060 3 view .LVU1013
1061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2784 .loc 1 1061 3 view .LVU1014
2785 .LVL236:
1063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2786 .loc 1 1063 3 view .LVU1015
1063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2787 .loc 1 1063 5 is_stmt 0 view .LVU1016
2788 0006 0029 cmp r1, #0
2789 0008 33D0 beq .L185
2790 000a 0846 mov r0, r1
2791 .LVL237:
1069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2792 .loc 1 1069 3 is_stmt 1 view .LVU1017
1069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2793 .loc 1 1069 9 is_stmt 0 view .LVU1018
2794 000c 94F83450 ldrb r5, [r4, #52] @ zero_extendqisi2
2795 0010 EDB2 uxtb r5, r5
1069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2796 .loc 1 1069 5 view .LVU1019
2797 0012 012D cmp r5, #1
2798 0014 4FD1 bne .L183
1071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2799 .loc 1 1071 5 is_stmt 1 view .LVU1020
1071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2800 .loc 1 1071 20 is_stmt 0 view .LVU1021
2801 0016 0021 movs r1, #0
2802 .LVL238:
1071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2803 .loc 1 1071 20 view .LVU1022
2804 0018 A163 str r1, [r4, #56]
1073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2805 .loc 1 1073 5 is_stmt 1 view .LVU1023
ARM GAS /tmp/ccMMu31U.s page 123
1073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2806 .loc 1 1073 13 is_stmt 0 view .LVU1024
2807 001a D118 adds r1, r2, r3
1073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2808 .loc 1 1073 45 view .LVU1025
2809 001c E66D ldr r6, [r4, #92]
1073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2810 .loc 1 1073 7 view .LVU1026
2811 001e B142 cmp r1, r6
2812 0020 2DD8 bhi .L186
1079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2813 .loc 1 1079 5 is_stmt 1 view .LVU1027
1079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2814 .loc 1 1079 16 is_stmt 0 view .LVU1028
2815 0022 0321 movs r1, #3
2816 0024 84F83410 strb r1, [r4, #52]
1082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2817 .loc 1 1082 5 is_stmt 1 view .LVU1029
1082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2818 .loc 1 1082 8 is_stmt 0 view .LVU1030
2819 0028 2168 ldr r1, [r4]
1082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2820 .loc 1 1082 26 view .LVU1031
2821 002a 0026 movs r6, #0
2822 002c CE62 str r6, [r1, #44]
1084:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->TxXferSize = BLOCKSIZE * NumberOfBlocks;
2823 .loc 1 1084 5 is_stmt 1 view .LVU1032
1084:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->TxXferSize = BLOCKSIZE * NumberOfBlocks;
2824 .loc 1 1084 21 is_stmt 0 view .LVU1033
2825 002e 2062 str r0, [r4, #32]
1085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2826 .loc 1 1085 5 is_stmt 1 view .LVU1034
1085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2827 .loc 1 1085 33 is_stmt 0 view .LVU1035
2828 0030 5E02 lsls r6, r3, #9
1085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2829 .loc 1 1085 21 view .LVU1036
2830 0032 6662 str r6, [r4, #36]
1088:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2831 .loc 1 1088 5 is_stmt 1 view .LVU1037
2832 0034 2068 ldr r0, [r4]
2833 .LVL239:
1088:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2834 .loc 1 1088 5 is_stmt 0 view .LVU1038
2835 0036 C76B ldr r7, [r0, #60]
2836 0038 44F21A11 movw r1, #16666
2837 003c 3943 orrs r1, r1, r7
2838 003e C163 str r1, [r0, #60]
2839 .LVL240:
1090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2840 .loc 1 1090 5 is_stmt 1 view .LVU1039
1090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2841 .loc 1 1090 19 is_stmt 0 view .LVU1040
2842 0040 616C ldr r1, [r4, #68]
1090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2843 .loc 1 1090 7 view .LVU1041
2844 0042 0129 cmp r1, #1
ARM GAS /tmp/ccMMu31U.s page 124
2845 0044 00D0 beq .L179
1092:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2846 .loc 1 1092 7 is_stmt 1 view .LVU1042
1092:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2847 .loc 1 1092 11 is_stmt 0 view .LVU1043
2848 0046 5202 lsls r2, r2, #9
2849 .LVL241:
2850 .L179:
1096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2851 .loc 1 1096 5 is_stmt 1 view .LVU1044
1096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2852 .loc 1 1096 7 is_stmt 0 view .LVU1045
2853 0048 012B cmp r3, #1
2854 004a 1DD9 bls .L180
1098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2855 .loc 1 1098 7 is_stmt 1 view .LVU1046
1098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2856 .loc 1 1098 20 is_stmt 0 view .LVU1047
2857 004c 2823 movs r3, #40
2858 .LVL242:
1098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2859 .loc 1 1098 20 view .LVU1048
2860 004e 2363 str r3, [r4, #48]
1101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2861 .loc 1 1101 7 is_stmt 1 view .LVU1049
1101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2862 .loc 1 1101 20 is_stmt 0 view .LVU1050
2863 0050 1146 mov r1, r2
2864 0052 2068 ldr r0, [r4]
2865 0054 FFF7FEFF bl SDMMC_CmdWriteMultiBlock
2866 .LVL243:
2867 .L181:
1110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2868 .loc 1 1110 5 is_stmt 1 view .LVU1051
1110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
2869 .loc 1 1110 7 is_stmt 0 view .LVU1052
2870 0058 E8B1 cbz r0, .L182
1113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
2871 .loc 1 1113 7 is_stmt 1 view .LVU1053
2872 005a 2368 ldr r3, [r4]
2873 005c 184A ldr r2, .L187
2874 005e 9A63 str r2, [r3, #56]
1114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2875 .loc 1 1114 7 view .LVU1054
1114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2876 .loc 1 1114 10 is_stmt 0 view .LVU1055
2877 0060 A36B ldr r3, [r4, #56]
1114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
2878 .loc 1 1114 22 view .LVU1056
2879 0062 0343 orrs r3, r3, r0
2880 0064 A363 str r3, [r4, #56]
1115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2881 .loc 1 1115 7 is_stmt 1 view .LVU1057
1115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
2882 .loc 1 1115 18 is_stmt 0 view .LVU1058
2883 0066 0123 movs r3, #1
2884 0068 84F83430 strb r3, [r4, #52]
ARM GAS /tmp/ccMMu31U.s page 125
1116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2885 .loc 1 1116 7 is_stmt 1 view .LVU1059
1116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2886 .loc 1 1116 20 is_stmt 0 view .LVU1060
2887 006c 0023 movs r3, #0
2888 006e 2363 str r3, [r4, #48]
1117:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2889 .loc 1 1117 7 is_stmt 1 view .LVU1061
1117:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2890 .loc 1 1117 14 is_stmt 0 view .LVU1062
2891 0070 22E0 b .L177
2892 .LVL244:
2893 .L185:
1065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2894 .loc 1 1065 5 is_stmt 1 view .LVU1063
1065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2895 .loc 1 1065 8 is_stmt 0 view .LVU1064
2896 0072 836B ldr r3, [r0, #56]
2897 .LVL245:
1065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2898 .loc 1 1065 20 view .LVU1065
2899 0074 43F00063 orr r3, r3, #134217728
2900 0078 8363 str r3, [r0, #56]
1066:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2901 .loc 1 1066 5 is_stmt 1 view .LVU1066
1066:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2902 .loc 1 1066 12 is_stmt 0 view .LVU1067
2903 007a 0125 movs r5, #1
2904 007c 1CE0 b .L177
2905 .LVL246:
2906 .L186:
1075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2907 .loc 1 1075 7 is_stmt 1 view .LVU1068
1075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2908 .loc 1 1075 10 is_stmt 0 view .LVU1069
2909 007e A36B ldr r3, [r4, #56]
2910 .LVL247:
1075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
2911 .loc 1 1075 22 view .LVU1070
2912 0080 43F00073 orr r3, r3, #33554432
2913 0084 A363 str r3, [r4, #56]
1076:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2914 .loc 1 1076 7 is_stmt 1 view .LVU1071
1076:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2915 .loc 1 1076 14 is_stmt 0 view .LVU1072
2916 0086 17E0 b .L177
2917 .LVL248:
2918 .L180:
1105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2919 .loc 1 1105 7 is_stmt 1 view .LVU1073
1105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2920 .loc 1 1105 20 is_stmt 0 view .LVU1074
2921 0088 1823 movs r3, #24
2922 .LVL249:
1105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2923 .loc 1 1105 20 view .LVU1075
2924 008a 2363 str r3, [r4, #48]
ARM GAS /tmp/ccMMu31U.s page 126
1108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2925 .loc 1 1108 7 is_stmt 1 view .LVU1076
1108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2926 .loc 1 1108 20 is_stmt 0 view .LVU1077
2927 008c 1146 mov r1, r2
2928 008e 2068 ldr r0, [r4]
2929 0090 FFF7FEFF bl SDMMC_CmdWriteSingleBlock
2930 .LVL250:
1108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2931 .loc 1 1108 20 view .LVU1078
2932 0094 E0E7 b .L181
2933 .L182:
1121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks;
2934 .loc 1 1121 5 is_stmt 1 view .LVU1079
1121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks;
2935 .loc 1 1121 26 is_stmt 0 view .LVU1080
2936 0096 4FF0FF33 mov r3, #-1
2937 009a 0093 str r3, [sp]
1122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B;
2938 .loc 1 1122 5 is_stmt 1 view .LVU1081
1122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B;
2939 .loc 1 1122 26 is_stmt 0 view .LVU1082
2940 009c 0196 str r6, [sp, #4]
1123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD;
2941 .loc 1 1123 5 is_stmt 1 view .LVU1083
1123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD;
2942 .loc 1 1123 26 is_stmt 0 view .LVU1084
2943 009e 9023 movs r3, #144
2944 00a0 0293 str r3, [sp, #8]
1124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
2945 .loc 1 1124 5 is_stmt 1 view .LVU1085
1124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
2946 .loc 1 1124 26 is_stmt 0 view .LVU1086
2947 00a2 0025 movs r5, #0
2948 00a4 0395 str r5, [sp, #12]
1125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
2949 .loc 1 1125 5 is_stmt 1 view .LVU1087
1125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
2950 .loc 1 1125 26 is_stmt 0 view .LVU1088
2951 00a6 0495 str r5, [sp, #16]
1126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
2952 .loc 1 1126 5 is_stmt 1 view .LVU1089
1126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
2953 .loc 1 1126 26 is_stmt 0 view .LVU1090
2954 00a8 0123 movs r3, #1
2955 00aa 0593 str r3, [sp, #20]
1127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2956 .loc 1 1127 5 is_stmt 1 view .LVU1091
1127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2957 .loc 1 1127 11 is_stmt 0 view .LVU1092
2958 00ac 6946 mov r1, sp
2959 00ae 2068 ldr r0, [r4]
2960 .LVL251:
1127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2961 .loc 1 1127 11 view .LVU1093
2962 00b0 FFF7FEFF bl SDMMC_ConfigData
2963 .LVL252:
ARM GAS /tmp/ccMMu31U.s page 127
1129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2964 .loc 1 1129 5 is_stmt 1 view .LVU1094
1129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2965 .loc 1 1129 12 is_stmt 0 view .LVU1095
2966 00b4 00E0 b .L177
2967 .LVL253:
2968 .L183:
1133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
2969 .loc 1 1133 12 view .LVU1096
2970 00b6 0225 movs r5, #2
2971 .LVL254:
2972 .L177:
1135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2973 .loc 1 1135 1 view .LVU1097
2974 00b8 2846 mov r0, r5
2975 00ba 07B0 add sp, sp, #28
2976 .LCFI41:
2977 .cfi_def_cfa_offset 20
2978 @ sp needed
2979 00bc F0BD pop {r4, r5, r6, r7, pc}
2980 .LVL255:
2981 .L188:
1135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
2982 .loc 1 1135 1 view .LVU1098
2983 00be 00BF .align 2
2984 .L187:
2985 00c0 FF054000 .word 4195839
2986 .cfi_endproc
2987 .LFE149:
2989 .section .text.HAL_SD_ReadBlocks_DMA,"ax",%progbits
2990 .align 1
2991 .global HAL_SD_ReadBlocks_DMA
2992 .syntax unified
2993 .thumb
2994 .thumb_func
2996 HAL_SD_ReadBlocks_DMA:
2997 .LVL256:
2998 .LFB150:
1151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
2999 .loc 1 1151 1 is_stmt 1 view -0
3000 .cfi_startproc
3001 @ args = 0, pretend = 0, frame = 24
3002 @ frame_needed = 0, uses_anonymous_args = 0
1151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
3003 .loc 1 1151 1 is_stmt 0 view .LVU1100
3004 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
3005 .LCFI42:
3006 .cfi_def_cfa_offset 28
3007 .cfi_offset 4, -28
3008 .cfi_offset 5, -24
3009 .cfi_offset 6, -20
3010 .cfi_offset 7, -16
3011 .cfi_offset 8, -12
3012 .cfi_offset 9, -8
3013 .cfi_offset 14, -4
3014 0004 87B0 sub sp, sp, #28
3015 .LCFI43:
ARM GAS /tmp/ccMMu31U.s page 128
3016 .cfi_def_cfa_offset 56
3017 0006 0446 mov r4, r0
1152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
3018 .loc 1 1152 3 is_stmt 1 view .LVU1101
1153:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t add = BlockAdd;
3019 .loc 1 1153 3 view .LVU1102
1154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3020 .loc 1 1154 3 view .LVU1103
3021 .LVL257:
1156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3022 .loc 1 1156 3 view .LVU1104
1156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3023 .loc 1 1156 5 is_stmt 0 view .LVU1105
3024 0008 91B1 cbz r1, .L200
3025 000a 1646 mov r6, r2
3026 000c 1F46 mov r7, r3
3027 000e 0A46 mov r2, r1
3028 .LVL258:
1162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3029 .loc 1 1162 3 is_stmt 1 view .LVU1106
1162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3030 .loc 1 1162 9 is_stmt 0 view .LVU1107
3031 0010 90F83450 ldrb r5, [r0, #52] @ zero_extendqisi2
3032 0014 EDB2 uxtb r5, r5
1162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3033 .loc 1 1162 5 view .LVU1108
3034 0016 012D cmp r5, #1
3035 0018 7FD1 bne .L197
1164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3036 .loc 1 1164 5 is_stmt 1 view .LVU1109
1164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3037 .loc 1 1164 20 is_stmt 0 view .LVU1110
3038 001a 0023 movs r3, #0
3039 .LVL259:
1164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3040 .loc 1 1164 20 view .LVU1111
3041 001c 8363 str r3, [r0, #56]
1166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3042 .loc 1 1166 5 is_stmt 1 view .LVU1112
1166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3043 .loc 1 1166 13 is_stmt 0 view .LVU1113
3044 001e F019 adds r0, r6, r7
3045 .LVL260:
1166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3046 .loc 1 1166 45 view .LVU1114
3047 0020 E36D ldr r3, [r4, #92]
1166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3048 .loc 1 1166 7 view .LVU1115
3049 0022 9842 cmp r0, r3
3050 0024 0AD9 bls .L192
1168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3051 .loc 1 1168 7 is_stmt 1 view .LVU1116
1168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3052 .loc 1 1168 10 is_stmt 0 view .LVU1117
3053 0026 A36B ldr r3, [r4, #56]
1168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3054 .loc 1 1168 22 view .LVU1118
ARM GAS /tmp/ccMMu31U.s page 129
3055 0028 43F00073 orr r3, r3, #33554432
3056 002c A363 str r3, [r4, #56]
1169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3057 .loc 1 1169 7 is_stmt 1 view .LVU1119
1169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3058 .loc 1 1169 14 is_stmt 0 view .LVU1120
3059 002e 75E0 b .L191
3060 .LVL261:
3061 .L200:
1158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3062 .loc 1 1158 5 is_stmt 1 view .LVU1121
1158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3063 .loc 1 1158 8 is_stmt 0 view .LVU1122
3064 0030 836B ldr r3, [r0, #56]
3065 .LVL262:
1158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3066 .loc 1 1158 20 view .LVU1123
3067 0032 43F00063 orr r3, r3, #134217728
3068 0036 8363 str r3, [r0, #56]
1159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3069 .loc 1 1159 5 is_stmt 1 view .LVU1124
1159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3070 .loc 1 1159 12 is_stmt 0 view .LVU1125
3071 0038 0125 movs r5, #1
3072 003a 6FE0 b .L191
3073 .LVL263:
3074 .L192:
1172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3075 .loc 1 1172 5 is_stmt 1 view .LVU1126
1172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3076 .loc 1 1172 16 is_stmt 0 view .LVU1127
3077 003c 0323 movs r3, #3
3078 003e 84F83430 strb r3, [r4, #52]
1175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3079 .loc 1 1175 5 is_stmt 1 view .LVU1128
1175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3080 .loc 1 1175 8 is_stmt 0 view .LVU1129
3081 0042 2168 ldr r1, [r4]
3082 .LVL264:
1175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3083 .loc 1 1175 26 view .LVU1130
3084 0044 0023 movs r3, #0
3085 0046 CB62 str r3, [r1, #44]
1177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3086 .loc 1 1177 5 is_stmt 1 view .LVU1131
3087 0048 2068 ldr r0, [r4]
3088 004a C16B ldr r1, [r0, #60]
3089 004c 41F49571 orr r1, r1, #298
3090 0050 C163 str r1, [r0, #60]
1180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3091 .loc 1 1180 5 view .LVU1132
1180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3092 .loc 1 1180 8 is_stmt 0 view .LVU1133
3093 0052 216C ldr r1, [r4, #64]
1180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3094 .loc 1 1180 35 view .LVU1134
3095 0054 3448 ldr r0, .L202
ARM GAS /tmp/ccMMu31U.s page 130
3096 0056 C863 str r0, [r1, #60]
1183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3097 .loc 1 1183 5 is_stmt 1 view .LVU1135
1183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3098 .loc 1 1183 8 is_stmt 0 view .LVU1136
3099 0058 216C ldr r1, [r4, #64]
1183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3100 .loc 1 1183 36 view .LVU1137
3101 005a 3448 ldr r0, .L202+4
3102 005c C864 str r0, [r1, #76]
1186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3103 .loc 1 1186 5 is_stmt 1 view .LVU1138
1186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3104 .loc 1 1186 8 is_stmt 0 view .LVU1139
3105 005e 216C ldr r1, [r4, #64]
1186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3106 .loc 1 1186 36 view .LVU1140
3107 0060 0B65 str r3, [r1, #80]
1189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** MODIFY_REG(hsd->hdmarx->Instance->CR, DMA_SxCR_DIR, hsd->hdmarx->Init.Direction);
3108 .loc 1 1189 5 is_stmt 1 view .LVU1141
1189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** MODIFY_REG(hsd->hdmarx->Instance->CR, DMA_SxCR_DIR, hsd->hdmarx->Init.Direction);
3109 .loc 1 1189 8 is_stmt 0 view .LVU1142
3110 0062 216C ldr r1, [r4, #64]
1189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** MODIFY_REG(hsd->hdmarx->Instance->CR, DMA_SxCR_DIR, hsd->hdmarx->Init.Direction);
3111 .loc 1 1189 33 view .LVU1143
3112 0064 8B60 str r3, [r1, #8]
1190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3113 .loc 1 1190 5 is_stmt 1 view .LVU1144
3114 0066 206C ldr r0, [r4, #64]
3115 0068 0168 ldr r1, [r0]
3116 006a 0B68 ldr r3, [r1]
3117 006c 23F0C003 bic r3, r3, #192
3118 0070 8068 ldr r0, [r0, #8]
3119 0072 0343 orrs r3, r3, r0
3120 0074 0B60 str r3, [r1]
1193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3121 .loc 1 1193 5 view .LVU1145
1193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3122 .loc 1 1193 52 is_stmt 0 view .LVU1146
3123 0076 2168 ldr r1, [r4]
1193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3124 .loc 1 1193 87 view .LVU1147
3125 0078 4FEA4729 lsl r9, r7, #9
1193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3126 .loc 1 1193 8 view .LVU1148
3127 007c 4FEA9903 lsr r3, r9, #2
3128 0080 8031 adds r1, r1, #128
3129 0082 206C ldr r0, [r4, #64]
3130 0084 FFF7FEFF bl HAL_DMA_Start_IT
3131 .LVL265:
1193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3132 .loc 1 1193 7 discriminator 1 view .LVU1149
3133 0088 8046 mov r8, r0
3134 008a 0028 cmp r0, #0
3135 008c 2ED1 bne .L201
1204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3136 .loc 1 1204 7 is_stmt 1 view .LVU1150
ARM GAS /tmp/ccMMu31U.s page 131
3137 008e 2268 ldr r2, [r4]
3138 0090 D36A ldr r3, [r2, #44]
3139 0092 43F00803 orr r3, r3, #8
3140 0096 D362 str r3, [r2, #44]
1206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3141 .loc 1 1206 7 view .LVU1151
1206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3142 .loc 1 1206 21 is_stmt 0 view .LVU1152
3143 0098 636C ldr r3, [r4, #68]
1206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3144 .loc 1 1206 9 view .LVU1153
3145 009a 012B cmp r3, #1
3146 009c 00D0 beq .L194
1208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3147 .loc 1 1208 9 is_stmt 1 view .LVU1154
1208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3148 .loc 1 1208 13 is_stmt 0 view .LVU1155
3149 009e 7602 lsls r6, r6, #9
3150 .LVL266:
3151 .L194:
1212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks;
3152 .loc 1 1212 7 is_stmt 1 view .LVU1156
1212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks;
3153 .loc 1 1212 28 is_stmt 0 view .LVU1157
3154 00a0 4FF0FF33 mov r3, #-1
3155 00a4 0093 str r3, [sp]
1213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B;
3156 .loc 1 1213 7 is_stmt 1 view .LVU1158
1213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B;
3157 .loc 1 1213 28 is_stmt 0 view .LVU1159
3158 00a6 CDF80490 str r9, [sp, #4]
1214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC;
3159 .loc 1 1214 7 is_stmt 1 view .LVU1160
1214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC;
3160 .loc 1 1214 28 is_stmt 0 view .LVU1161
3161 00aa 9023 movs r3, #144
3162 00ac 0293 str r3, [sp, #8]
1215:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
3163 .loc 1 1215 7 is_stmt 1 view .LVU1162
1215:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
3164 .loc 1 1215 28 is_stmt 0 view .LVU1163
3165 00ae 0223 movs r3, #2
3166 00b0 0393 str r3, [sp, #12]
1216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
3167 .loc 1 1216 7 is_stmt 1 view .LVU1164
1216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
3168 .loc 1 1216 28 is_stmt 0 view .LVU1165
3169 00b2 0023 movs r3, #0
3170 00b4 0493 str r3, [sp, #16]
1217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
3171 .loc 1 1217 7 is_stmt 1 view .LVU1166
1217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
3172 .loc 1 1217 28 is_stmt 0 view .LVU1167
3173 00b6 0123 movs r3, #1
3174 00b8 0593 str r3, [sp, #20]
1218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3175 .loc 1 1218 7 is_stmt 1 view .LVU1168
ARM GAS /tmp/ccMMu31U.s page 132
1218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3176 .loc 1 1218 13 is_stmt 0 view .LVU1169
3177 00ba 6946 mov r1, sp
3178 00bc 2068 ldr r0, [r4]
3179 00be FFF7FEFF bl SDMMC_ConfigData
3180 .LVL267:
1221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3181 .loc 1 1221 7 is_stmt 1 view .LVU1170
1221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3182 .loc 1 1221 9 is_stmt 0 view .LVU1171
3183 00c2 012F cmp r7, #1
3184 00c4 22D9 bls .L195
1223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3185 .loc 1 1223 9 is_stmt 1 view .LVU1172
1223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3186 .loc 1 1223 22 is_stmt 0 view .LVU1173
3187 00c6 8223 movs r3, #130
3188 00c8 2363 str r3, [r4, #48]
1226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3189 .loc 1 1226 9 is_stmt 1 view .LVU1174
1226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3190 .loc 1 1226 22 is_stmt 0 view .LVU1175
3191 00ca 3146 mov r1, r6
3192 00cc 2068 ldr r0, [r4]
3193 00ce FFF7FEFF bl SDMMC_CmdReadMultiBlock
3194 .LVL268:
3195 .L196:
1235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3196 .loc 1 1235 7 is_stmt 1 view .LVU1176
1235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3197 .loc 1 1235 9 is_stmt 0 view .LVU1177
3198 00d2 38B3 cbz r0, .L198
1238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
3199 .loc 1 1238 9 is_stmt 1 view .LVU1178
3200 00d4 2368 ldr r3, [r4]
3201 00d6 164A ldr r2, .L202+8
3202 00d8 9A63 str r2, [r3, #56]
1239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3203 .loc 1 1239 9 view .LVU1179
1239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3204 .loc 1 1239 12 is_stmt 0 view .LVU1180
3205 00da A36B ldr r3, [r4, #56]
1239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3206 .loc 1 1239 24 view .LVU1181
3207 00dc 0343 orrs r3, r3, r0
3208 00de A363 str r3, [r4, #56]
1240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
3209 .loc 1 1240 9 is_stmt 1 view .LVU1182
1240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
3210 .loc 1 1240 20 is_stmt 0 view .LVU1183
3211 00e0 0123 movs r3, #1
3212 00e2 84F83430 strb r3, [r4, #52]
1241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3213 .loc 1 1241 9 is_stmt 1 view .LVU1184
1241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3214 .loc 1 1241 22 is_stmt 0 view .LVU1185
3215 00e6 0023 movs r3, #0
ARM GAS /tmp/ccMMu31U.s page 133
3216 00e8 2363 str r3, [r4, #48]
1242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3217 .loc 1 1242 9 is_stmt 1 view .LVU1186
1242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3218 .loc 1 1242 16 is_stmt 0 view .LVU1187
3219 00ea 17E0 b .L191
3220 .LVL269:
3221 .L201:
1195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
3222 .loc 1 1195 7 is_stmt 1 view .LVU1188
3223 00ec 2268 ldr r2, [r4]
3224 00ee D36B ldr r3, [r2, #60]
3225 00f0 23F49573 bic r3, r3, #298
3226 00f4 D363 str r3, [r2, #60]
1196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DMA;
3227 .loc 1 1196 7 view .LVU1189
3228 00f6 2368 ldr r3, [r4]
3229 00f8 0D4A ldr r2, .L202+8
3230 00fa 9A63 str r2, [r3, #56]
1197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3231 .loc 1 1197 7 view .LVU1190
1197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3232 .loc 1 1197 10 is_stmt 0 view .LVU1191
3233 00fc A36B ldr r3, [r4, #56]
1197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3234 .loc 1 1197 22 view .LVU1192
3235 00fe 43F08043 orr r3, r3, #1073741824
3236 0102 A363 str r3, [r4, #56]
1198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3237 .loc 1 1198 7 is_stmt 1 view .LVU1193
1198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3238 .loc 1 1198 18 is_stmt 0 view .LVU1194
3239 0104 0123 movs r3, #1
3240 0106 84F83430 strb r3, [r4, #52]
1199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3241 .loc 1 1199 7 is_stmt 1 view .LVU1195
1199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3242 .loc 1 1199 14 is_stmt 0 view .LVU1196
3243 010a 07E0 b .L191
3244 .LVL270:
3245 .L195:
1230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3246 .loc 1 1230 9 is_stmt 1 view .LVU1197
1230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3247 .loc 1 1230 22 is_stmt 0 view .LVU1198
3248 010c 8123 movs r3, #129
3249 010e 2363 str r3, [r4, #48]
1233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3250 .loc 1 1233 9 is_stmt 1 view .LVU1199
1233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3251 .loc 1 1233 22 is_stmt 0 view .LVU1200
3252 0110 3146 mov r1, r6
3253 0112 2068 ldr r0, [r4]
3254 0114 FFF7FEFF bl SDMMC_CmdReadSingleBlock
3255 .LVL271:
1233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3256 .loc 1 1233 22 view .LVU1201
ARM GAS /tmp/ccMMu31U.s page 134
3257 0118 DBE7 b .L196
3258 .LVL272:
3259 .L197:
1250:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3260 .loc 1 1250 12 view .LVU1202
3261 011a 0225 movs r5, #2
3262 .LVL273:
3263 .L191:
1252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3264 .loc 1 1252 1 view .LVU1203
3265 011c 2846 mov r0, r5
3266 011e 07B0 add sp, sp, #28
3267 .LCFI44:
3268 .cfi_remember_state
3269 .cfi_def_cfa_offset 28
3270 @ sp needed
3271 0120 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
3272 .LVL274:
3273 .L198:
3274 .LCFI45:
3275 .cfi_restore_state
1245:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3276 .loc 1 1245 14 view .LVU1204
3277 0124 4546 mov r5, r8
3278 0126 F9E7 b .L191
3279 .L203:
3280 .align 2
3281 .L202:
3282 0128 00000000 .word SD_DMAReceiveCplt
3283 012c 00000000 .word SD_DMAError
3284 0130 FF054000 .word 4195839
3285 .cfi_endproc
3286 .LFE150:
3288 .section .text.HAL_SD_WriteBlocks_DMA,"ax",%progbits
3289 .align 1
3290 .global HAL_SD_WriteBlocks_DMA
3291 .syntax unified
3292 .thumb
3293 .thumb_func
3295 HAL_SD_WriteBlocks_DMA:
3296 .LVL275:
3297 .LFB151:
1268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
3298 .loc 1 1268 1 is_stmt 1 view -0
3299 .cfi_startproc
3300 @ args = 0, pretend = 0, frame = 24
3301 @ frame_needed = 0, uses_anonymous_args = 0
1268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config;
3302 .loc 1 1268 1 is_stmt 0 view .LVU1206
3303 0000 F0B5 push {r4, r5, r6, r7, lr}
3304 .LCFI46:
3305 .cfi_def_cfa_offset 20
3306 .cfi_offset 4, -20
3307 .cfi_offset 5, -16
3308 .cfi_offset 6, -12
3309 .cfi_offset 7, -8
3310 .cfi_offset 14, -4
ARM GAS /tmp/ccMMu31U.s page 135
3311 0002 87B0 sub sp, sp, #28
3312 .LCFI47:
3313 .cfi_def_cfa_offset 48
3314 0004 0446 mov r4, r0
1269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
3315 .loc 1 1269 3 is_stmt 1 view .LVU1207
1270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t add = BlockAdd;
3316 .loc 1 1270 3 view .LVU1208
1271:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3317 .loc 1 1271 3 view .LVU1209
3318 .LVL276:
1273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3319 .loc 1 1273 3 view .LVU1210
1273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3320 .loc 1 1273 5 is_stmt 0 view .LVU1211
3321 0006 0029 cmp r1, #0
3322 0008 39D0 beq .L215
3323 000a 1E46 mov r6, r3
3324 000c 0F46 mov r7, r1
1279:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3325 .loc 1 1279 3 is_stmt 1 view .LVU1212
1279:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3326 .loc 1 1279 9 is_stmt 0 view .LVU1213
3327 000e 90F83450 ldrb r5, [r0, #52] @ zero_extendqisi2
3328 0012 EDB2 uxtb r5, r5
1279:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3329 .loc 1 1279 5 view .LVU1214
3330 0014 012D cmp r5, #1
3331 0016 40F08180 bne .L213
1281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3332 .loc 1 1281 5 is_stmt 1 view .LVU1215
1281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3333 .loc 1 1281 20 is_stmt 0 view .LVU1216
3334 001a 0023 movs r3, #0
3335 .LVL277:
1281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3336 .loc 1 1281 20 view .LVU1217
3337 001c 8363 str r3, [r0, #56]
1283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3338 .loc 1 1283 5 is_stmt 1 view .LVU1218
1283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3339 .loc 1 1283 13 is_stmt 0 view .LVU1219
3340 001e 9319 adds r3, r2, r6
1283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3341 .loc 1 1283 45 view .LVU1220
3342 0020 C16D ldr r1, [r0, #92]
3343 .LVL278:
1283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3344 .loc 1 1283 7 view .LVU1221
3345 0022 8B42 cmp r3, r1
3346 0024 31D8 bhi .L216
1289:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3347 .loc 1 1289 5 is_stmt 1 view .LVU1222
1289:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3348 .loc 1 1289 16 is_stmt 0 view .LVU1223
3349 0026 0323 movs r3, #3
3350 0028 80F83430 strb r3, [r0, #52]
ARM GAS /tmp/ccMMu31U.s page 136
1292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3351 .loc 1 1292 5 is_stmt 1 view .LVU1224
1292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3352 .loc 1 1292 8 is_stmt 0 view .LVU1225
3353 002c 0368 ldr r3, [r0]
1292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3354 .loc 1 1292 26 view .LVU1226
3355 002e 0021 movs r1, #0
3356 0030 D962 str r1, [r3, #44]
1295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3357 .loc 1 1295 5 is_stmt 1 view .LVU1227
3358 0032 0068 ldr r0, [r0]
3359 .LVL279:
1295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3360 .loc 1 1295 5 is_stmt 0 view .LVU1228
3361 0034 C36B ldr r3, [r0, #60]
3362 0036 43F01A03 orr r3, r3, #26
3363 003a C363 str r3, [r0, #60]
1298:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3364 .loc 1 1298 5 is_stmt 1 view .LVU1229
1298:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3365 .loc 1 1298 8 is_stmt 0 view .LVU1230
3366 003c E36B ldr r3, [r4, #60]
1298:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3367 .loc 1 1298 35 view .LVU1231
3368 003e 3948 ldr r0, .L217
3369 0040 D863 str r0, [r3, #60]
1301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3370 .loc 1 1301 5 is_stmt 1 view .LVU1232
1301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3371 .loc 1 1301 8 is_stmt 0 view .LVU1233
3372 0042 E36B ldr r3, [r4, #60]
1301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3373 .loc 1 1301 36 view .LVU1234
3374 0044 3848 ldr r0, .L217+4
3375 0046 D864 str r0, [r3, #76]
1304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3376 .loc 1 1304 5 is_stmt 1 view .LVU1235
1304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3377 .loc 1 1304 8 is_stmt 0 view .LVU1236
3378 0048 E36B ldr r3, [r4, #60]
1304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3379 .loc 1 1304 36 view .LVU1237
3380 004a 1965 str r1, [r3, #80]
1306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3381 .loc 1 1306 5 is_stmt 1 view .LVU1238
1306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3382 .loc 1 1306 19 is_stmt 0 view .LVU1239
3383 004c 636C ldr r3, [r4, #68]
1306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3384 .loc 1 1306 7 view .LVU1240
3385 004e 012B cmp r3, #1
3386 0050 00D0 beq .L208
1308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3387 .loc 1 1308 7 is_stmt 1 view .LVU1241
1308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3388 .loc 1 1308 11 is_stmt 0 view .LVU1242
ARM GAS /tmp/ccMMu31U.s page 137
3389 0052 5202 lsls r2, r2, #9
3390 .LVL280:
3391 .L208:
1312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3392 .loc 1 1312 5 is_stmt 1 view .LVU1243
1312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3393 .loc 1 1312 7 is_stmt 0 view .LVU1244
3394 0054 012E cmp r6, #1
3395 0056 1DD9 bls .L209
1314:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3396 .loc 1 1314 7 is_stmt 1 view .LVU1245
1314:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3397 .loc 1 1314 20 is_stmt 0 view .LVU1246
3398 0058 A023 movs r3, #160
3399 005a 2363 str r3, [r4, #48]
1317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3400 .loc 1 1317 7 is_stmt 1 view .LVU1247
1317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3401 .loc 1 1317 20 is_stmt 0 view .LVU1248
3402 005c 1146 mov r1, r2
3403 005e 2068 ldr r0, [r4]
3404 0060 FFF7FEFF bl SDMMC_CmdWriteMultiBlock
3405 .LVL281:
3406 .L210:
1326:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3407 .loc 1 1326 5 is_stmt 1 view .LVU1249
1326:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3408 .loc 1 1326 7 is_stmt 0 view .LVU1250
3409 0064 E8B1 cbz r0, .L211
1329:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
3410 .loc 1 1329 7 is_stmt 1 view .LVU1251
3411 0066 2368 ldr r3, [r4]
3412 0068 304A ldr r2, .L217+8
3413 006a 9A63 str r2, [r3, #56]
1330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3414 .loc 1 1330 7 view .LVU1252
1330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3415 .loc 1 1330 10 is_stmt 0 view .LVU1253
3416 006c A36B ldr r3, [r4, #56]
1330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3417 .loc 1 1330 22 view .LVU1254
3418 006e 0343 orrs r3, r3, r0
3419 0070 A363 str r3, [r4, #56]
1331:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
3420 .loc 1 1331 7 is_stmt 1 view .LVU1255
1331:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
3421 .loc 1 1331 18 is_stmt 0 view .LVU1256
3422 0072 0123 movs r3, #1
3423 0074 84F83430 strb r3, [r4, #52]
1332:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3424 .loc 1 1332 7 is_stmt 1 view .LVU1257
1332:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3425 .loc 1 1332 20 is_stmt 0 view .LVU1258
3426 0078 0023 movs r3, #0
3427 007a 2363 str r3, [r4, #48]
1333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3428 .loc 1 1333 7 is_stmt 1 view .LVU1259
ARM GAS /tmp/ccMMu31U.s page 138
1333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3429 .loc 1 1333 14 is_stmt 0 view .LVU1260
3430 007c 4FE0 b .L206
3431 .LVL282:
3432 .L215:
1275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3433 .loc 1 1275 5 is_stmt 1 view .LVU1261
1275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3434 .loc 1 1275 8 is_stmt 0 view .LVU1262
3435 007e 836B ldr r3, [r0, #56]
3436 .LVL283:
1275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3437 .loc 1 1275 20 view .LVU1263
3438 0080 43F00063 orr r3, r3, #134217728
3439 0084 8363 str r3, [r0, #56]
1276:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3440 .loc 1 1276 5 is_stmt 1 view .LVU1264
1276:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3441 .loc 1 1276 12 is_stmt 0 view .LVU1265
3442 0086 0125 movs r5, #1
3443 0088 49E0 b .L206
3444 .LVL284:
3445 .L216:
1285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3446 .loc 1 1285 7 is_stmt 1 view .LVU1266
1285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3447 .loc 1 1285 10 is_stmt 0 view .LVU1267
3448 008a 836B ldr r3, [r0, #56]
1285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3449 .loc 1 1285 22 view .LVU1268
3450 008c 43F00073 orr r3, r3, #33554432
3451 0090 8363 str r3, [r0, #56]
1286:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3452 .loc 1 1286 7 is_stmt 1 view .LVU1269
1286:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3453 .loc 1 1286 14 is_stmt 0 view .LVU1270
3454 0092 44E0 b .L206
3455 .LVL285:
3456 .L209:
1321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3457 .loc 1 1321 7 is_stmt 1 view .LVU1271
1321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3458 .loc 1 1321 20 is_stmt 0 view .LVU1272
3459 0094 9023 movs r3, #144
3460 0096 2363 str r3, [r4, #48]
1324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3461 .loc 1 1324 7 is_stmt 1 view .LVU1273
1324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3462 .loc 1 1324 20 is_stmt 0 view .LVU1274
3463 0098 1146 mov r1, r2
3464 009a 2068 ldr r0, [r4]
3465 009c FFF7FEFF bl SDMMC_CmdWriteSingleBlock
3466 .LVL286:
1324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3467 .loc 1 1324 20 view .LVU1275
3468 00a0 E0E7 b .L210
3469 .L211:
ARM GAS /tmp/ccMMu31U.s page 139
1337:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3470 .loc 1 1337 5 is_stmt 1 view .LVU1276
3471 00a2 2268 ldr r2, [r4]
3472 00a4 D36A ldr r3, [r2, #44]
3473 00a6 43F00803 orr r3, r3, #8
3474 00aa D362 str r3, [r2, #44]
1340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** MODIFY_REG(hsd->hdmatx->Instance->CR, DMA_SxCR_DIR, hsd->hdmatx->Init.Direction);
3475 .loc 1 1340 5 view .LVU1277
1340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** MODIFY_REG(hsd->hdmatx->Instance->CR, DMA_SxCR_DIR, hsd->hdmatx->Init.Direction);
3476 .loc 1 1340 8 is_stmt 0 view .LVU1278
3477 00ac E36B ldr r3, [r4, #60]
1340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** MODIFY_REG(hsd->hdmatx->Instance->CR, DMA_SxCR_DIR, hsd->hdmatx->Init.Direction);
3478 .loc 1 1340 33 view .LVU1279
3479 00ae 4022 movs r2, #64
3480 00b0 9A60 str r2, [r3, #8]
1341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3481 .loc 1 1341 5 is_stmt 1 view .LVU1280
3482 00b2 E16B ldr r1, [r4, #60]
3483 00b4 0A68 ldr r2, [r1]
3484 00b6 1368 ldr r3, [r2]
3485 00b8 23F0C003 bic r3, r3, #192
3486 00bc 8968 ldr r1, [r1, #8]
3487 00be 0B43 orrs r3, r3, r1
3488 00c0 1360 str r3, [r2]
1344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3489 .loc 1 1344 5 view .LVU1281
1344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3490 .loc 1 1344 69 is_stmt 0 view .LVU1282
3491 00c2 2268 ldr r2, [r4]
1344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3492 .loc 1 1344 87 view .LVU1283
3493 00c4 7602 lsls r6, r6, #9
3494 .LVL287:
1344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3495 .loc 1 1344 8 view .LVU1284
3496 00c6 B308 lsrs r3, r6, #2
3497 00c8 8032 adds r2, r2, #128
3498 00ca 3946 mov r1, r7
3499 00cc E06B ldr r0, [r4, #60]
3500 .LVL288:
1344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3501 .loc 1 1344 8 view .LVU1285
3502 00ce FFF7FEFF bl HAL_DMA_Start_IT
3503 .LVL289:
1344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3504 .loc 1 1344 7 discriminator 1 view .LVU1286
3505 00d2 0746 mov r7, r0
3506 .LVL290:
1344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3507 .loc 1 1344 7 discriminator 1 view .LVU1287
3508 00d4 88B1 cbz r0, .L212
1346:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS);
3509 .loc 1 1346 7 is_stmt 1 view .LVU1288
3510 00d6 2268 ldr r2, [r4]
3511 00d8 D36B ldr r3, [r2, #60]
3512 00da 23F01A03 bic r3, r3, #26
3513 00de D363 str r3, [r2, #60]
ARM GAS /tmp/ccMMu31U.s page 140
1347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DMA;
3514 .loc 1 1347 7 view .LVU1289
3515 00e0 2368 ldr r3, [r4]
3516 00e2 124A ldr r2, .L217+8
3517 00e4 9A63 str r2, [r3, #56]
1348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3518 .loc 1 1348 7 view .LVU1290
1348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3519 .loc 1 1348 10 is_stmt 0 view .LVU1291
3520 00e6 A36B ldr r3, [r4, #56]
1348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3521 .loc 1 1348 22 view .LVU1292
3522 00e8 43F08043 orr r3, r3, #1073741824
3523 00ec A363 str r3, [r4, #56]
1349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
3524 .loc 1 1349 7 is_stmt 1 view .LVU1293
1349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
3525 .loc 1 1349 18 is_stmt 0 view .LVU1294
3526 00ee 0123 movs r3, #1
3527 00f0 84F83430 strb r3, [r4, #52]
1350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3528 .loc 1 1350 7 is_stmt 1 view .LVU1295
1350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3529 .loc 1 1350 20 is_stmt 0 view .LVU1296
3530 00f4 0023 movs r3, #0
3531 00f6 2363 str r3, [r4, #48]
1351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3532 .loc 1 1351 7 is_stmt 1 view .LVU1297
1351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3533 .loc 1 1351 14 is_stmt 0 view .LVU1298
3534 00f8 11E0 b .L206
3535 .L212:
1356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks;
3536 .loc 1 1356 7 is_stmt 1 view .LVU1299
1356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks;
3537 .loc 1 1356 28 is_stmt 0 view .LVU1300
3538 00fa 4FF0FF33 mov r3, #-1
3539 00fe 0093 str r3, [sp]
1357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B;
3540 .loc 1 1357 7 is_stmt 1 view .LVU1301
1357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B;
3541 .loc 1 1357 28 is_stmt 0 view .LVU1302
3542 0100 0196 str r6, [sp, #4]
1358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD;
3543 .loc 1 1358 7 is_stmt 1 view .LVU1303
1358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD;
3544 .loc 1 1358 28 is_stmt 0 view .LVU1304
3545 0102 9023 movs r3, #144
3546 0104 0293 str r3, [sp, #8]
1359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
3547 .loc 1 1359 7 is_stmt 1 view .LVU1305
1359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK;
3548 .loc 1 1359 28 is_stmt 0 view .LVU1306
3549 0106 0023 movs r3, #0
3550 0108 0393 str r3, [sp, #12]
1360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
3551 .loc 1 1360 7 is_stmt 1 view .LVU1307
ARM GAS /tmp/ccMMu31U.s page 141
1360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE;
3552 .loc 1 1360 28 is_stmt 0 view .LVU1308
3553 010a 0493 str r3, [sp, #16]
1361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
3554 .loc 1 1361 7 is_stmt 1 view .LVU1309
1361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config);
3555 .loc 1 1361 28 is_stmt 0 view .LVU1310
3556 010c 0123 movs r3, #1
3557 010e 0593 str r3, [sp, #20]
1362:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3558 .loc 1 1362 7 is_stmt 1 view .LVU1311
1362:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3559 .loc 1 1362 13 is_stmt 0 view .LVU1312
3560 0110 6946 mov r1, sp
3561 0112 2068 ldr r0, [r4]
3562 0114 FFF7FEFF bl SDMMC_ConfigData
3563 .LVL291:
1364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3564 .loc 1 1364 7 is_stmt 1 view .LVU1313
1364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3565 .loc 1 1364 14 is_stmt 0 view .LVU1314
3566 0118 3D46 mov r5, r7
3567 011a 00E0 b .L206
3568 .LVL292:
3569 .L213:
1369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3570 .loc 1 1369 12 view .LVU1315
3571 011c 0225 movs r5, #2
3572 .LVL293:
3573 .L206:
1371:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3574 .loc 1 1371 1 view .LVU1316
3575 011e 2846 mov r0, r5
3576 0120 07B0 add sp, sp, #28
3577 .LCFI48:
3578 .cfi_def_cfa_offset 20
3579 @ sp needed
3580 0122 F0BD pop {r4, r5, r6, r7, pc}
3581 .LVL294:
3582 .L218:
1371:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3583 .loc 1 1371 1 view .LVU1317
3584 .align 2
3585 .L217:
3586 0124 00000000 .word SD_DMATransmitCplt
3587 0128 00000000 .word SD_DMAError
3588 012c FF054000 .word 4195839
3589 .cfi_endproc
3590 .LFE151:
3592 .section .text.HAL_SD_Erase,"ax",%progbits
3593 .align 1
3594 .global HAL_SD_Erase
3595 .syntax unified
3596 .thumb
3597 .thumb_func
3599 HAL_SD_Erase:
3600 .LVL295:
ARM GAS /tmp/ccMMu31U.s page 142
3601 .LFB152:
1383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
3602 .loc 1 1383 1 is_stmt 1 view -0
3603 .cfi_startproc
3604 @ args = 0, pretend = 0, frame = 0
3605 @ frame_needed = 0, uses_anonymous_args = 0
1383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
3606 .loc 1 1383 1 is_stmt 0 view .LVU1319
3607 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
3608 .LCFI49:
3609 .cfi_def_cfa_offset 24
3610 .cfi_offset 3, -24
3611 .cfi_offset 4, -20
3612 .cfi_offset 5, -16
3613 .cfi_offset 6, -12
3614 .cfi_offset 7, -8
3615 .cfi_offset 14, -4
1384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t start_add = BlockStartAdd;
3616 .loc 1 1384 3 is_stmt 1 view .LVU1320
1385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t end_add = BlockEndAdd;
3617 .loc 1 1385 3 view .LVU1321
3618 .LVL296:
1386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3619 .loc 1 1386 3 view .LVU1322
1388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3620 .loc 1 1388 3 view .LVU1323
1388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3621 .loc 1 1388 9 is_stmt 0 view .LVU1324
3622 0002 90F83450 ldrb r5, [r0, #52] @ zero_extendqisi2
3623 0006 EDB2 uxtb r5, r5
1388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3624 .loc 1 1388 5 view .LVU1325
3625 0008 012D cmp r5, #1
3626 000a 6FD1 bne .L229
3627 000c 0446 mov r4, r0
3628 000e 0F46 mov r7, r1
3629 0010 1646 mov r6, r2
1390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3630 .loc 1 1390 5 is_stmt 1 view .LVU1326
1390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3631 .loc 1 1390 20 is_stmt 0 view .LVU1327
3632 0012 0023 movs r3, #0
3633 0014 8363 str r3, [r0, #56]
1392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3634 .loc 1 1392 5 is_stmt 1 view .LVU1328
1392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3635 .loc 1 1392 7 is_stmt 0 view .LVU1329
3636 0016 9142 cmp r1, r2
3637 0018 14D8 bhi .L231
1398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3638 .loc 1 1398 5 is_stmt 1 view .LVU1330
1398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3639 .loc 1 1398 30 is_stmt 0 view .LVU1331
3640 001a C36D ldr r3, [r0, #92]
1398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3641 .loc 1 1398 7 view .LVU1332
3642 001c 9342 cmp r3, r2
ARM GAS /tmp/ccMMu31U.s page 143
3643 001e 16D3 bcc .L232
1404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3644 .loc 1 1404 5 is_stmt 1 view .LVU1333
1404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3645 .loc 1 1404 16 is_stmt 0 view .LVU1334
3646 0020 0323 movs r3, #3
3647 0022 80F83430 strb r3, [r0, #52]
1407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3648 .loc 1 1407 5 is_stmt 1 view .LVU1335
1407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3649 .loc 1 1407 21 is_stmt 0 view .LVU1336
3650 0026 C36C ldr r3, [r0, #76]
1407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3651 .loc 1 1407 7 view .LVU1337
3652 0028 13F0200F tst r3, #32
3653 002c 14D1 bne .L223
1410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_REQUEST_NOT_APPLICABLE;
3654 .loc 1 1410 7 is_stmt 1 view .LVU1338
3655 002e 0368 ldr r3, [r0]
3656 0030 304A ldr r2, .L235
3657 .LVL297:
1410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_REQUEST_NOT_APPLICABLE;
3658 .loc 1 1410 7 is_stmt 0 view .LVU1339
3659 0032 9A63 str r2, [r3, #56]
1411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3660 .loc 1 1411 7 is_stmt 1 view .LVU1340
1411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3661 .loc 1 1411 10 is_stmt 0 view .LVU1341
3662 0034 836B ldr r3, [r0, #56]
1411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3663 .loc 1 1411 22 view .LVU1342
3664 0036 43F08063 orr r3, r3, #67108864
3665 003a 8363 str r3, [r0, #56]
1412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3666 .loc 1 1412 7 is_stmt 1 view .LVU1343
1412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3667 .loc 1 1412 18 is_stmt 0 view .LVU1344
3668 003c 0123 movs r3, #1
3669 003e 80F83430 strb r3, [r0, #52]
1413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3670 .loc 1 1413 7 is_stmt 1 view .LVU1345
1413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3671 .loc 1 1413 14 is_stmt 0 view .LVU1346
3672 0042 54E0 b .L220
3673 .LVL298:
3674 .L231:
1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3675 .loc 1 1394 7 is_stmt 1 view .LVU1347
1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3676 .loc 1 1394 10 is_stmt 0 view .LVU1348
3677 0044 836B ldr r3, [r0, #56]
1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3678 .loc 1 1394 22 view .LVU1349
3679 0046 43F00063 orr r3, r3, #134217728
3680 004a 8363 str r3, [r0, #56]
1395:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3681 .loc 1 1395 7 is_stmt 1 view .LVU1350
ARM GAS /tmp/ccMMu31U.s page 144
1395:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3682 .loc 1 1395 14 is_stmt 0 view .LVU1351
3683 004c 4FE0 b .L220
3684 .L232:
1400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3685 .loc 1 1400 7 is_stmt 1 view .LVU1352
1400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3686 .loc 1 1400 10 is_stmt 0 view .LVU1353
3687 004e 836B ldr r3, [r0, #56]
1400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3688 .loc 1 1400 22 view .LVU1354
3689 0050 43F00073 orr r3, r3, #33554432
3690 0054 8363 str r3, [r0, #56]
1401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3691 .loc 1 1401 7 is_stmt 1 view .LVU1355
1401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3692 .loc 1 1401 14 is_stmt 0 view .LVU1356
3693 0056 4AE0 b .L220
3694 .L223:
1416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3695 .loc 1 1416 5 is_stmt 1 view .LVU1357
1416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3696 .loc 1 1416 9 is_stmt 0 view .LVU1358
3697 0058 0021 movs r1, #0
3698 .LVL299:
1416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3699 .loc 1 1416 9 view .LVU1359
3700 005a 0068 ldr r0, [r0]
3701 .LVL300:
1416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3702 .loc 1 1416 9 view .LVU1360
3703 005c FFF7FEFF bl SDMMC_GetResponse
3704 .LVL301:
1416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3705 .loc 1 1416 7 discriminator 1 view .LVU1361
3706 0060 10F0007F tst r0, #33554432
3707 0064 15D1 bne .L233
1426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3708 .loc 1 1426 5 is_stmt 1 view .LVU1362
1426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3709 .loc 1 1426 19 is_stmt 0 view .LVU1363
3710 0066 636C ldr r3, [r4, #68]
1426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3711 .loc 1 1426 7 view .LVU1364
3712 0068 012B cmp r3, #1
3713 006a 01D0 beq .L225
1428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** end_add *= 512U;
3714 .loc 1 1428 7 is_stmt 1 view .LVU1365
1428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** end_add *= 512U;
3715 .loc 1 1428 17 is_stmt 0 view .LVU1366
3716 006c 7F02 lsls r7, r7, #9
3717 .LVL302:
1429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3718 .loc 1 1429 7 is_stmt 1 view .LVU1367
1429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3719 .loc 1 1429 17 is_stmt 0 view .LVU1368
3720 006e 7602 lsls r6, r6, #9
ARM GAS /tmp/ccMMu31U.s page 145
3721 .LVL303:
3722 .L225:
1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3723 .loc 1 1433 5 is_stmt 1 view .LVU1369
1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3724 .loc 1 1433 7 is_stmt 0 view .LVU1370
3725 0070 032B cmp r3, #3
3726 0072 1ED0 beq .L226
1436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
3727 .loc 1 1436 7 is_stmt 1 view .LVU1371
1436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
3728 .loc 1 1436 20 is_stmt 0 view .LVU1372
3729 0074 3946 mov r1, r7
3730 0076 2068 ldr r0, [r4]
3731 0078 FFF7FEFF bl SDMMC_CmdSDEraseStartAdd
3732 .LVL304:
1437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3733 .loc 1 1437 7 is_stmt 1 view .LVU1373
1437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3734 .loc 1 1437 9 is_stmt 0 view .LVU1374
3735 007c A0B1 cbz r0, .L227
1440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
3736 .loc 1 1440 9 is_stmt 1 view .LVU1375
3737 007e 2368 ldr r3, [r4]
3738 0080 1C49 ldr r1, .L235
3739 0082 9963 str r1, [r3, #56]
1441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3740 .loc 1 1441 9 view .LVU1376
1441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3741 .loc 1 1441 12 is_stmt 0 view .LVU1377
3742 0084 A36B ldr r3, [r4, #56]
1441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3743 .loc 1 1441 24 view .LVU1378
3744 0086 0343 orrs r3, r3, r0
3745 0088 A363 str r3, [r4, #56]
1442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3746 .loc 1 1442 9 is_stmt 1 view .LVU1379
1442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3747 .loc 1 1442 20 is_stmt 0 view .LVU1380
3748 008a 0123 movs r3, #1
3749 008c 84F83430 strb r3, [r4, #52]
1443:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3750 .loc 1 1443 9 is_stmt 1 view .LVU1381
1443:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3751 .loc 1 1443 16 is_stmt 0 view .LVU1382
3752 0090 2DE0 b .L220
3753 .LVL305:
3754 .L233:
1419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_LOCK_UNLOCK_FAILED;
3755 .loc 1 1419 7 is_stmt 1 view .LVU1383
3756 0092 2368 ldr r3, [r4]
3757 0094 174A ldr r2, .L235
3758 0096 9A63 str r2, [r3, #56]
1420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3759 .loc 1 1420 7 view .LVU1384
1420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3760 .loc 1 1420 10 is_stmt 0 view .LVU1385
ARM GAS /tmp/ccMMu31U.s page 146
3761 0098 A36B ldr r3, [r4, #56]
1420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3762 .loc 1 1420 22 view .LVU1386
3763 009a 43F40063 orr r3, r3, #2048
3764 009e A363 str r3, [r4, #56]
1421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3765 .loc 1 1421 7 is_stmt 1 view .LVU1387
1421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3766 .loc 1 1421 18 is_stmt 0 view .LVU1388
3767 00a0 0123 movs r3, #1
3768 00a2 84F83430 strb r3, [r4, #52]
1422:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3769 .loc 1 1422 7 is_stmt 1 view .LVU1389
1422:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3770 .loc 1 1422 14 is_stmt 0 view .LVU1390
3771 00a6 22E0 b .L220
3772 .LVL306:
3773 .L227:
1447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
3774 .loc 1 1447 7 is_stmt 1 view .LVU1391
1447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
3775 .loc 1 1447 20 is_stmt 0 view .LVU1392
3776 00a8 3146 mov r1, r6
3777 00aa 2068 ldr r0, [r4]
3778 .LVL307:
1447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
3779 .loc 1 1447 20 view .LVU1393
3780 00ac FFF7FEFF bl SDMMC_CmdSDEraseEndAdd
3781 .LVL308:
1448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3782 .loc 1 1448 7 is_stmt 1 view .LVU1394
1448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3783 .loc 1 1448 9 is_stmt 0 view .LVU1395
3784 00b0 68B9 cbnz r0, .L234
3785 .LVL309:
3786 .L226:
1459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
3787 .loc 1 1459 5 is_stmt 1 view .LVU1396
1459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
3788 .loc 1 1459 18 is_stmt 0 view .LVU1397
3789 00b2 2068 ldr r0, [r4]
3790 00b4 FFF7FEFF bl SDMMC_CmdErase
3791 .LVL310:
1460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3792 .loc 1 1460 5 is_stmt 1 view .LVU1398
1460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3793 .loc 1 1460 7 is_stmt 0 view .LVU1399
3794 00b8 98B1 cbz r0, .L228
1463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
3795 .loc 1 1463 7 is_stmt 1 view .LVU1400
3796 00ba 2368 ldr r3, [r4]
3797 00bc 0D49 ldr r1, .L235
3798 00be 9963 str r1, [r3, #56]
1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3799 .loc 1 1464 7 view .LVU1401
1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3800 .loc 1 1464 10 is_stmt 0 view .LVU1402
ARM GAS /tmp/ccMMu31U.s page 147
3801 00c0 A36B ldr r3, [r4, #56]
1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3802 .loc 1 1464 22 view .LVU1403
3803 00c2 0343 orrs r3, r3, r0
3804 00c4 A363 str r3, [r4, #56]
1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3805 .loc 1 1465 7 is_stmt 1 view .LVU1404
1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3806 .loc 1 1465 18 is_stmt 0 view .LVU1405
3807 00c6 0123 movs r3, #1
3808 00c8 84F83430 strb r3, [r4, #52]
1466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3809 .loc 1 1466 7 is_stmt 1 view .LVU1406
1466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3810 .loc 1 1466 14 is_stmt 0 view .LVU1407
3811 00cc 0FE0 b .L220
3812 .L234:
1451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
3813 .loc 1 1451 9 is_stmt 1 view .LVU1408
3814 00ce 2368 ldr r3, [r4]
3815 00d0 0849 ldr r1, .L235
3816 00d2 9963 str r1, [r3, #56]
1452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3817 .loc 1 1452 9 view .LVU1409
1452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3818 .loc 1 1452 12 is_stmt 0 view .LVU1410
3819 00d4 A36B ldr r3, [r4, #56]
1452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
3820 .loc 1 1452 24 view .LVU1411
3821 00d6 0343 orrs r3, r3, r0
3822 00d8 A363 str r3, [r4, #56]
1453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3823 .loc 1 1453 9 is_stmt 1 view .LVU1412
1453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
3824 .loc 1 1453 20 is_stmt 0 view .LVU1413
3825 00da 0123 movs r3, #1
3826 00dc 84F83430 strb r3, [r4, #52]
1454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3827 .loc 1 1454 9 is_stmt 1 view .LVU1414
1454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3828 .loc 1 1454 16 is_stmt 0 view .LVU1415
3829 00e0 05E0 b .L220
3830 .L228:
1469:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3831 .loc 1 1469 5 is_stmt 1 view .LVU1416
1469:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3832 .loc 1 1469 16 is_stmt 0 view .LVU1417
3833 00e2 0123 movs r3, #1
3834 00e4 84F83430 strb r3, [r4, #52]
1471:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3835 .loc 1 1471 5 is_stmt 1 view .LVU1418
1471:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3836 .loc 1 1471 12 is_stmt 0 view .LVU1419
3837 00e8 0025 movs r5, #0
3838 00ea 00E0 b .L220
3839 .LVL311:
3840 .L229:
ARM GAS /tmp/ccMMu31U.s page 148
1475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3841 .loc 1 1475 12 view .LVU1420
3842 00ec 0225 movs r5, #2
3843 .LVL312:
3844 .L220:
1477:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3845 .loc 1 1477 1 view .LVU1421
3846 00ee 2846 mov r0, r5
3847 00f0 F8BD pop {r3, r4, r5, r6, r7, pc}
3848 .L236:
3849 00f2 00BF .align 2
3850 .L235:
3851 00f4 FF054000 .word 4195839
3852 .cfi_endproc
3853 .LFE152:
3855 .section .text.HAL_SD_GetState,"ax",%progbits
3856 .align 1
3857 .global HAL_SD_GetState
3858 .syntax unified
3859 .thumb
3860 .thumb_func
3862 HAL_SD_GetState:
3863 .LVL313:
3864 .LFB154:
1676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return hsd->State;
3865 .loc 1 1676 1 is_stmt 1 view -0
3866 .cfi_startproc
3867 @ args = 0, pretend = 0, frame = 0
3868 @ frame_needed = 0, uses_anonymous_args = 0
3869 @ link register save eliminated.
1677:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3870 .loc 1 1677 3 view .LVU1423
1677:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3871 .loc 1 1677 13 is_stmt 0 view .LVU1424
3872 0000 90F83400 ldrb r0, [r0, #52] @ zero_extendqisi2
3873 .LVL314:
1678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3874 .loc 1 1678 1 view .LVU1425
3875 0004 7047 bx lr
3876 .cfi_endproc
3877 .LFE154:
3879 .section .text.HAL_SD_GetError,"ax",%progbits
3880 .align 1
3881 .global HAL_SD_GetError
3882 .syntax unified
3883 .thumb
3884 .thumb_func
3886 HAL_SD_GetError:
3887 .LVL315:
3888 .LFB155:
1687:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return hsd->ErrorCode;
3889 .loc 1 1687 1 is_stmt 1 view -0
3890 .cfi_startproc
3891 @ args = 0, pretend = 0, frame = 0
3892 @ frame_needed = 0, uses_anonymous_args = 0
3893 @ link register save eliminated.
1688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
ARM GAS /tmp/ccMMu31U.s page 149
3894 .loc 1 1688 3 view .LVU1427
1688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
3895 .loc 1 1688 13 is_stmt 0 view .LVU1428
3896 0000 806B ldr r0, [r0, #56]
3897 .LVL316:
1689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3898 .loc 1 1689 1 view .LVU1429
3899 0002 7047 bx lr
3900 .cfi_endproc
3901 .LFE155:
3903 .section .text.HAL_SD_TxCpltCallback,"ax",%progbits
3904 .align 1
3905 .weak HAL_SD_TxCpltCallback
3906 .syntax unified
3907 .thumb
3908 .thumb_func
3910 HAL_SD_TxCpltCallback:
3911 .LVL317:
3912 .LFB156:
1697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */
3913 .loc 1 1697 1 is_stmt 1 view -0
3914 .cfi_startproc
3915 @ args = 0, pretend = 0, frame = 0
3916 @ frame_needed = 0, uses_anonymous_args = 0
3917 @ link register save eliminated.
1699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3918 .loc 1 1699 3 view .LVU1431
1704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3919 .loc 1 1704 1 is_stmt 0 view .LVU1432
3920 0000 7047 bx lr
3921 .cfi_endproc
3922 .LFE156:
3924 .section .text.HAL_SD_RxCpltCallback,"ax",%progbits
3925 .align 1
3926 .weak HAL_SD_RxCpltCallback
3927 .syntax unified
3928 .thumb
3929 .thumb_func
3931 HAL_SD_RxCpltCallback:
3932 .LVL318:
3933 .LFB157:
1712:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */
3934 .loc 1 1712 1 is_stmt 1 view -0
3935 .cfi_startproc
3936 @ args = 0, pretend = 0, frame = 0
3937 @ frame_needed = 0, uses_anonymous_args = 0
3938 @ link register save eliminated.
1714:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3939 .loc 1 1714 3 view .LVU1434
1719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3940 .loc 1 1719 1 is_stmt 0 view .LVU1435
3941 0000 7047 bx lr
3942 .cfi_endproc
3943 .LFE157:
3945 .section .text.HAL_SD_ErrorCallback,"ax",%progbits
3946 .align 1
3947 .weak HAL_SD_ErrorCallback
ARM GAS /tmp/ccMMu31U.s page 150
3948 .syntax unified
3949 .thumb
3950 .thumb_func
3952 HAL_SD_ErrorCallback:
3953 .LVL319:
3954 .LFB158:
1727:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */
3955 .loc 1 1727 1 is_stmt 1 view -0
3956 .cfi_startproc
3957 @ args = 0, pretend = 0, frame = 0
3958 @ frame_needed = 0, uses_anonymous_args = 0
3959 @ link register save eliminated.
1729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3960 .loc 1 1729 3 view .LVU1437
1734:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3961 .loc 1 1734 1 is_stmt 0 view .LVU1438
3962 0000 7047 bx lr
3963 .cfi_endproc
3964 .LFE158:
3966 .section .text.SD_DMAReceiveCplt,"ax",%progbits
3967 .align 1
3968 .syntax unified
3969 .thumb
3970 .thumb_func
3972 SD_DMAReceiveCplt:
3973 .LVL320:
3974 .LFB169:
2454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent);
3975 .loc 1 2454 1 is_stmt 1 view -0
3976 .cfi_startproc
3977 @ args = 0, pretend = 0, frame = 0
3978 @ frame_needed = 0, uses_anonymous_args = 0
2454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent);
3979 .loc 1 2454 1 is_stmt 0 view .LVU1440
3980 0000 10B5 push {r4, lr}
3981 .LCFI50:
3982 .cfi_def_cfa_offset 8
3983 .cfi_offset 4, -8
3984 .cfi_offset 14, -4
2455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
3985 .loc 1 2455 3 is_stmt 1 view .LVU1441
2455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
3986 .loc 1 2455 21 is_stmt 0 view .LVU1442
3987 0002 846B ldr r4, [r0, #56]
3988 .LVL321:
2456:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3989 .loc 1 2456 3 is_stmt 1 view .LVU1443
2459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3990 .loc 1 2459 3 view .LVU1444
2459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3991 .loc 1 2459 9 is_stmt 0 view .LVU1445
3992 0004 236B ldr r3, [r4, #48]
2459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
3993 .loc 1 2459 5 view .LVU1446
3994 0006 822B cmp r3, #130
3995 0008 11D0 beq .L245
3996 .LVL322:
ARM GAS /tmp/ccMMu31U.s page 151
3997 .L243:
2475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3998 .loc 1 2475 3 is_stmt 1 view .LVU1447
2475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
3999 .loc 1 2475 6 is_stmt 0 view .LVU1448
4000 000a 2268 ldr r2, [r4]
2475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4001 .loc 1 2475 16 view .LVU1449
4002 000c D36A ldr r3, [r2, #44]
2475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4003 .loc 1 2475 24 view .LVU1450
4004 000e 23F00803 bic r3, r3, #8
4005 0012 D362 str r3, [r2, #44]
2478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4006 .loc 1 2478 3 is_stmt 1 view .LVU1451
4007 0014 2368 ldr r3, [r4]
4008 0016 40F23A52 movw r2, #1338
4009 001a 9A63 str r2, [r3, #56]
2480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
4010 .loc 1 2480 3 view .LVU1452
2480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
4011 .loc 1 2480 14 is_stmt 0 view .LVU1453
4012 001c 0123 movs r3, #1
4013 001e 84F83430 strb r3, [r4, #52]
2481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4014 .loc 1 2481 3 is_stmt 1 view .LVU1454
2481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4015 .loc 1 2481 16 is_stmt 0 view .LVU1455
4016 0022 0023 movs r3, #0
4017 0024 2363 str r3, [r4, #48]
2486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif
4018 .loc 1 2486 3 is_stmt 1 view .LVU1456
4019 0026 2046 mov r0, r4
4020 0028 FFF7FEFF bl HAL_SD_RxCpltCallback
4021 .LVL323:
2488:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4022 .loc 1 2488 1 is_stmt 0 view .LVU1457
4023 002c 10BD pop {r4, pc}
4024 .LVL324:
4025 .L245:
2461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
4026 .loc 1 2461 5 is_stmt 1 view .LVU1458
2461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
4027 .loc 1 2461 18 is_stmt 0 view .LVU1459
4028 002e 2068 ldr r0, [r4]
4029 .LVL325:
2461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
4030 .loc 1 2461 18 view .LVU1460
4031 0030 FFF7FEFF bl SDMMC_CmdStopTransfer
4032 .LVL326:
2462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4033 .loc 1 2462 5 is_stmt 1 view .LVU1461
2462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4034 .loc 1 2462 7 is_stmt 0 view .LVU1462
4035 0034 0346 mov r3, r0
4036 0036 0028 cmp r0, #0
4037 0038 E7D0 beq .L243
ARM GAS /tmp/ccMMu31U.s page 152
2464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if (USE_HAL_SD_REGISTER_CALLBACKS == 1)
4038 .loc 1 2464 7 is_stmt 1 view .LVU1463
2464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if (USE_HAL_SD_REGISTER_CALLBACKS == 1)
4039 .loc 1 2464 10 is_stmt 0 view .LVU1464
4040 003a A26B ldr r2, [r4, #56]
2464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if (USE_HAL_SD_REGISTER_CALLBACKS == 1)
4041 .loc 1 2464 22 view .LVU1465
4042 003c 1343 orrs r3, r3, r2
4043 003e A363 str r3, [r4, #56]
2468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif
4044 .loc 1 2468 7 is_stmt 1 view .LVU1466
4045 0040 2046 mov r0, r4
4046 .LVL327:
2468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif
4047 .loc 1 2468 7 is_stmt 0 view .LVU1467
4048 0042 FFF7FEFF bl HAL_SD_ErrorCallback
4049 .LVL328:
4050 0046 E0E7 b .L243
4051 .cfi_endproc
4052 .LFE169:
4054 .section .text.HAL_SD_AbortCallback,"ax",%progbits
4055 .align 1
4056 .weak HAL_SD_AbortCallback
4057 .syntax unified
4058 .thumb
4059 .thumb_func
4061 HAL_SD_AbortCallback:
4062 .LVL329:
4063 .LFB159:
1742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */
4064 .loc 1 1742 1 is_stmt 1 view -0
4065 .cfi_startproc
4066 @ args = 0, pretend = 0, frame = 0
4067 @ frame_needed = 0, uses_anonymous_args = 0
4068 @ link register save eliminated.
1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4069 .loc 1 1744 3 view .LVU1469
1749:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4070 .loc 1 1749 1 is_stmt 0 view .LVU1470
4071 0000 7047 bx lr
4072 .cfi_endproc
4073 .LFE159:
4075 .section .text.HAL_SD_GetCardCID,"ax",%progbits
4076 .align 1
4077 .global HAL_SD_GetCardCID
4078 .syntax unified
4079 .thumb
4080 .thumb_func
4082 HAL_SD_GetCardCID:
4083 .LVL330:
4084 .LFB160:
1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCID->ManufacturerID = (uint8_t)((hsd->CID[0] & 0xFF000000U) >> 24U);
4085 .loc 1 1953 1 is_stmt 1 view -0
4086 .cfi_startproc
4087 @ args = 0, pretend = 0, frame = 0
4088 @ frame_needed = 0, uses_anonymous_args = 0
4089 @ link register save eliminated.
ARM GAS /tmp/ccMMu31U.s page 153
1954:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4090 .loc 1 1954 3 view .LVU1472
1954:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4091 .loc 1 1954 26 is_stmt 0 view .LVU1473
4092 0000 90F87730 ldrb r3, [r0, #119] @ zero_extendqisi2
1954:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4093 .loc 1 1954 24 view .LVU1474
4094 0004 0B70 strb r3, [r1]
1956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4095 .loc 1 1956 3 is_stmt 1 view .LVU1475
1956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4096 .loc 1 1956 43 is_stmt 0 view .LVU1476
4097 0006 436F ldr r3, [r0, #116]
1956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4098 .loc 1 1956 23 view .LVU1477
4099 0008 C3F30F23 ubfx r3, r3, #8, #16
1956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4100 .loc 1 1956 21 view .LVU1478
4101 000c 4B80 strh r3, [r1, #2] @ movhi
1958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4102 .loc 1 1958 3 is_stmt 1 view .LVU1479
1958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4103 .loc 1 1958 32 is_stmt 0 view .LVU1480
4104 000e 426F ldr r2, [r0, #116]
1958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4105 .loc 1 1958 71 view .LVU1481
4106 0010 836F ldr r3, [r0, #120]
1958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4107 .loc 1 1958 90 view .LVU1482
4108 0012 1B0A lsrs r3, r3, #8
1958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4109 .loc 1 1958 59 view .LVU1483
4110 0014 43EA0263 orr r3, r3, r2, lsl #24
1958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4111 .loc 1 1958 19 view .LVU1484
4112 0018 4B60 str r3, [r1, #4]
1960:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4113 .loc 1 1960 3 is_stmt 1 view .LVU1485
1960:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4114 .loc 1 1960 21 is_stmt 0 view .LVU1486
4115 001a 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2
1960:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4116 .loc 1 1960 19 view .LVU1487
4117 001e 0B72 strb r3, [r1, #8]
1962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4118 .loc 1 1962 3 is_stmt 1 view .LVU1488
1962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4119 .loc 1 1962 19 is_stmt 0 view .LVU1489
4120 0020 90F87F30 ldrb r3, [r0, #127] @ zero_extendqisi2
1962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4121 .loc 1 1962 17 view .LVU1490
4122 0024 4B72 strb r3, [r1, #9]
1964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4123 .loc 1 1964 3 is_stmt 1 view .LVU1491
1964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4124 .loc 1 1964 29 is_stmt 0 view .LVU1492
4125 0026 C26F ldr r2, [r0, #124]
ARM GAS /tmp/ccMMu31U.s page 154
1964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4126 .loc 1 1964 86 view .LVU1493
4127 0028 90F88330 ldrb r3, [r0, #131] @ zero_extendqisi2
1964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4128 .loc 1 1964 55 view .LVU1494
4129 002c 43EA0223 orr r3, r3, r2, lsl #8
1964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4130 .loc 1 1964 16 view .LVU1495
4131 0030 CB60 str r3, [r1, #12]
1966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4132 .loc 1 1966 3 is_stmt 1 view .LVU1496
1966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4133 .loc 1 1966 40 is_stmt 0 view .LVU1497
4134 0032 D0F88030 ldr r3, [r0, #128]
1966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4135 .loc 1 1966 21 view .LVU1498
4136 0036 C3F30353 ubfx r3, r3, #20, #4
1966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4137 .loc 1 1966 19 view .LVU1499
4138 003a 0B74 strb r3, [r1, #16]
1968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4139 .loc 1 1968 3 is_stmt 1 view .LVU1500
1968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4140 .loc 1 1968 44 is_stmt 0 view .LVU1501
4141 003c D0F88030 ldr r3, [r0, #128]
1968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4142 .loc 1 1968 24 view .LVU1502
4143 0040 C3F30B23 ubfx r3, r3, #8, #12
1968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4144 .loc 1 1968 22 view .LVU1503
4145 0044 4B82 strh r3, [r1, #18] @ movhi
1970:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4146 .loc 1 1970 3 is_stmt 1 view .LVU1504
1970:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4147 .loc 1 1970 38 is_stmt 0 view .LVU1505
4148 0046 D0F88030 ldr r3, [r0, #128]
1970:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4149 .loc 1 1970 19 view .LVU1506
4150 004a C3F34603 ubfx r3, r3, #1, #7
1970:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4151 .loc 1 1970 17 view .LVU1507
4152 004e 0B75 strb r3, [r1, #20]
1972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4153 .loc 1 1972 3 is_stmt 1 view .LVU1508
1972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4154 .loc 1 1972 19 is_stmt 0 view .LVU1509
4155 0050 0123 movs r3, #1
4156 0052 4B75 strb r3, [r1, #21]
1974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4157 .loc 1 1974 3 is_stmt 1 view .LVU1510
1975:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4158 .loc 1 1975 1 is_stmt 0 view .LVU1511
4159 0054 0020 movs r0, #0
4160 .LVL331:
1975:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4161 .loc 1 1975 1 view .LVU1512
4162 0056 7047 bx lr
ARM GAS /tmp/ccMMu31U.s page 155
4163 .cfi_endproc
4164 .LFE160:
4166 .section .text.HAL_SD_GetCardCSD,"ax",%progbits
4167 .align 1
4168 .global HAL_SD_GetCardCSD
4169 .syntax unified
4170 .thumb
4171 .thumb_func
4173 HAL_SD_GetCardCSD:
4174 .LVL332:
4175 .LFB161:
1986:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->CSDStruct = (uint8_t)((hsd->CSD[0] & 0xC0000000U) >> 30U);
4176 .loc 1 1986 1 is_stmt 1 view -0
4177 .cfi_startproc
4178 @ args = 0, pretend = 0, frame = 0
4179 @ frame_needed = 0, uses_anonymous_args = 0
4180 @ link register save eliminated.
1986:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->CSDStruct = (uint8_t)((hsd->CSD[0] & 0xC0000000U) >> 30U);
4181 .loc 1 1986 1 is_stmt 0 view .LVU1514
4182 0000 0346 mov r3, r0
1987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4183 .loc 1 1987 3 is_stmt 1 view .LVU1515
1987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4184 .loc 1 1987 40 is_stmt 0 view .LVU1516
4185 0002 426E ldr r2, [r0, #100]
1987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4186 .loc 1 1987 21 view .LVU1517
4187 0004 920F lsrs r2, r2, #30
1987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4188 .loc 1 1987 19 view .LVU1518
4189 0006 0A70 strb r2, [r1]
1989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4190 .loc 1 1989 3 is_stmt 1 view .LVU1519
1989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4191 .loc 1 1989 45 is_stmt 0 view .LVU1520
4192 0008 426E ldr r2, [r0, #100]
1989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4193 .loc 1 1989 26 view .LVU1521
4194 000a C2F38362 ubfx r2, r2, #26, #4
1989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4195 .loc 1 1989 24 view .LVU1522
4196 000e 4A70 strb r2, [r1, #1]
1991:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4197 .loc 1 1991 3 is_stmt 1 view .LVU1523
1991:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4198 .loc 1 1991 59 is_stmt 0 view .LVU1524
4199 0010 90F86720 ldrb r2, [r0, #103] @ zero_extendqisi2
1991:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4200 .loc 1 1991 21 view .LVU1525
4201 0014 02F00302 and r2, r2, #3
1991:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4202 .loc 1 1991 19 view .LVU1526
4203 0018 8A70 strb r2, [r1, #2]
1993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4204 .loc 1 1993 3 is_stmt 1 view .LVU1527
1993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4205 .loc 1 1993 16 is_stmt 0 view .LVU1528
ARM GAS /tmp/ccMMu31U.s page 156
4206 001a 90F86620 ldrb r2, [r0, #102] @ zero_extendqisi2
1993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4207 .loc 1 1993 14 view .LVU1529
4208 001e CA70 strb r2, [r1, #3]
1995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4209 .loc 1 1995 3 is_stmt 1 view .LVU1530
1995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4210 .loc 1 1995 16 is_stmt 0 view .LVU1531
4211 0020 90F86520 ldrb r2, [r0, #101] @ zero_extendqisi2
1995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4212 .loc 1 1995 14 view .LVU1532
4213 0024 0A71 strb r2, [r1, #4]
1997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4214 .loc 1 1997 3 is_stmt 1 view .LVU1533
1997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4215 .loc 1 1997 25 is_stmt 0 view .LVU1534
4216 0026 90F86420 ldrb r2, [r0, #100] @ zero_extendqisi2
1997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4217 .loc 1 1997 23 view .LVU1535
4218 002a 4A71 strb r2, [r1, #5]
1999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4219 .loc 1 1999 3 is_stmt 1 view .LVU1536
1999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4220 .loc 1 1999 47 is_stmt 0 view .LVU1537
4221 002c 826E ldr r2, [r0, #104]
1999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4222 .loc 1 1999 27 view .LVU1538
4223 002e 120D lsrs r2, r2, #20
1999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4224 .loc 1 1999 25 view .LVU1539
4225 0030 CA80 strh r2, [r1, #6] @ movhi
2001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4226 .loc 1 2001 3 is_stmt 1 view .LVU1540
2001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4227 .loc 1 2001 60 is_stmt 0 view .LVU1541
4228 0032 B0F86A20 ldrh r2, [r0, #106]
2001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4229 .loc 1 2001 22 view .LVU1542
4230 0036 02F00F02 and r2, r2, #15
2001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4231 .loc 1 2001 20 view .LVU1543
4232 003a 0A72 strb r2, [r1, #8]
2003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4233 .loc 1 2003 3 is_stmt 1 view .LVU1544
2003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4234 .loc 1 2003 46 is_stmt 0 view .LVU1545
4235 003c 826E ldr r2, [r0, #104]
2003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4236 .loc 1 2003 27 view .LVU1546
4237 003e C2F3C032 ubfx r2, r2, #15, #1
2003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4238 .loc 1 2003 25 view .LVU1547
4239 0042 4A72 strb r2, [r1, #9]
2005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4240 .loc 1 2005 3 is_stmt 1 view .LVU1548
2005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4241 .loc 1 2005 46 is_stmt 0 view .LVU1549
ARM GAS /tmp/ccMMu31U.s page 157
4242 0044 826E ldr r2, [r0, #104]
2005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4243 .loc 1 2005 27 view .LVU1550
4244 0046 C2F38032 ubfx r2, r2, #14, #1
2005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4245 .loc 1 2005 25 view .LVU1551
4246 004a 8A72 strb r2, [r1, #10]
2007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4247 .loc 1 2007 3 is_stmt 1 view .LVU1552
2007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4248 .loc 1 2007 46 is_stmt 0 view .LVU1553
4249 004c 826E ldr r2, [r0, #104]
2007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4250 .loc 1 2007 27 view .LVU1554
4251 004e C2F34032 ubfx r2, r2, #13, #1
2007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4252 .loc 1 2007 25 view .LVU1555
4253 0052 CA72 strb r2, [r1, #11]
2009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4254 .loc 1 2009 3 is_stmt 1 view .LVU1556
2009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4255 .loc 1 2009 38 is_stmt 0 view .LVU1557
4256 0054 826E ldr r2, [r0, #104]
2009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4257 .loc 1 2009 19 view .LVU1558
4258 0056 C2F30032 ubfx r2, r2, #12, #1
2009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4259 .loc 1 2009 17 view .LVU1559
4260 005a 0A73 strb r2, [r1, #12]
2011:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4261 .loc 1 2011 3 is_stmt 1 view .LVU1560
2011:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4262 .loc 1 2011 19 is_stmt 0 view .LVU1561
4263 005c 0022 movs r2, #0
4264 005e 4A73 strb r2, [r1, #13]
2013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4265 .loc 1 2013 3 is_stmt 1 view .LVU1562
2013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4266 .loc 1 2013 17 is_stmt 0 view .LVU1563
4267 0060 426C ldr r2, [r0, #68]
2013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4268 .loc 1 2013 5 view .LVU1564
4269 0062 002A cmp r2, #0
4270 0064 40F08680 bne .L249
2015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4271 .loc 1 2015 5 is_stmt 1 view .LVU1565
2015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4272 .loc 1 2015 35 is_stmt 0 view .LVU1566
4273 0068 806E ldr r0, [r0, #104]
4274 .LVL333:
2015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4275 .loc 1 2015 54 view .LVU1567
4276 006a 40F6FC72 movw r2, #4092
4277 006e 02EA8002 and r2, r2, r0, lsl #2
2015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4278 .loc 1 2015 73 view .LVU1568
4279 0072 D86E ldr r0, [r3, #108]
ARM GAS /tmp/ccMMu31U.s page 158
2015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4280 .loc 1 2015 61 view .LVU1569
4281 0074 42EA9072 orr r2, r2, r0, lsr #30
2015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4282 .loc 1 2015 22 view .LVU1570
4283 0078 0A61 str r2, [r1, #16]
2017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4284 .loc 1 2017 5 is_stmt 1 view .LVU1571
2017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4285 .loc 1 2017 51 is_stmt 0 view .LVU1572
4286 007a DA6E ldr r2, [r3, #108]
2017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4287 .loc 1 2017 32 view .LVU1573
4288 007c C2F3C262 ubfx r2, r2, #27, #3
2017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4289 .loc 1 2017 30 view .LVU1574
4290 0080 0A75 strb r2, [r1, #20]
2019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4291 .loc 1 2019 5 is_stmt 1 view .LVU1575
2019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4292 .loc 1 2019 70 is_stmt 0 view .LVU1576
4293 0082 93F86F20 ldrb r2, [r3, #111] @ zero_extendqisi2
2019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4294 .loc 1 2019 32 view .LVU1577
4295 0086 02F00702 and r2, r2, #7
2019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4296 .loc 1 2019 30 view .LVU1578
4297 008a 4A75 strb r2, [r1, #21]
2021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4298 .loc 1 2021 5 is_stmt 1 view .LVU1579
2021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4299 .loc 1 2021 51 is_stmt 0 view .LVU1580
4300 008c DA6E ldr r2, [r3, #108]
2021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4301 .loc 1 2021 32 view .LVU1581
4302 008e C2F34252 ubfx r2, r2, #21, #3
2021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4303 .loc 1 2021 30 view .LVU1582
4304 0092 8A75 strb r2, [r1, #22]
2023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4305 .loc 1 2023 5 is_stmt 1 view .LVU1583
2023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4306 .loc 1 2023 51 is_stmt 0 view .LVU1584
4307 0094 DA6E ldr r2, [r3, #108]
2023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4308 .loc 1 2023 32 view .LVU1585
4309 0096 C2F38242 ubfx r2, r2, #18, #3
2023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4310 .loc 1 2023 30 view .LVU1586
4311 009a CA75 strb r2, [r1, #23]
2025:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4312 .loc 1 2025 5 is_stmt 1 view .LVU1587
2025:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4313 .loc 1 2025 46 is_stmt 0 view .LVU1588
4314 009c DA6E ldr r2, [r3, #108]
2025:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4315 .loc 1 2025 27 view .LVU1589
ARM GAS /tmp/ccMMu31U.s page 159
4316 009e C2F3C232 ubfx r2, r2, #15, #3
2025:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4317 .loc 1 2025 25 view .LVU1590
4318 00a2 0A76 strb r2, [r1, #24]
2027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockNbr *= (1UL << ((pCSD->DeviceSizeMul & 0x07U) + 2U));
4319 .loc 1 2027 5 is_stmt 1 view .LVU1591
2027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockNbr *= (1UL << ((pCSD->DeviceSizeMul & 0x07U) + 2U));
4320 .loc 1 2027 34 is_stmt 0 view .LVU1592
4321 00a4 0A69 ldr r2, [r1, #16]
2027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockNbr *= (1UL << ((pCSD->DeviceSizeMul & 0x07U) + 2U));
4322 .loc 1 2027 47 view .LVU1593
4323 00a6 0132 adds r2, r2, #1
2027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockNbr *= (1UL << ((pCSD->DeviceSizeMul & 0x07U) + 2U));
4324 .loc 1 2027 27 view .LVU1594
4325 00a8 5A65 str r2, [r3, #84]
2028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockSize = (1UL << (pCSD->RdBlockLen & 0x0FU));
4326 .loc 1 2028 5 is_stmt 1 view .LVU1595
2028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockSize = (1UL << (pCSD->RdBlockLen & 0x0FU));
4327 .loc 1 2028 43 is_stmt 0 view .LVU1596
4328 00aa 087E ldrb r0, [r1, #24] @ zero_extendqisi2
2028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockSize = (1UL << (pCSD->RdBlockLen & 0x0FU));
4329 .loc 1 2028 59 view .LVU1597
4330 00ac 00F00700 and r0, r0, #7
2028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockSize = (1UL << (pCSD->RdBlockLen & 0x0FU));
4331 .loc 1 2028 68 view .LVU1598
4332 00b0 0230 adds r0, r0, #2
2028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockSize = (1UL << (pCSD->RdBlockLen & 0x0FU));
4333 .loc 1 2028 26 view .LVU1599
4334 00b2 8240 lsls r2, r2, r0
4335 00b4 5A65 str r2, [r3, #84]
2029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4336 .loc 1 2029 5 is_stmt 1 view .LVU1600
2029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4337 .loc 1 2029 42 is_stmt 0 view .LVU1601
4338 00b6 91F808C0 ldrb ip, [r1, #8] @ zero_extendqisi2
2029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4339 .loc 1 2029 55 view .LVU1602
4340 00ba 0CF00F0C and ip, ip, #15
2029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4341 .loc 1 2029 34 view .LVU1603
4342 00be 0120 movs r0, #1
4343 00c0 00FA0CF0 lsl r0, r0, ip
2029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4344 .loc 1 2029 27 view .LVU1604
4345 00c4 9865 str r0, [r3, #88]
2031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockSize = 512U;
4346 .loc 1 2031 5 is_stmt 1 view .LVU1605
2031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockSize = 512U;
4347 .loc 1 2031 82 is_stmt 0 view .LVU1606
4348 00c6 400A lsrs r0, r0, #9
2031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockSize = 512U;
4349 .loc 1 2031 55 view .LVU1607
4350 00c8 00FB02F2 mul r2, r0, r2
2031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockSize = 512U;
4351 .loc 1 2031 29 view .LVU1608
4352 00cc DA65 str r2, [r3, #92]
2032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
ARM GAS /tmp/ccMMu31U.s page 160
4353 .loc 1 2032 5 is_stmt 1 view .LVU1609
2032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4354 .loc 1 2032 30 is_stmt 0 view .LVU1610
4355 00ce 4FF40072 mov r2, #512
4356 00d2 1A66 str r2, [r3, #96]
4357 .L250:
2053:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4358 .loc 1 2053 3 is_stmt 1 view .LVU1611
2053:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4359 .loc 1 2053 42 is_stmt 0 view .LVU1612
4360 00d4 DA6E ldr r2, [r3, #108]
2053:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4361 .loc 1 2053 23 view .LVU1613
4362 00d6 C2F38032 ubfx r2, r2, #14, #1
2053:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4363 .loc 1 2053 21 view .LVU1614
4364 00da 4A76 strb r2, [r1, #25]
2055:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4365 .loc 1 2055 3 is_stmt 1 view .LVU1615
2055:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4366 .loc 1 2055 41 is_stmt 0 view .LVU1616
4367 00dc DA6E ldr r2, [r3, #108]
2055:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4368 .loc 1 2055 22 view .LVU1617
4369 00de C2F3C612 ubfx r2, r2, #7, #7
2055:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4370 .loc 1 2055 20 view .LVU1618
4371 00e2 8A76 strb r2, [r1, #26]
2057:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4372 .loc 1 2057 3 is_stmt 1 view .LVU1619
2057:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4373 .loc 1 2057 45 is_stmt 0 view .LVU1620
4374 00e4 DA6E ldr r2, [r3, #108]
2057:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4375 .loc 1 2057 27 view .LVU1621
4376 00e6 02F07F02 and r2, r2, #127
2057:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4377 .loc 1 2057 25 view .LVU1622
4378 00ea CA76 strb r2, [r1, #27]
2059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4379 .loc 1 2059 3 is_stmt 1 view .LVU1623
2059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4380 .loc 1 2059 48 is_stmt 0 view .LVU1624
4381 00ec 1A6F ldr r2, [r3, #112]
2059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4382 .loc 1 2059 29 view .LVU1625
4383 00ee D20F lsrs r2, r2, #31
2059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4384 .loc 1 2059 27 view .LVU1626
4385 00f0 0A77 strb r2, [r1, #28]
2061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4386 .loc 1 2061 3 is_stmt 1 view .LVU1627
2061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4387 .loc 1 2061 41 is_stmt 0 view .LVU1628
4388 00f2 1A6F ldr r2, [r3, #112]
2061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4389 .loc 1 2061 22 view .LVU1629
ARM GAS /tmp/ccMMu31U.s page 161
4390 00f4 C2F34172 ubfx r2, r2, #29, #2
2061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4391 .loc 1 2061 20 view .LVU1630
4392 00f8 4A77 strb r2, [r1, #29]
2063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4393 .loc 1 2063 3 is_stmt 1 view .LVU1631
2063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4394 .loc 1 2063 42 is_stmt 0 view .LVU1632
4395 00fa 1A6F ldr r2, [r3, #112]
2063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4396 .loc 1 2063 23 view .LVU1633
4397 00fc C2F38262 ubfx r2, r2, #26, #3
2063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4398 .loc 1 2063 21 view .LVU1634
4399 0100 8A77 strb r2, [r1, #30]
2065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4400 .loc 1 2065 3 is_stmt 1 view .LVU1635
2065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4401 .loc 1 2065 43 is_stmt 0 view .LVU1636
4402 0102 1A6F ldr r2, [r3, #112]
2065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4403 .loc 1 2065 24 view .LVU1637
4404 0104 C2F38352 ubfx r2, r2, #22, #4
2065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4405 .loc 1 2065 22 view .LVU1638
4406 0108 CA77 strb r2, [r1, #31]
2067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4407 .loc 1 2067 3 is_stmt 1 view .LVU1639
2067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4408 .loc 1 2067 50 is_stmt 0 view .LVU1640
4409 010a 1A6F ldr r2, [r3, #112]
2067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4410 .loc 1 2067 31 view .LVU1641
4411 010c C2F34052 ubfx r2, r2, #21, #1
2067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4412 .loc 1 2067 29 view .LVU1642
4413 0110 81F82020 strb r2, [r1, #32]
2069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4414 .loc 1 2069 3 is_stmt 1 view .LVU1643
2069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4415 .loc 1 2069 19 is_stmt 0 view .LVU1644
4416 0114 0020 movs r0, #0
4417 0116 81F82100 strb r0, [r1, #33]
2071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4418 .loc 1 2071 3 is_stmt 1 view .LVU1645
2071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4419 .loc 1 2071 69 is_stmt 0 view .LVU1646
4420 011a B3F87220 ldrh r2, [r3, #114]
2071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4421 .loc 1 2071 31 view .LVU1647
4422 011e 02F00102 and r2, r2, #1
2071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4423 .loc 1 2071 29 view .LVU1648
4424 0122 81F82220 strb r2, [r1, #34]
2073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4425 .loc 1 2073 3 is_stmt 1 view .LVU1649
2073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
ARM GAS /tmp/ccMMu31U.s page 162
4426 .loc 1 2073 46 is_stmt 0 view .LVU1650
4427 0126 1A6F ldr r2, [r3, #112]
2073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4428 .loc 1 2073 27 view .LVU1651
4429 0128 C2F3C032 ubfx r2, r2, #15, #1
2073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4430 .loc 1 2073 25 view .LVU1652
4431 012c 81F82320 strb r2, [r1, #35]
2075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4432 .loc 1 2075 3 is_stmt 1 view .LVU1653
2075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4433 .loc 1 2075 39 is_stmt 0 view .LVU1654
4434 0130 1A6F ldr r2, [r3, #112]
2075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4435 .loc 1 2075 20 view .LVU1655
4436 0132 C2F38032 ubfx r2, r2, #14, #1
2075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4437 .loc 1 2075 18 view .LVU1656
4438 0136 81F82420 strb r2, [r1, #36]
2077:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4439 .loc 1 2077 3 is_stmt 1 view .LVU1657
2077:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4440 .loc 1 2077 44 is_stmt 0 view .LVU1658
4441 013a 1A6F ldr r2, [r3, #112]
2077:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4442 .loc 1 2077 25 view .LVU1659
4443 013c C2F34032 ubfx r2, r2, #13, #1
2077:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4444 .loc 1 2077 23 view .LVU1660
4445 0140 81F82520 strb r2, [r1, #37]
2079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4446 .loc 1 2079 3 is_stmt 1 view .LVU1661
2079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4447 .loc 1 2079 44 is_stmt 0 view .LVU1662
4448 0144 1A6F ldr r2, [r3, #112]
2079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4449 .loc 1 2079 25 view .LVU1663
4450 0146 C2F30032 ubfx r2, r2, #12, #1
2079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4451 .loc 1 2079 23 view .LVU1664
4452 014a 81F82620 strb r2, [r1, #38]
2081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4453 .loc 1 2081 3 is_stmt 1 view .LVU1665
2081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4454 .loc 1 2081 41 is_stmt 0 view .LVU1666
4455 014e 1A6F ldr r2, [r3, #112]
2081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4456 .loc 1 2081 22 view .LVU1667
4457 0150 C2F38122 ubfx r2, r2, #10, #2
2081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4458 .loc 1 2081 20 view .LVU1668
4459 0154 81F82720 strb r2, [r1, #39]
2083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4460 .loc 1 2083 3 is_stmt 1 view .LVU1669
2083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4461 .loc 1 2083 33 is_stmt 0 view .LVU1670
4462 0158 1A6F ldr r2, [r3, #112]
ARM GAS /tmp/ccMMu31U.s page 163
2083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4463 .loc 1 2083 14 view .LVU1671
4464 015a C2F30122 ubfx r2, r2, #8, #2
2083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4465 .loc 1 2083 12 view .LVU1672
4466 015e 81F82820 strb r2, [r1, #40]
2085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4467 .loc 1 2085 3 is_stmt 1 view .LVU1673
2085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4468 .loc 1 2085 38 is_stmt 0 view .LVU1674
4469 0162 1B6F ldr r3, [r3, #112]
4470 .LVL334:
2085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4471 .loc 1 2085 19 view .LVU1675
4472 0164 C3F34603 ubfx r3, r3, #1, #7
2085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4473 .loc 1 2085 17 view .LVU1676
4474 0168 81F82930 strb r3, [r1, #41]
2087:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4475 .loc 1 2087 3 is_stmt 1 view .LVU1677
2087:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4476 .loc 1 2087 19 is_stmt 0 view .LVU1678
4477 016c 0123 movs r3, #1
4478 016e 81F82A30 strb r3, [r1, #42]
2089:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4479 .loc 1 2089 3 is_stmt 1 view .LVU1679
2090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4480 .loc 1 2090 1 is_stmt 0 view .LVU1680
4481 0172 7047 bx lr
4482 .LVL335:
4483 .L249:
2034:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4484 .loc 1 2034 8 is_stmt 1 view .LVU1681
2034:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4485 .loc 1 2034 10 is_stmt 0 view .LVU1682
4486 0174 012A cmp r2, #1
4487 0176 11D1 bne .L251
2037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4488 .loc 1 2037 5 is_stmt 1 view .LVU1683
2037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4489 .loc 1 2037 35 is_stmt 0 view .LVU1684
4490 0178 826E ldr r2, [r0, #104]
2037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4491 .loc 1 2037 54 view .LVU1685
4492 017a 1204 lsls r2, r2, #16
4493 017c 02F47C12 and r2, r2, #4128768
2037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4494 .loc 1 2037 93 view .LVU1686
4495 0180 B0F86E00 ldrh r0, [r0, #110]
4496 .LVL336:
2037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4497 .loc 1 2037 62 view .LVU1687
4498 0184 0243 orrs r2, r2, r0
2037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4499 .loc 1 2037 22 view .LVU1688
4500 0186 0A61 str r2, [r1, #16]
2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockNbr = hsd->SdCard.BlockNbr;
ARM GAS /tmp/ccMMu31U.s page 164
4501 .loc 1 2039 5 is_stmt 1 view .LVU1689
2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockNbr = hsd->SdCard.BlockNbr;
4502 .loc 1 2039 34 is_stmt 0 view .LVU1690
4503 0188 0A69 ldr r2, [r1, #16]
2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockNbr = hsd->SdCard.BlockNbr;
4504 .loc 1 2039 47 view .LVU1691
4505 018a 0132 adds r2, r2, #1
2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockNbr = hsd->SdCard.BlockNbr;
4506 .loc 1 2039 53 view .LVU1692
4507 018c 9202 lsls r2, r2, #10
2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockNbr = hsd->SdCard.BlockNbr;
4508 .loc 1 2039 26 view .LVU1693
4509 018e 5A65 str r2, [r3, #84]
2040:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockSize = 512U;
4510 .loc 1 2040 5 is_stmt 1 view .LVU1694
2040:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockSize = 512U;
4511 .loc 1 2040 29 is_stmt 0 view .LVU1695
4512 0190 DA65 str r2, [r3, #92]
2041:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockSize = hsd->SdCard.BlockSize;
4513 .loc 1 2041 5 is_stmt 1 view .LVU1696
2041:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockSize = hsd->SdCard.BlockSize;
4514 .loc 1 2041 27 is_stmt 0 view .LVU1697
4515 0192 4FF40072 mov r2, #512
4516 0196 9A65 str r2, [r3, #88]
2042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4517 .loc 1 2042 5 is_stmt 1 view .LVU1698
2042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4518 .loc 1 2042 30 is_stmt 0 view .LVU1699
4519 0198 1A66 str r2, [r3, #96]
4520 019a 9BE7 b .L250
4521 .LVL337:
4522 .L251:
2047:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE;
4523 .loc 1 2047 5 is_stmt 1 view .LVU1700
4524 019c 0268 ldr r2, [r0]
4525 019e 0549 ldr r1, .L253
4526 .LVL338:
2047:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE;
4527 .loc 1 2047 5 is_stmt 0 view .LVU1701
4528 01a0 9163 str r1, [r2, #56]
2048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
4529 .loc 1 2048 5 is_stmt 1 view .LVU1702
2048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
4530 .loc 1 2048 8 is_stmt 0 view .LVU1703
4531 01a2 826B ldr r2, [r0, #56]
2048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
4532 .loc 1 2048 20 view .LVU1704
4533 01a4 42F08052 orr r2, r2, #268435456
4534 01a8 8263 str r2, [r0, #56]
2049:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
4535 .loc 1 2049 5 is_stmt 1 view .LVU1705
2049:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
4536 .loc 1 2049 16 is_stmt 0 view .LVU1706
4537 01aa 0120 movs r0, #1
4538 .LVL339:
2049:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
4539 .loc 1 2049 16 view .LVU1707
ARM GAS /tmp/ccMMu31U.s page 165
4540 01ac 83F83400 strb r0, [r3, #52]
2050:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4541 .loc 1 2050 5 is_stmt 1 view .LVU1708
2050:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4542 .loc 1 2050 12 is_stmt 0 view .LVU1709
4543 01b0 7047 bx lr
4544 .L254:
4545 01b2 00BF .align 2
4546 .L253:
4547 01b4 FF054000 .word 4195839
4548 .cfi_endproc
4549 .LFE161:
4551 .section .text.SD_InitCard,"ax",%progbits
4552 .align 1
4553 .syntax unified
4554 .thumb
4555 .thumb_func
4557 SD_InitCard:
4558 .LVL340:
4559 .LFB173:
2618:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardCSDTypeDef CSD;
4560 .loc 1 2618 1 is_stmt 1 view -0
4561 .cfi_startproc
4562 @ args = 0, pretend = 0, frame = 48
4563 @ frame_needed = 0, uses_anonymous_args = 0
2618:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardCSDTypeDef CSD;
4564 .loc 1 2618 1 is_stmt 0 view .LVU1711
4565 0000 70B5 push {r4, r5, r6, lr}
4566 .LCFI51:
4567 .cfi_def_cfa_offset 16
4568 .cfi_offset 4, -16
4569 .cfi_offset 5, -12
4570 .cfi_offset 6, -8
4571 .cfi_offset 14, -4
4572 0002 90B0 sub sp, sp, #64
4573 .LCFI52:
4574 .cfi_def_cfa_offset 80
4575 0004 0446 mov r4, r0
2619:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
4576 .loc 1 2619 3 is_stmt 1 view .LVU1712
2620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint16_t sd_rca = 1U;
4577 .loc 1 2620 3 view .LVU1713
2621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4578 .loc 1 2621 3 view .LVU1714
2621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4579 .loc 1 2621 12 is_stmt 0 view .LVU1715
4580 0006 0123 movs r3, #1
4581 0008 ADF81230 strh r3, [sp, #18] @ movhi
2624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4582 .loc 1 2624 3 is_stmt 1 view .LVU1716
2624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4583 .loc 1 2624 6 is_stmt 0 view .LVU1717
4584 000c 0068 ldr r0, [r0]
4585 .LVL341:
2624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4586 .loc 1 2624 6 view .LVU1718
4587 000e FFF7FEFF bl SDMMC_GetPowerState
ARM GAS /tmp/ccMMu31U.s page 166
4588 .LVL342:
2624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4589 .loc 1 2624 5 discriminator 1 view .LVU1719
4590 0012 0028 cmp r0, #0
4591 0014 6CD0 beq .L260
2630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4592 .loc 1 2630 3 is_stmt 1 view .LVU1720
2630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4593 .loc 1 2630 17 is_stmt 0 view .LVU1721
4594 0016 636C ldr r3, [r4, #68]
2630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4595 .loc 1 2630 5 view .LVU1722
4596 0018 032B cmp r3, #3
4597 001a 45D1 bne .L263
4598 .L257:
2648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4599 .loc 1 2648 3 is_stmt 1 view .LVU1723
2648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4600 .loc 1 2648 17 is_stmt 0 view .LVU1724
4601 001c 636C ldr r3, [r4, #68]
2648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4602 .loc 1 2648 5 view .LVU1725
4603 001e 032B cmp r3, #3
4604 0020 5DD1 bne .L264
4605 .L258:
2658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4606 .loc 1 2658 3 is_stmt 1 view .LVU1726
2658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4607 .loc 1 2658 17 is_stmt 0 view .LVU1727
4608 0022 636C ldr r3, [r4, #68]
2658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4609 .loc 1 2658 5 view .LVU1728
4610 0024 032B cmp r3, #3
4611 0026 1DD0 beq .L259
2661:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4612 .loc 1 2661 5 is_stmt 1 view .LVU1729
2661:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4613 .loc 1 2661 28 is_stmt 0 view .LVU1730
4614 0028 BDF81210 ldrh r1, [sp, #18]
4615 002c 2165 str r1, [r4, #80]
2664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
4616 .loc 1 2664 5 is_stmt 1 view .LVU1731
2664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
4617 .loc 1 2664 18 is_stmt 0 view .LVU1732
4618 002e 0904 lsls r1, r1, #16
4619 0030 2068 ldr r0, [r4]
4620 0032 FFF7FEFF bl SDMMC_CmdSendCSD
4621 .LVL343:
2665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4622 .loc 1 2665 5 is_stmt 1 view .LVU1733
2665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4623 .loc 1 2665 7 is_stmt 0 view .LVU1734
4624 0036 0546 mov r5, r0
4625 0038 0028 cmp r0, #0
4626 003a 5BD1 bne .L255
2672:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2);
4627 .loc 1 2672 7 is_stmt 1 view .LVU1735
ARM GAS /tmp/ccMMu31U.s page 167
2672:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2);
4628 .loc 1 2672 22 is_stmt 0 view .LVU1736
4629 003c 0021 movs r1, #0
4630 003e 2068 ldr r0, [r4]
4631 .LVL344:
2672:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2);
4632 .loc 1 2672 22 view .LVU1737
4633 0040 FFF7FEFF bl SDMMC_GetResponse
4634 .LVL345:
2672:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2);
4635 .loc 1 2672 20 discriminator 1 view .LVU1738
4636 0044 6066 str r0, [r4, #100]
2673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[2U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3);
4637 .loc 1 2673 7 is_stmt 1 view .LVU1739
2673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[2U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3);
4638 .loc 1 2673 22 is_stmt 0 view .LVU1740
4639 0046 0421 movs r1, #4
4640 0048 2068 ldr r0, [r4]
4641 004a FFF7FEFF bl SDMMC_GetResponse
4642 .LVL346:
2673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[2U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3);
4643 .loc 1 2673 20 discriminator 1 view .LVU1741
4644 004e A066 str r0, [r4, #104]
2674:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4);
4645 .loc 1 2674 7 is_stmt 1 view .LVU1742
2674:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4);
4646 .loc 1 2674 22 is_stmt 0 view .LVU1743
4647 0050 0821 movs r1, #8
4648 0052 2068 ldr r0, [r4]
4649 0054 FFF7FEFF bl SDMMC_GetResponse
4650 .LVL347:
2674:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4);
4651 .loc 1 2674 20 discriminator 1 view .LVU1744
4652 0058 E066 str r0, [r4, #108]
2675:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4653 .loc 1 2675 7 is_stmt 1 view .LVU1745
2675:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4654 .loc 1 2675 22 is_stmt 0 view .LVU1746
4655 005a 0C21 movs r1, #12
4656 005c 2068 ldr r0, [r4]
4657 005e FFF7FEFF bl SDMMC_GetResponse
4658 .LVL348:
2675:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4659 .loc 1 2675 20 discriminator 1 view .LVU1747
4660 0062 2067 str r0, [r4, #112]
4661 .LVL349:
4662 .L259:
2680:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4663 .loc 1 2680 3 is_stmt 1 view .LVU1748
2680:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4664 .loc 1 2680 24 is_stmt 0 view .LVU1749
4665 0064 0421 movs r1, #4
4666 0066 2068 ldr r0, [r4]
4667 0068 FFF7FEFF bl SDMMC_GetResponse
4668 .LVL350:
2680:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4669 .loc 1 2680 70 discriminator 1 view .LVU1750
ARM GAS /tmp/ccMMu31U.s page 168
4670 006c 000D lsrs r0, r0, #20
2680:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4671 .loc 1 2680 21 discriminator 1 view .LVU1751
4672 006e E064 str r0, [r4, #76]
2683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4673 .loc 1 2683 3 is_stmt 1 view .LVU1752
2683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4674 .loc 1 2683 7 is_stmt 0 view .LVU1753
4675 0070 05A9 add r1, sp, #20
4676 0072 2046 mov r0, r4
4677 0074 FFF7FEFF bl HAL_SD_GetCardCSD
4678 .LVL351:
2683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4679 .loc 1 2683 6 discriminator 1 view .LVU1754
4680 0078 0028 cmp r0, #0
4681 007a 3ED1 bne .L261
2689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
4682 .loc 1 2689 3 is_stmt 1 view .LVU1755
2689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
4683 .loc 1 2689 82 is_stmt 0 view .LVU1756
4684 007c 226D ldr r2, [r4, #80]
2689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
4685 .loc 1 2689 16 view .LVU1757
4686 007e 1204 lsls r2, r2, #16
4687 0080 0023 movs r3, #0
4688 0082 2068 ldr r0, [r4]
4689 0084 FFF7FEFF bl SDMMC_CmdSelDesel
4690 .LVL352:
2690:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4691 .loc 1 2690 3 is_stmt 1 view .LVU1758
2690:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4692 .loc 1 2690 5 is_stmt 0 view .LVU1759
4693 0088 0546 mov r5, r0
4694 008a 98BB cbnz r0, .L255
2696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4695 .loc 1 2696 3 is_stmt 1 view .LVU1760
2696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4696 .loc 1 2696 9 is_stmt 0 view .LVU1761
4697 008c 2346 mov r3, r4
4698 008e 53F8106B ldr r6, [r3], #16
4699 0092 93E80700 ldm r3, {r0, r1, r2}
4700 .LVL353:
2696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4701 .loc 1 2696 9 view .LVU1762
4702 0096 8DE80700 stm sp, {r0, r1, r2}
4703 009a 0434 adds r4, r4, #4
4704 .LVL354:
2696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4705 .loc 1 2696 9 view .LVU1763
4706 009c 94E80E00 ldm r4, {r1, r2, r3}
4707 00a0 3046 mov r0, r6
4708 00a2 FFF7FEFF bl SDMMC_Init
4709 .LVL355:
2699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4710 .loc 1 2699 3 is_stmt 1 view .LVU1764
2699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4711 .loc 1 2699 10 is_stmt 0 view .LVU1765
ARM GAS /tmp/ccMMu31U.s page 169
4712 00a6 25E0 b .L255
4713 .LVL356:
4714 .L263:
2633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
4715 .loc 1 2633 5 is_stmt 1 view .LVU1766
2633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
4716 .loc 1 2633 18 is_stmt 0 view .LVU1767
4717 00a8 2068 ldr r0, [r4]
4718 00aa FFF7FEFF bl SDMMC_CmdSendCID
4719 .LVL357:
2634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4720 .loc 1 2634 5 is_stmt 1 view .LVU1768
2634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4721 .loc 1 2634 7 is_stmt 0 view .LVU1769
4722 00ae 0546 mov r5, r0
4723 00b0 00BB cbnz r0, .L255
2641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2);
4724 .loc 1 2641 7 is_stmt 1 view .LVU1770
2641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2);
4725 .loc 1 2641 22 is_stmt 0 view .LVU1771
4726 00b2 0021 movs r1, #0
4727 00b4 2068 ldr r0, [r4]
4728 .LVL358:
2641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2);
4729 .loc 1 2641 22 view .LVU1772
4730 00b6 FFF7FEFF bl SDMMC_GetResponse
4731 .LVL359:
2641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2);
4732 .loc 1 2641 20 discriminator 1 view .LVU1773
4733 00ba 6067 str r0, [r4, #116]
2642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[2U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3);
4734 .loc 1 2642 7 is_stmt 1 view .LVU1774
2642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[2U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3);
4735 .loc 1 2642 22 is_stmt 0 view .LVU1775
4736 00bc 0421 movs r1, #4
4737 00be 2068 ldr r0, [r4]
4738 00c0 FFF7FEFF bl SDMMC_GetResponse
4739 .LVL360:
2642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[2U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3);
4740 .loc 1 2642 20 discriminator 1 view .LVU1776
4741 00c4 A067 str r0, [r4, #120]
2643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4);
4742 .loc 1 2643 7 is_stmt 1 view .LVU1777
2643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4);
4743 .loc 1 2643 22 is_stmt 0 view .LVU1778
4744 00c6 0821 movs r1, #8
4745 00c8 2068 ldr r0, [r4]
4746 00ca FFF7FEFF bl SDMMC_GetResponse
4747 .LVL361:
2643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4);
4748 .loc 1 2643 20 discriminator 1 view .LVU1779
4749 00ce E067 str r0, [r4, #124]
2644:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4750 .loc 1 2644 7 is_stmt 1 view .LVU1780
2644:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4751 .loc 1 2644 22 is_stmt 0 view .LVU1781
4752 00d0 0C21 movs r1, #12
ARM GAS /tmp/ccMMu31U.s page 170
4753 00d2 2068 ldr r0, [r4]
4754 00d4 FFF7FEFF bl SDMMC_GetResponse
4755 .LVL362:
2644:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4756 .loc 1 2644 20 discriminator 1 view .LVU1782
4757 00d8 C4F88000 str r0, [r4, #128]
4758 00dc 9EE7 b .L257
4759 .LVL363:
4760 .L264:
2652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
4761 .loc 1 2652 5 is_stmt 1 view .LVU1783
2652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
4762 .loc 1 2652 18 is_stmt 0 view .LVU1784
4763 00de 0DF11201 add r1, sp, #18
4764 00e2 2068 ldr r0, [r4]
4765 00e4 FFF7FEFF bl SDMMC_CmdSetRelAdd
4766 .LVL364:
2653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4767 .loc 1 2653 5 is_stmt 1 view .LVU1785
2653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4768 .loc 1 2653 7 is_stmt 0 view .LVU1786
4769 00e8 0546 mov r5, r0
4770 00ea 0028 cmp r0, #0
4771 00ec 99D0 beq .L258
4772 00ee 01E0 b .L255
4773 .LVL365:
4774 .L260:
2627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4775 .loc 1 2627 12 view .LVU1787
4776 00f0 4FF08065 mov r5, #67108864
4777 .LVL366:
4778 .L255:
2700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4779 .loc 1 2700 1 view .LVU1788
4780 00f4 2846 mov r0, r5
4781 00f6 10B0 add sp, sp, #64
4782 .LCFI53:
4783 .cfi_remember_state
4784 .cfi_def_cfa_offset 16
4785 @ sp needed
4786 00f8 70BD pop {r4, r5, r6, pc}
4787 .LVL367:
4788 .L261:
4789 .LCFI54:
4790 .cfi_restore_state
2685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4791 .loc 1 2685 12 view .LVU1789
4792 00fa 4FF08055 mov r5, #268435456
4793 00fe F9E7 b .L255
4794 .cfi_endproc
4795 .LFE173:
4797 .section .text.HAL_SD_InitCard,"ax",%progbits
4798 .align 1
4799 .global HAL_SD_InitCard
4800 .syntax unified
4801 .thumb
4802 .thumb_func
ARM GAS /tmp/ccMMu31U.s page 171
4804 HAL_SD_InitCard:
4805 .LVL368:
4806 .LFB142:
404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
4807 .loc 1 404 1 is_stmt 1 view -0
4808 .cfi_startproc
4809 @ args = 0, pretend = 0, frame = 24
4810 @ frame_needed = 0, uses_anonymous_args = 0
404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
4811 .loc 1 404 1 is_stmt 0 view .LVU1791
4812 0000 30B5 push {r4, r5, lr}
4813 .LCFI55:
4814 .cfi_def_cfa_offset 12
4815 .cfi_offset 4, -12
4816 .cfi_offset 5, -8
4817 .cfi_offset 14, -4
4818 0002 8BB0 sub sp, sp, #44
4819 .LCFI56:
4820 .cfi_def_cfa_offset 56
4821 0004 0446 mov r4, r0
405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef status;
4822 .loc 1 405 3 is_stmt 1 view .LVU1792
406:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_InitTypeDef Init;
4823 .loc 1 406 3 view .LVU1793
407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4824 .loc 1 407 3 view .LVU1794
410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE;
4825 .loc 1 410 3 view .LVU1795
410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE;
4826 .loc 1 410 28 is_stmt 0 view .LVU1796
4827 0006 0023 movs r3, #0
4828 0008 0493 str r3, [sp, #16]
411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE;
4829 .loc 1 411 3 is_stmt 1 view .LVU1797
411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE;
4830 .loc 1 411 28 is_stmt 0 view .LVU1798
4831 000a 0593 str r3, [sp, #20]
412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.BusWide = SDMMC_BUS_WIDE_1B;
4832 .loc 1 412 3 is_stmt 1 view .LVU1799
412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.BusWide = SDMMC_BUS_WIDE_1B;
4833 .loc 1 412 28 is_stmt 0 view .LVU1800
4834 000c 0693 str r3, [sp, #24]
413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE;
4835 .loc 1 413 3 is_stmt 1 view .LVU1801
413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE;
4836 .loc 1 413 28 is_stmt 0 view .LVU1802
4837 000e 0793 str r3, [sp, #28]
414:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockDiv = SDMMC_INIT_CLK_DIV;
4838 .loc 1 414 3 is_stmt 1 view .LVU1803
414:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockDiv = SDMMC_INIT_CLK_DIV;
4839 .loc 1 414 28 is_stmt 0 view .LVU1804
4840 0010 0893 str r3, [sp, #32]
415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4841 .loc 1 415 3 is_stmt 1 view .LVU1805
415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4842 .loc 1 415 28 is_stmt 0 view .LVU1806
4843 0012 7623 movs r3, #118
ARM GAS /tmp/ccMMu31U.s page 172
4844 0014 0993 str r3, [sp, #36]
418:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(status != HAL_OK)
4845 .loc 1 418 3 is_stmt 1 view .LVU1807
418:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(status != HAL_OK)
4846 .loc 1 418 12 is_stmt 0 view .LVU1808
4847 0016 0AAB add r3, sp, #40
4848 0018 13E90700 ldmdb r3, {r0, r1, r2}
4849 .LVL369:
418:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(status != HAL_OK)
4850 .loc 1 418 12 view .LVU1809
4851 001c 8DE80700 stm sp, {r0, r1, r2}
4852 0020 04AB add r3, sp, #16
4853 0022 0ECB ldm r3, {r1, r2, r3}
4854 0024 2068 ldr r0, [r4]
4855 0026 FFF7FEFF bl SDMMC_Init
4856 .LVL370:
419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4857 .loc 1 419 3 is_stmt 1 view .LVU1810
419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4858 .loc 1 419 5 is_stmt 0 view .LVU1811
4859 002a 18B1 cbz r0, .L271
421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4860 .loc 1 421 12 view .LVU1812
4861 002c 0125 movs r5, #1
4862 .LVL371:
4863 .L266:
466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4864 .loc 1 466 1 view .LVU1813
4865 002e 2846 mov r0, r5
4866 0030 0BB0 add sp, sp, #44
4867 .LCFI57:
4868 .cfi_remember_state
4869 .cfi_def_cfa_offset 12
4870 @ sp needed
4871 0032 30BD pop {r4, r5, pc}
4872 .LVL372:
4873 .L271:
4874 .LCFI58:
4875 .cfi_restore_state
466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4876 .loc 1 466 1 view .LVU1814
4877 0034 0546 mov r5, r0
425:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4878 .loc 1 425 3 is_stmt 1 view .LVU1815
4879 0036 2268 ldr r2, [r4]
4880 0038 5368 ldr r3, [r2, #4]
4881 003a 23F48073 bic r3, r3, #256
4882 003e 5360 str r3, [r2, #4]
428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4883 .loc 1 428 3 view .LVU1816
428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4884 .loc 1 428 9 is_stmt 0 view .LVU1817
4885 0040 2068 ldr r0, [r4]
4886 .LVL373:
428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4887 .loc 1 428 9 view .LVU1818
4888 0042 FFF7FEFF bl SDMMC_PowerState_ON
ARM GAS /tmp/ccMMu31U.s page 173
4889 .LVL374:
431:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4890 .loc 1 431 3 is_stmt 1 view .LVU1819
4891 0046 2268 ldr r2, [r4]
4892 0048 5368 ldr r3, [r2, #4]
4893 004a 43F48073 orr r3, r3, #256
4894 004e 5360 str r3, [r2, #4]
434:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
4895 .loc 1 434 3 view .LVU1820
4896 0050 0220 movs r0, #2
4897 0052 FFF7FEFF bl HAL_Delay
4898 .LVL375:
437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
4899 .loc 1 437 3 view .LVU1821
437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
4900 .loc 1 437 16 is_stmt 0 view .LVU1822
4901 0056 2046 mov r0, r4
4902 0058 FFF7FEFF bl SD_PowerON
4903 .LVL376:
438:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4904 .loc 1 438 3 is_stmt 1 view .LVU1823
438:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4905 .loc 1 438 5 is_stmt 0 view .LVU1824
4906 005c 30B1 cbz r0, .L267
440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
4907 .loc 1 440 5 is_stmt 1 view .LVU1825
440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
4908 .loc 1 440 16 is_stmt 0 view .LVU1826
4909 005e 0125 movs r5, #1
4910 0060 84F83450 strb r5, [r4, #52]
441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
4911 .loc 1 441 5 is_stmt 1 view .LVU1827
441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
4912 .loc 1 441 8 is_stmt 0 view .LVU1828
4913 0064 A36B ldr r3, [r4, #56]
441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
4914 .loc 1 441 20 view .LVU1829
4915 0066 0343 orrs r3, r3, r0
4916 0068 A363 str r3, [r4, #56]
442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4917 .loc 1 442 5 is_stmt 1 view .LVU1830
442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4918 .loc 1 442 12 is_stmt 0 view .LVU1831
4919 006a E0E7 b .L266
4920 .L267:
446:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
4921 .loc 1 446 3 is_stmt 1 view .LVU1832
446:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
4922 .loc 1 446 16 is_stmt 0 view .LVU1833
4923 006c 2046 mov r0, r4
4924 .LVL377:
446:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
4925 .loc 1 446 16 view .LVU1834
4926 006e FFF7FEFF bl SD_InitCard
4927 .LVL378:
447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4928 .loc 1 447 3 is_stmt 1 view .LVU1835
ARM GAS /tmp/ccMMu31U.s page 174
447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4929 .loc 1 447 5 is_stmt 0 view .LVU1836
4930 0072 30B1 cbz r0, .L268
449:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
4931 .loc 1 449 5 is_stmt 1 view .LVU1837
449:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
4932 .loc 1 449 16 is_stmt 0 view .LVU1838
4933 0074 0125 movs r5, #1
4934 0076 84F83450 strb r5, [r4, #52]
450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
4935 .loc 1 450 5 is_stmt 1 view .LVU1839
450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
4936 .loc 1 450 8 is_stmt 0 view .LVU1840
4937 007a A36B ldr r3, [r4, #56]
450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
4938 .loc 1 450 20 view .LVU1841
4939 007c 0343 orrs r3, r3, r0
4940 007e A363 str r3, [r4, #56]
451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4941 .loc 1 451 5 is_stmt 1 view .LVU1842
451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4942 .loc 1 451 12 is_stmt 0 view .LVU1843
4943 0080 D5E7 b .L266
4944 .L268:
455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
4945 .loc 1 455 3 is_stmt 1 view .LVU1844
455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
4946 .loc 1 455 16 is_stmt 0 view .LVU1845
4947 0082 4FF40071 mov r1, #512
4948 0086 2068 ldr r0, [r4]
4949 .LVL379:
455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
4950 .loc 1 455 16 view .LVU1846
4951 0088 FFF7FEFF bl SDMMC_CmdBlockLength
4952 .LVL380:
456:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4953 .loc 1 456 3 is_stmt 1 view .LVU1847
456:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4954 .loc 1 456 5 is_stmt 0 view .LVU1848
4955 008c 0028 cmp r0, #0
4956 008e CED0 beq .L266
459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
4957 .loc 1 459 5 is_stmt 1 view .LVU1849
4958 0090 2368 ldr r3, [r4]
4959 0092 0449 ldr r1, .L272
4960 0094 9963 str r1, [r3, #56]
460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
4961 .loc 1 460 5 view .LVU1850
460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
4962 .loc 1 460 8 is_stmt 0 view .LVU1851
4963 0096 A36B ldr r3, [r4, #56]
460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
4964 .loc 1 460 20 view .LVU1852
4965 0098 0343 orrs r3, r3, r0
4966 009a A363 str r3, [r4, #56]
461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
4967 .loc 1 461 5 is_stmt 1 view .LVU1853
ARM GAS /tmp/ccMMu31U.s page 175
461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR;
4968 .loc 1 461 16 is_stmt 0 view .LVU1854
4969 009c 0125 movs r5, #1
4970 009e 84F83450 strb r5, [r4, #52]
462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4971 .loc 1 462 5 is_stmt 1 view .LVU1855
462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
4972 .loc 1 462 12 is_stmt 0 view .LVU1856
4973 00a2 C4E7 b .L266
4974 .L273:
4975 .align 2
4976 .L272:
4977 00a4 FF054000 .word 4195839
4978 .cfi_endproc
4979 .LFE142:
4981 .section .text.HAL_SD_Init,"ax",%progbits
4982 .align 1
4983 .global HAL_SD_Init
4984 .syntax unified
4985 .thumb
4986 .thumb_func
4988 HAL_SD_Init:
4989 .LVL381:
4990 .LFB141:
336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Check the SD handle allocation */
4991 .loc 1 336 1 is_stmt 1 view -0
4992 .cfi_startproc
4993 @ args = 0, pretend = 0, frame = 0
4994 @ frame_needed = 0, uses_anonymous_args = 0
338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4995 .loc 1 338 3 view .LVU1858
338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
4996 .loc 1 338 5 is_stmt 0 view .LVU1859
4997 0000 A8B1 cbz r0, .L277
336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Check the SD handle allocation */
4998 .loc 1 336 1 view .LVU1860
4999 0002 10B5 push {r4, lr}
5000 .LCFI59:
5001 .cfi_def_cfa_offset 8
5002 .cfi_offset 4, -8
5003 .cfi_offset 14, -4
5004 0004 0446 mov r4, r0
344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_CLOCK_EDGE(hsd->Init.ClockEdge));
5005 .loc 1 344 3 is_stmt 1 view .LVU1861
345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_CLOCK_BYPASS(hsd->Init.ClockBypass));
5006 .loc 1 345 3 view .LVU1862
346:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_CLOCK_POWER_SAVE(hsd->Init.ClockPowerSave));
5007 .loc 1 346 3 view .LVU1863
347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_BUS_WIDE(hsd->Init.BusWide));
5008 .loc 1 347 3 view .LVU1864
348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_HARDWARE_FLOW_CONTROL(hsd->Init.HardwareFlowControl));
5009 .loc 1 348 3 view .LVU1865
349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_CLKDIV(hsd->Init.ClockDiv));
5010 .loc 1 349 3 view .LVU1866
350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5011 .loc 1 350 3 view .LVU1867
352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
ARM GAS /tmp/ccMMu31U.s page 176
5012 .loc 1 352 3 view .LVU1868
352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5013 .loc 1 352 9 is_stmt 0 view .LVU1869
5014 0006 90F83430 ldrb r3, [r0, #52] @ zero_extendqisi2
352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5015 .loc 1 352 5 view .LVU1870
5016 000a 63B1 cbz r3, .L283
5017 .LVL382:
5018 .L276:
376:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5019 .loc 1 376 3 is_stmt 1 view .LVU1871
376:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5020 .loc 1 376 14 is_stmt 0 view .LVU1872
5021 000c 0323 movs r3, #3
5022 000e 84F83430 strb r3, [r4, #52]
379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5023 .loc 1 379 3 is_stmt 1 view .LVU1873
379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5024 .loc 1 379 7 is_stmt 0 view .LVU1874
5025 0012 2046 mov r0, r4
5026 0014 FFF7FEFF bl HAL_SD_InitCard
5027 .LVL383:
379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5028 .loc 1 379 6 discriminator 1 view .LVU1875
5029 0018 58B9 cbnz r0, .L278
385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5030 .loc 1 385 3 is_stmt 1 view .LVU1876
385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5031 .loc 1 385 18 is_stmt 0 view .LVU1877
5032 001a A063 str r0, [r4, #56]
388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5033 .loc 1 388 3 is_stmt 1 view .LVU1878
388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5034 .loc 1 388 16 is_stmt 0 view .LVU1879
5035 001c 2063 str r0, [r4, #48]
391:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5036 .loc 1 391 3 is_stmt 1 view .LVU1880
391:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5037 .loc 1 391 14 is_stmt 0 view .LVU1881
5038 001e 0123 movs r3, #1
5039 0020 84F83430 strb r3, [r4, #52]
393:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5040 .loc 1 393 3 is_stmt 1 view .LVU1882
5041 .L275:
394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5042 .loc 1 394 1 is_stmt 0 view .LVU1883
5043 0024 10BD pop {r4, pc}
5044 .LVL384:
5045 .L283:
355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
5046 .loc 1 355 5 is_stmt 1 view .LVU1884
355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
5047 .loc 1 355 15 is_stmt 0 view .LVU1885
5048 0026 0377 strb r3, [r0, #28]
372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
5049 .loc 1 372 5 is_stmt 1 view .LVU1886
5050 0028 FFF7FEFF bl HAL_SD_MspInit
ARM GAS /tmp/ccMMu31U.s page 177
5051 .LVL385:
372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
5052 .loc 1 372 5 is_stmt 0 view .LVU1887
5053 002c EEE7 b .L276
5054 .LVL386:
5055 .L277:
5056 .LCFI60:
5057 .cfi_def_cfa_offset 0
5058 .cfi_restore 4
5059 .cfi_restore 14
340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5060 .loc 1 340 12 view .LVU1888
5061 002e 0120 movs r0, #1
5062 .LVL387:
394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5063 .loc 1 394 1 view .LVU1889
5064 0030 7047 bx lr
5065 .LVL388:
5066 .L278:
5067 .LCFI61:
5068 .cfi_def_cfa_offset 8
5069 .cfi_offset 4, -8
5070 .cfi_offset 14, -4
381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5071 .loc 1 381 12 view .LVU1890
5072 0032 0120 movs r0, #1
5073 0034 F6E7 b .L275
5074 .cfi_endproc
5075 .LFE141:
5077 .section .text.HAL_SD_GetCardStatus,"ax",%progbits
5078 .align 1
5079 .global HAL_SD_GetCardStatus
5080 .syntax unified
5081 .thumb
5082 .thumb_func
5084 HAL_SD_GetCardStatus:
5085 .LVL389:
5086 .LFB162:
2100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t sd_status[16];
5087 .loc 1 2100 1 is_stmt 1 view -0
5088 .cfi_startproc
5089 @ args = 0, pretend = 0, frame = 64
5090 @ frame_needed = 0, uses_anonymous_args = 0
2100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t sd_status[16];
5091 .loc 1 2100 1 is_stmt 0 view .LVU1892
5092 0000 30B5 push {r4, r5, lr}
5093 .LCFI62:
5094 .cfi_def_cfa_offset 12
5095 .cfi_offset 4, -12
5096 .cfi_offset 5, -8
5097 .cfi_offset 14, -4
5098 0002 91B0 sub sp, sp, #68
5099 .LCFI63:
5100 .cfi_def_cfa_offset 80
5101 0004 0546 mov r5, r0
5102 0006 0C46 mov r4, r1
2101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
ARM GAS /tmp/ccMMu31U.s page 178
5103 .loc 1 2101 3 is_stmt 1 view .LVU1893
2102:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef status = HAL_OK;
5104 .loc 1 2102 3 view .LVU1894
2103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5105 .loc 1 2103 3 view .LVU1895
5106 .LVL390:
2105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
5107 .loc 1 2105 3 view .LVU1896
2105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
5108 .loc 1 2105 16 is_stmt 0 view .LVU1897
5109 0008 6946 mov r1, sp
5110 .LVL391:
2105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
5111 .loc 1 2105 16 view .LVU1898
5112 000a FFF7FEFF bl SD_SendSDStatus
5113 .LVL392:
2106:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5114 .loc 1 2106 3 is_stmt 1 view .LVU1899
2106:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5115 .loc 1 2106 5 is_stmt 0 view .LVU1900
5116 000e C0B1 cbz r0, .L285
2109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
5117 .loc 1 2109 5 is_stmt 1 view .LVU1901
5118 0010 2B68 ldr r3, [r5]
5119 0012 2549 ldr r1, .L289
5120 0014 9963 str r1, [r3, #56]
2110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
5121 .loc 1 2110 5 view .LVU1902
2110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
5122 .loc 1 2110 8 is_stmt 0 view .LVU1903
5123 0016 AB6B ldr r3, [r5, #56]
2110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
5124 .loc 1 2110 20 view .LVU1904
5125 0018 0343 orrs r3, r3, r0
5126 001a AB63 str r3, [r5, #56]
2111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
5127 .loc 1 2111 5 is_stmt 1 view .LVU1905
2111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
5128 .loc 1 2111 16 is_stmt 0 view .LVU1906
5129 001c 0124 movs r4, #1
5130 .LVL393:
2111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
5131 .loc 1 2111 16 view .LVU1907
5132 001e 85F83440 strb r4, [r5, #52]
2112:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5133 .loc 1 2112 5 is_stmt 1 view .LVU1908
5134 .LVL394:
5135 .L286:
2139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
5136 .loc 1 2139 3 view .LVU1909
2139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
5137 .loc 1 2139 16 is_stmt 0 view .LVU1910
5138 0022 4FF40071 mov r1, #512
5139 0026 2868 ldr r0, [r5]
5140 .LVL395:
2139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
5141 .loc 1 2139 16 view .LVU1911
ARM GAS /tmp/ccMMu31U.s page 179
5142 0028 FFF7FEFF bl SDMMC_CmdBlockLength
5143 .LVL396:
2140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5144 .loc 1 2140 3 is_stmt 1 view .LVU1912
2140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5145 .loc 1 2140 5 is_stmt 0 view .LVU1913
5146 002c 30B1 cbz r0, .L287
2143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode = errorstate;
5147 .loc 1 2143 5 is_stmt 1 view .LVU1914
5148 002e 2A68 ldr r2, [r5]
5149 0030 1D49 ldr r1, .L289
5150 0032 9163 str r1, [r2, #56]
2144:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
5151 .loc 1 2144 5 view .LVU1915
2144:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
5152 .loc 1 2144 20 is_stmt 0 view .LVU1916
5153 0034 A863 str r0, [r5, #56]
2145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
5154 .loc 1 2145 5 is_stmt 1 view .LVU1917
2145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
5155 .loc 1 2145 16 is_stmt 0 view .LVU1918
5156 0036 0124 movs r4, #1
5157 .LVL397:
2145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
5158 .loc 1 2145 16 view .LVU1919
5159 0038 85F83440 strb r4, [r5, #52]
2146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5160 .loc 1 2146 5 is_stmt 1 view .LVU1920
5161 .LVL398:
5162 .L287:
2149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5163 .loc 1 2149 3 view .LVU1921
2150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5164 .loc 1 2150 1 is_stmt 0 view .LVU1922
5165 003c 2046 mov r0, r4
5166 .LVL399:
2150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5167 .loc 1 2150 1 view .LVU1923
5168 003e 11B0 add sp, sp, #68
5169 .LCFI64:
5170 .cfi_remember_state
5171 .cfi_def_cfa_offset 12
5172 @ sp needed
5173 0040 30BD pop {r4, r5, pc}
5174 .LVL400:
5175 .L285:
5176 .LCFI65:
5177 .cfi_restore_state
2116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5178 .loc 1 2116 5 is_stmt 1 view .LVU1924
2116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5179 .loc 1 2116 49 is_stmt 0 view .LVU1925
5180 0042 009A ldr r2, [sp]
2116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5181 .loc 1 2116 29 view .LVU1926
5182 0044 C2F38113 ubfx r3, r2, #6, #2
2116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
ARM GAS /tmp/ccMMu31U.s page 180
5183 .loc 1 2116 27 view .LVU1927
5184 0048 2370 strb r3, [r4]
2118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5185 .loc 1 2118 5 is_stmt 1 view .LVU1928
2118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5186 .loc 1 2118 28 is_stmt 0 view .LVU1929
5187 004a C2F34013 ubfx r3, r2, #5, #1
2118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5188 .loc 1 2118 26 view .LVU1930
5189 004e 6370 strb r3, [r4, #1]
2120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5190 .loc 1 2120 5 is_stmt 1 view .LVU1931
2120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5191 .loc 1 2120 66 is_stmt 0 view .LVU1932
5192 0050 130A lsrs r3, r2, #8
2120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5193 .loc 1 2120 25 view .LVU1933
5194 0052 23F0FF03 bic r3, r3, #255
5195 0056 43EA1263 orr r3, r3, r2, lsr #24
5196 005a 9BB2 uxth r3, r3
2120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5197 .loc 1 2120 23 view .LVU1934
5198 005c 6380 strh r3, [r4, #2] @ movhi
2122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((sd_status[1] & 0xFF0000U) >> 8U) | ((sd_status[1] & 0xFF000000U
5199 .loc 1 2122 5 is_stmt 1 view .LVU1935
2122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((sd_status[1] & 0xFF0000U) >> 8U) | ((sd_status[1] & 0xFF000000U
5200 .loc 1 2122 46 is_stmt 0 view .LVU1936
5201 005e 019A ldr r2, [sp, #4]
2122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((sd_status[1] & 0xFF0000U) >> 8U) | ((sd_status[1] & 0xFF000000U
5202 .loc 1 2122 98 view .LVU1937
5203 0060 1302 lsls r3, r2, #8
5204 0062 03F47F03 and r3, r3, #16711680
2122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((sd_status[1] & 0xFF0000U) >> 8U) | ((sd_status[1] & 0xFF000000U
5205 .loc 1 2122 70 view .LVU1938
5206 0066 43EA0263 orr r3, r3, r2, lsl #24
2123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5207 .loc 1 2123 63 view .LVU1939
5208 006a 110A lsrs r1, r2, #8
5209 006c 01F47F41 and r1, r1, #65280
2122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((sd_status[1] & 0xFF0000U) >> 8U) | ((sd_status[1] & 0xFF000000U
5210 .loc 1 2122 105 view .LVU1940
5211 0070 0B43 orrs r3, r3, r1
2123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5212 .loc 1 2123 70 view .LVU1941
5213 0072 43EA1263 orr r3, r3, r2, lsr #24
2122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((sd_status[1] & 0xFF0000U) >> 8U) | ((sd_status[1] & 0xFF000000U
5214 .loc 1 2122 32 view .LVU1942
5215 0076 6360 str r3, [r4, #4]
2125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5216 .loc 1 2125 5 is_stmt 1 view .LVU1943
2125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5217 .loc 1 2125 46 is_stmt 0 view .LVU1944
5218 0078 029B ldr r3, [sp, #8]
2125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5219 .loc 1 2125 27 view .LVU1945
5220 007a DAB2 uxtb r2, r3
2125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
ARM GAS /tmp/ccMMu31U.s page 181
5221 .loc 1 2125 25 view .LVU1946
5222 007c 2272 strb r2, [r4, #8]
2127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5223 .loc 1 2127 5 is_stmt 1 view .LVU1947
2127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5224 .loc 1 2127 32 is_stmt 0 view .LVU1948
5225 007e C3F30722 ubfx r2, r3, #8, #8
2127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5226 .loc 1 2127 30 view .LVU1949
5227 0082 6272 strb r2, [r4, #9]
2129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5228 .loc 1 2129 5 is_stmt 1 view .LVU1950
2129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5229 .loc 1 2129 35 is_stmt 0 view .LVU1951
5230 0084 C3F30352 ubfx r2, r3, #20, #4
2129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5231 .loc 1 2129 33 view .LVU1952
5232 0088 A272 strb r2, [r4, #10]
2131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5233 .loc 1 2131 5 is_stmt 1 view .LVU1953
2131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5234 .loc 1 2131 67 is_stmt 0 view .LVU1954
5235 008a 1B0C lsrs r3, r3, #16
2131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5236 .loc 1 2131 87 view .LVU1955
5237 008c 039A ldr r2, [sp, #12]
2131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5238 .loc 1 2131 91 view .LVU1956
5239 008e D1B2 uxtb r1, r2
2131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5240 .loc 1 2131 26 view .LVU1957
5241 0090 23F0FF03 bic r3, r3, #255
5242 0094 0B43 orrs r3, r3, r1
2131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5243 .loc 1 2131 24 view .LVU1958
5244 0096 A381 strh r3, [r4, #12] @ movhi
2133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5245 .loc 1 2133 5 is_stmt 1 view .LVU1959
2133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5246 .loc 1 2133 29 is_stmt 0 view .LVU1960
5247 0098 C2F38523 ubfx r3, r2, #10, #6
2133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5248 .loc 1 2133 27 view .LVU1961
5249 009c A373 strb r3, [r4, #14]
2135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5250 .loc 1 2135 5 is_stmt 1 view .LVU1962
2135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5251 .loc 1 2135 28 is_stmt 0 view .LVU1963
5252 009e C2F30122 ubfx r2, r2, #8, #2
2135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5253 .loc 1 2135 26 view .LVU1964
5254 00a2 E273 strb r2, [r4, #15]
2103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5255 .loc 1 2103 21 view .LVU1965
5256 00a4 0024 movs r4, #0
5257 .LVL401:
2103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
ARM GAS /tmp/ccMMu31U.s page 182
5258 .loc 1 2103 21 view .LVU1966
5259 00a6 BCE7 b .L286
5260 .L290:
5261 .align 2
5262 .L289:
5263 00a8 FF054000 .word 4195839
5264 .cfi_endproc
5265 .LFE162:
5267 .section .text.HAL_SD_GetCardInfo,"ax",%progbits
5268 .align 1
5269 .global HAL_SD_GetCardInfo
5270 .syntax unified
5271 .thumb
5272 .thumb_func
5274 HAL_SD_GetCardInfo:
5275 .LVL402:
5276 .LFB163:
2160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->CardType = (uint32_t)(hsd->SdCard.CardType);
5277 .loc 1 2160 1 is_stmt 1 view -0
5278 .cfi_startproc
5279 @ args = 0, pretend = 0, frame = 0
5280 @ frame_needed = 0, uses_anonymous_args = 0
5281 @ link register save eliminated.
2161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->CardVersion = (uint32_t)(hsd->SdCard.CardVersion);
5282 .loc 1 2161 3 view .LVU1968
2161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->CardVersion = (uint32_t)(hsd->SdCard.CardVersion);
5283 .loc 1 2161 51 is_stmt 0 view .LVU1969
5284 0000 436C ldr r3, [r0, #68]
2161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->CardVersion = (uint32_t)(hsd->SdCard.CardVersion);
5285 .loc 1 2161 27 view .LVU1970
5286 0002 0B60 str r3, [r1]
2162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->Class = (uint32_t)(hsd->SdCard.Class);
5287 .loc 1 2162 3 is_stmt 1 view .LVU1971
2162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->Class = (uint32_t)(hsd->SdCard.Class);
5288 .loc 1 2162 51 is_stmt 0 view .LVU1972
5289 0004 836C ldr r3, [r0, #72]
2162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->Class = (uint32_t)(hsd->SdCard.Class);
5290 .loc 1 2162 27 view .LVU1973
5291 0006 4B60 str r3, [r1, #4]
2163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->RelCardAdd = (uint32_t)(hsd->SdCard.RelCardAdd);
5292 .loc 1 2163 3 is_stmt 1 view .LVU1974
2163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->RelCardAdd = (uint32_t)(hsd->SdCard.RelCardAdd);
5293 .loc 1 2163 51 is_stmt 0 view .LVU1975
5294 0008 C36C ldr r3, [r0, #76]
2163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->RelCardAdd = (uint32_t)(hsd->SdCard.RelCardAdd);
5295 .loc 1 2163 27 view .LVU1976
5296 000a 8B60 str r3, [r1, #8]
2164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->BlockNbr = (uint32_t)(hsd->SdCard.BlockNbr);
5297 .loc 1 2164 3 is_stmt 1 view .LVU1977
2164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->BlockNbr = (uint32_t)(hsd->SdCard.BlockNbr);
5298 .loc 1 2164 51 is_stmt 0 view .LVU1978
5299 000c 036D ldr r3, [r0, #80]
2164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->BlockNbr = (uint32_t)(hsd->SdCard.BlockNbr);
5300 .loc 1 2164 27 view .LVU1979
5301 000e CB60 str r3, [r1, #12]
2165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->BlockSize = (uint32_t)(hsd->SdCard.BlockSize);
5302 .loc 1 2165 3 is_stmt 1 view .LVU1980
ARM GAS /tmp/ccMMu31U.s page 183
2165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->BlockSize = (uint32_t)(hsd->SdCard.BlockSize);
5303 .loc 1 2165 51 is_stmt 0 view .LVU1981
5304 0010 436D ldr r3, [r0, #84]
2165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->BlockSize = (uint32_t)(hsd->SdCard.BlockSize);
5305 .loc 1 2165 27 view .LVU1982
5306 0012 0B61 str r3, [r1, #16]
2166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->LogBlockNbr = (uint32_t)(hsd->SdCard.LogBlockNbr);
5307 .loc 1 2166 3 is_stmt 1 view .LVU1983
2166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->LogBlockNbr = (uint32_t)(hsd->SdCard.LogBlockNbr);
5308 .loc 1 2166 51 is_stmt 0 view .LVU1984
5309 0014 836D ldr r3, [r0, #88]
2166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->LogBlockNbr = (uint32_t)(hsd->SdCard.LogBlockNbr);
5310 .loc 1 2166 27 view .LVU1985
5311 0016 4B61 str r3, [r1, #20]
2167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->LogBlockSize = (uint32_t)(hsd->SdCard.LogBlockSize);
5312 .loc 1 2167 3 is_stmt 1 view .LVU1986
2167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->LogBlockSize = (uint32_t)(hsd->SdCard.LogBlockSize);
5313 .loc 1 2167 51 is_stmt 0 view .LVU1987
5314 0018 C36D ldr r3, [r0, #92]
2167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->LogBlockSize = (uint32_t)(hsd->SdCard.LogBlockSize);
5315 .loc 1 2167 27 view .LVU1988
5316 001a 8B61 str r3, [r1, #24]
2168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5317 .loc 1 2168 3 is_stmt 1 view .LVU1989
2168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5318 .loc 1 2168 51 is_stmt 0 view .LVU1990
5319 001c 036E ldr r3, [r0, #96]
2168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5320 .loc 1 2168 27 view .LVU1991
5321 001e CB61 str r3, [r1, #28]
2170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5322 .loc 1 2170 3 is_stmt 1 view .LVU1992
2171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5323 .loc 1 2171 1 is_stmt 0 view .LVU1993
5324 0020 0020 movs r0, #0
5325 .LVL403:
2171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5326 .loc 1 2171 1 view .LVU1994
5327 0022 7047 bx lr
5328 .cfi_endproc
5329 .LFE163:
5331 .section .text.HAL_SD_ConfigWideBusOperation,"ax",%progbits
5332 .align 1
5333 .global HAL_SD_ConfigWideBusOperation
5334 .syntax unified
5335 .thumb
5336 .thumb_func
5338 HAL_SD_ConfigWideBusOperation:
5339 .LVL404:
5340 .LFB164:
2185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_InitTypeDef Init;
5341 .loc 1 2185 1 is_stmt 1 view -0
5342 .cfi_startproc
5343 @ args = 0, pretend = 0, frame = 24
5344 @ frame_needed = 0, uses_anonymous_args = 0
2185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_InitTypeDef Init;
5345 .loc 1 2185 1 is_stmt 0 view .LVU1996
ARM GAS /tmp/ccMMu31U.s page 184
5346 0000 30B5 push {r4, r5, lr}
5347 .LCFI66:
5348 .cfi_def_cfa_offset 12
5349 .cfi_offset 4, -12
5350 .cfi_offset 5, -8
5351 .cfi_offset 14, -4
5352 0002 8BB0 sub sp, sp, #44
5353 .LCFI67:
5354 .cfi_def_cfa_offset 56
5355 0004 0446 mov r4, r0
5356 0006 0D46 mov r5, r1
2186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
5357 .loc 1 2186 3 is_stmt 1 view .LVU1997
2187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef status = HAL_OK;
5358 .loc 1 2187 3 view .LVU1998
2188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5359 .loc 1 2188 3 view .LVU1999
5360 .LVL405:
2191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5361 .loc 1 2191 3 view .LVU2000
2194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5362 .loc 1 2194 3 view .LVU2001
2194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5363 .loc 1 2194 14 is_stmt 0 view .LVU2002
5364 0008 0323 movs r3, #3
5365 000a 80F83430 strb r3, [r0, #52]
2196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5366 .loc 1 2196 3 is_stmt 1 view .LVU2003
2196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5367 .loc 1 2196 17 is_stmt 0 view .LVU2004
5368 000e 436C ldr r3, [r0, #68]
2196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5369 .loc 1 2196 5 view .LVU2005
5370 0010 032B cmp r3, #3
5371 0012 1CD0 beq .L293
2198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5372 .loc 1 2198 5 is_stmt 1 view .LVU2006
2198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5373 .loc 1 2198 7 is_stmt 0 view .LVU2007
5374 0014 B1F5805F cmp r1, #4096
5375 0018 08D0 beq .L302
2202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5376 .loc 1 2202 10 is_stmt 1 view .LVU2008
2202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5377 .loc 1 2202 12 is_stmt 0 view .LVU2009
5378 001a B1F5006F cmp r1, #2048
5379 001e 0AD0 beq .L303
2208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5380 .loc 1 2208 10 is_stmt 1 view .LVU2010
2208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5381 .loc 1 2208 12 is_stmt 0 view .LVU2011
5382 0020 79B1 cbz r1, .L304
2217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5383 .loc 1 2217 7 is_stmt 1 view .LVU2012
2217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5384 .loc 1 2217 10 is_stmt 0 view .LVU2013
5385 0022 836B ldr r3, [r0, #56]
ARM GAS /tmp/ccMMu31U.s page 185
2217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5386 .loc 1 2217 22 view .LVU2014
5387 0024 43F00063 orr r3, r3, #134217728
5388 0028 8363 str r3, [r0, #56]
5389 002a 14E0 b .L295
5390 .L302:
2200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5391 .loc 1 2200 7 is_stmt 1 view .LVU2015
2200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5392 .loc 1 2200 10 is_stmt 0 view .LVU2016
5393 002c 836B ldr r3, [r0, #56]
2200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5394 .loc 1 2200 22 view .LVU2017
5395 002e 43F08053 orr r3, r3, #268435456
5396 0032 8363 str r3, [r0, #56]
5397 0034 0FE0 b .L295
5398 .L303:
2204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5399 .loc 1 2204 7 is_stmt 1 view .LVU2018
2204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5400 .loc 1 2204 20 is_stmt 0 view .LVU2019
5401 0036 FFF7FEFF bl SD_WideBus_Enable
5402 .LVL406:
2206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5403 .loc 1 2206 7 is_stmt 1 view .LVU2020
2206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5404 .loc 1 2206 10 is_stmt 0 view .LVU2021
5405 003a A36B ldr r3, [r4, #56]
2206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5406 .loc 1 2206 22 view .LVU2022
5407 003c 0343 orrs r3, r3, r0
5408 003e A363 str r3, [r4, #56]
5409 0040 09E0 b .L295
5410 .LVL407:
5411 .L304:
2210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5412 .loc 1 2210 7 is_stmt 1 view .LVU2023
2210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5413 .loc 1 2210 20 is_stmt 0 view .LVU2024
5414 0042 FFF7FEFF bl SD_WideBus_Disable
5415 .LVL408:
2212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5416 .loc 1 2212 7 is_stmt 1 view .LVU2025
2212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5417 .loc 1 2212 10 is_stmt 0 view .LVU2026
5418 0046 A36B ldr r3, [r4, #56]
2212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5419 .loc 1 2212 22 view .LVU2027
5420 0048 0343 orrs r3, r3, r0
5421 004a A363 str r3, [r4, #56]
5422 004c 03E0 b .L295
5423 .LVL409:
5424 .L293:
2223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5425 .loc 1 2223 5 is_stmt 1 view .LVU2028
2223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5426 .loc 1 2223 8 is_stmt 0 view .LVU2029
ARM GAS /tmp/ccMMu31U.s page 186
5427 004e 836B ldr r3, [r0, #56]
2223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5428 .loc 1 2223 20 view .LVU2030
5429 0050 43F08053 orr r3, r3, #268435456
5430 0054 8363 str r3, [r0, #56]
5431 .LVL410:
5432 .L295:
2226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5433 .loc 1 2226 3 is_stmt 1 view .LVU2031
2226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5434 .loc 1 2226 9 is_stmt 0 view .LVU2032
5435 0056 A36B ldr r3, [r4, #56]
2226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5436 .loc 1 2226 5 view .LVU2033
5437 0058 C3B1 cbz r3, .L298
2229:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
5438 .loc 1 2229 5 is_stmt 1 view .LVU2034
5439 005a 2368 ldr r3, [r4]
5440 005c 174A ldr r2, .L305
5441 005e 9A63 str r2, [r3, #56]
2230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
5442 .loc 1 2230 5 view .LVU2035
2230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
5443 .loc 1 2230 16 is_stmt 0 view .LVU2036
5444 0060 0125 movs r5, #1
5445 .LVL411:
2230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
5446 .loc 1 2230 16 view .LVU2037
5447 0062 84F83450 strb r5, [r4, #52]
2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5448 .loc 1 2231 5 is_stmt 1 view .LVU2038
5449 .LVL412:
5450 .L299:
2246:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
5451 .loc 1 2246 3 view .LVU2039
2246:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
5452 .loc 1 2246 16 is_stmt 0 view .LVU2040
5453 0066 4FF40071 mov r1, #512
5454 006a 2068 ldr r0, [r4]
5455 006c FFF7FEFF bl SDMMC_CmdBlockLength
5456 .LVL413:
2247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5457 .loc 1 2247 3 is_stmt 1 view .LVU2041
2247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5458 .loc 1 2247 5 is_stmt 0 view .LVU2042
5459 0070 30B1 cbz r0, .L300
2250:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate;
5460 .loc 1 2250 5 is_stmt 1 view .LVU2043
5461 0072 2368 ldr r3, [r4]
5462 0074 1149 ldr r1, .L305
5463 0076 9963 str r1, [r3, #56]
2251:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
5464 .loc 1 2251 5 view .LVU2044
2251:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
5465 .loc 1 2251 8 is_stmt 0 view .LVU2045
5466 0078 A36B ldr r3, [r4, #56]
2251:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR;
ARM GAS /tmp/ccMMu31U.s page 187
5467 .loc 1 2251 20 view .LVU2046
5468 007a 0343 orrs r3, r3, r0
5469 007c A363 str r3, [r4, #56]
2252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5470 .loc 1 2252 5 is_stmt 1 view .LVU2047
5471 .LVL414:
2252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5472 .loc 1 2252 12 is_stmt 0 view .LVU2048
5473 007e 0125 movs r5, #1
5474 .LVL415:
5475 .L300:
2256:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5476 .loc 1 2256 3 is_stmt 1 view .LVU2049
2256:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5477 .loc 1 2256 14 is_stmt 0 view .LVU2050
5478 0080 0123 movs r3, #1
5479 0082 84F83430 strb r3, [r4, #52]
2258:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5480 .loc 1 2258 3 is_stmt 1 view .LVU2051
2259:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5481 .loc 1 2259 1 is_stmt 0 view .LVU2052
5482 0086 2846 mov r0, r5
5483 .LVL416:
2259:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5484 .loc 1 2259 1 view .LVU2053
5485 0088 0BB0 add sp, sp, #44
5486 .LCFI68:
5487 .cfi_remember_state
5488 .cfi_def_cfa_offset 12
5489 @ sp needed
5490 008a 30BD pop {r4, r5, pc}
5491 .LVL417:
5492 .L298:
5493 .LCFI69:
5494 .cfi_restore_state
2236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockBypass = hsd->Init.ClockBypass;
5495 .loc 1 2236 5 is_stmt 1 view .LVU2054
2236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockBypass = hsd->Init.ClockBypass;
5496 .loc 1 2236 41 is_stmt 0 view .LVU2055
5497 008c 6368 ldr r3, [r4, #4]
2236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockBypass = hsd->Init.ClockBypass;
5498 .loc 1 2236 30 view .LVU2056
5499 008e 0493 str r3, [sp, #16]
2237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockPowerSave = hsd->Init.ClockPowerSave;
5500 .loc 1 2237 5 is_stmt 1 view .LVU2057
2237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockPowerSave = hsd->Init.ClockPowerSave;
5501 .loc 1 2237 41 is_stmt 0 view .LVU2058
5502 0090 A368 ldr r3, [r4, #8]
2237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockPowerSave = hsd->Init.ClockPowerSave;
5503 .loc 1 2237 30 view .LVU2059
5504 0092 0593 str r3, [sp, #20]
2238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.BusWide = WideMode;
5505 .loc 1 2238 5 is_stmt 1 view .LVU2060
2238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.BusWide = WideMode;
5506 .loc 1 2238 41 is_stmt 0 view .LVU2061
5507 0094 E368 ldr r3, [r4, #12]
2238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.BusWide = WideMode;
ARM GAS /tmp/ccMMu31U.s page 188
5508 .loc 1 2238 30 view .LVU2062
5509 0096 0693 str r3, [sp, #24]
2239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.HardwareFlowControl = hsd->Init.HardwareFlowControl;
5510 .loc 1 2239 5 is_stmt 1 view .LVU2063
2239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.HardwareFlowControl = hsd->Init.HardwareFlowControl;
5511 .loc 1 2239 30 is_stmt 0 view .LVU2064
5512 0098 0795 str r5, [sp, #28]
2240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockDiv = hsd->Init.ClockDiv;
5513 .loc 1 2240 5 is_stmt 1 view .LVU2065
2240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockDiv = hsd->Init.ClockDiv;
5514 .loc 1 2240 41 is_stmt 0 view .LVU2066
5515 009a 6369 ldr r3, [r4, #20]
2240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockDiv = hsd->Init.ClockDiv;
5516 .loc 1 2240 30 view .LVU2067
5517 009c 0893 str r3, [sp, #32]
2241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_Init(hsd->Instance, Init);
5518 .loc 1 2241 5 is_stmt 1 view .LVU2068
2241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_Init(hsd->Instance, Init);
5519 .loc 1 2241 41 is_stmt 0 view .LVU2069
5520 009e A369 ldr r3, [r4, #24]
2241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_Init(hsd->Instance, Init);
5521 .loc 1 2241 30 view .LVU2070
5522 00a0 0993 str r3, [sp, #36]
2242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5523 .loc 1 2242 5 is_stmt 1 view .LVU2071
2242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5524 .loc 1 2242 11 is_stmt 0 view .LVU2072
5525 00a2 0AAB add r3, sp, #40
5526 00a4 13E90700 ldmdb r3, {r0, r1, r2}
5527 00a8 8DE80700 stm sp, {r0, r1, r2}
5528 00ac 04AB add r3, sp, #16
5529 00ae 0ECB ldm r3, {r1, r2, r3}
5530 00b0 2068 ldr r0, [r4]
5531 00b2 FFF7FEFF bl SDMMC_Init
5532 .LVL418:
2188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5533 .loc 1 2188 21 view .LVU2073
5534 00b6 0025 movs r5, #0
5535 .LVL419:
2188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5536 .loc 1 2188 21 view .LVU2074
5537 00b8 D5E7 b .L299
5538 .L306:
5539 00ba 00BF .align 2
5540 .L305:
5541 00bc FF054000 .word 4195839
5542 .cfi_endproc
5543 .LFE164:
5545 .section .text.HAL_SD_GetCardState,"ax",%progbits
5546 .align 1
5547 .global HAL_SD_GetCardState
5548 .syntax unified
5549 .thumb
5550 .thumb_func
5552 HAL_SD_GetCardState:
5553 .LVL420:
5554 .LFB165:
ARM GAS /tmp/ccMMu31U.s page 189
2267:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t cardstate;
5555 .loc 1 2267 1 is_stmt 1 view -0
5556 .cfi_startproc
5557 @ args = 0, pretend = 0, frame = 8
5558 @ frame_needed = 0, uses_anonymous_args = 0
2267:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t cardstate;
5559 .loc 1 2267 1 is_stmt 0 view .LVU2076
5560 0000 10B5 push {r4, lr}
5561 .LCFI70:
5562 .cfi_def_cfa_offset 8
5563 .cfi_offset 4, -8
5564 .cfi_offset 14, -4
5565 0002 82B0 sub sp, sp, #8
5566 .LCFI71:
5567 .cfi_def_cfa_offset 16
5568 0004 0446 mov r4, r0
2268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
5569 .loc 1 2268 3 is_stmt 1 view .LVU2077
2269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t resp1 = 0;
5570 .loc 1 2269 3 view .LVU2078
2270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5571 .loc 1 2270 3 view .LVU2079
2270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5572 .loc 1 2270 12 is_stmt 0 view .LVU2080
5573 0006 0023 movs r3, #0
5574 0008 0193 str r3, [sp, #4]
2272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
5575 .loc 1 2272 3 is_stmt 1 view .LVU2081
2272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
5576 .loc 1 2272 16 is_stmt 0 view .LVU2082
5577 000a 01A9 add r1, sp, #4
5578 000c FFF7FEFF bl SD_SendStatus
5579 .LVL421:
2273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5580 .loc 1 2273 3 is_stmt 1 view .LVU2083
2273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5581 .loc 1 2273 5 is_stmt 0 view .LVU2084
5582 0010 10B1 cbz r0, .L308
2275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5583 .loc 1 2275 5 is_stmt 1 view .LVU2085
2275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5584 .loc 1 2275 8 is_stmt 0 view .LVU2086
5585 0012 A36B ldr r3, [r4, #56]
2275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5586 .loc 1 2275 20 view .LVU2087
5587 0014 0343 orrs r3, r3, r0
5588 0016 A363 str r3, [r4, #56]
5589 .L308:
2278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5590 .loc 1 2278 3 is_stmt 1 view .LVU2088
5591 .LVL422:
2280:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5592 .loc 1 2280 3 view .LVU2089
2281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5593 .loc 1 2281 1 is_stmt 0 view .LVU2090
5594 0018 0198 ldr r0, [sp, #4]
5595 .LVL423:
ARM GAS /tmp/ccMMu31U.s page 190
2281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5596 .loc 1 2281 1 view .LVU2091
5597 001a C0F34320 ubfx r0, r0, #9, #4
5598 .LVL424:
2281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5599 .loc 1 2281 1 view .LVU2092
5600 001e 02B0 add sp, sp, #8
5601 .LCFI72:
5602 .cfi_def_cfa_offset 8
5603 @ sp needed
5604 0020 10BD pop {r4, pc}
2281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5605 .loc 1 2281 1 view .LVU2093
5606 .cfi_endproc
5607 .LFE165:
5609 .section .text.SD_DMAError,"ax",%progbits
5610 .align 1
5611 .syntax unified
5612 .thumb
5613 .thumb_func
5615 SD_DMAError:
5616 .LVL425:
5617 .LFB170:
2496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent);
5618 .loc 1 2496 1 is_stmt 1 view -0
5619 .cfi_startproc
5620 @ args = 0, pretend = 0, frame = 0
5621 @ frame_needed = 0, uses_anonymous_args = 0
2496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent);
5622 .loc 1 2496 1 is_stmt 0 view .LVU2095
5623 0000 10B5 push {r4, lr}
5624 .LCFI73:
5625 .cfi_def_cfa_offset 8
5626 .cfi_offset 4, -8
5627 .cfi_offset 14, -4
2497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState;
5628 .loc 1 2497 3 is_stmt 1 view .LVU2096
2497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState;
5629 .loc 1 2497 21 is_stmt 0 view .LVU2097
5630 0002 846B ldr r4, [r0, #56]
5631 .LVL426:
2498:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t RxErrorCode, TxErrorCode;
5632 .loc 1 2498 3 is_stmt 1 view .LVU2098
2499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5633 .loc 1 2499 3 view .LVU2099
2502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5634 .loc 1 2502 3 view .LVU2100
2502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5635 .loc 1 2502 6 is_stmt 0 view .LVU2101
5636 0004 FFF7FEFF bl HAL_DMA_GetError
5637 .LVL427:
2502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5638 .loc 1 2502 5 discriminator 1 view .LVU2102
5639 0008 0228 cmp r0, #2
5640 000a 0AD0 beq .L310
2504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** TxErrorCode = hsd->hdmatx->ErrorCode;
5641 .loc 1 2504 5 is_stmt 1 view .LVU2103
ARM GAS /tmp/ccMMu31U.s page 191
2504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** TxErrorCode = hsd->hdmatx->ErrorCode;
5642 .loc 1 2504 22 is_stmt 0 view .LVU2104
5643 000c 236C ldr r3, [r4, #64]
2504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** TxErrorCode = hsd->hdmatx->ErrorCode;
5644 .loc 1 2504 17 view .LVU2105
5645 000e 5A6D ldr r2, [r3, #84]
5646 .LVL428:
2505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((RxErrorCode == HAL_DMA_ERROR_TE) || (TxErrorCode == HAL_DMA_ERROR_TE))
5647 .loc 1 2505 5 is_stmt 1 view .LVU2106
2505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((RxErrorCode == HAL_DMA_ERROR_TE) || (TxErrorCode == HAL_DMA_ERROR_TE))
5648 .loc 1 2505 22 is_stmt 0 view .LVU2107
5649 0010 E36B ldr r3, [r4, #60]
2505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((RxErrorCode == HAL_DMA_ERROR_TE) || (TxErrorCode == HAL_DMA_ERROR_TE))
5650 .loc 1 2505 17 view .LVU2108
5651 0012 5B6D ldr r3, [r3, #84]
5652 .LVL429:
2506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5653 .loc 1 2506 5 is_stmt 1 view .LVU2109
2506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5654 .loc 1 2506 7 is_stmt 0 view .LVU2110
5655 0014 012B cmp r3, #1
5656 0016 18BF it ne
5657 0018 012A cmpne r2, #1
5658 001a 03D0 beq .L315
5659 .LVL430:
5660 .L312:
2529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif
5661 .loc 1 2529 5 is_stmt 1 view .LVU2111
5662 001c 2046 mov r0, r4
5663 001e FFF7FEFF bl HAL_SD_ErrorCallback
5664 .LVL431:
5665 .L310:
2532:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5666 .loc 1 2532 1 is_stmt 0 view .LVU2112
5667 0022 10BD pop {r4, pc}
5668 .LVL432:
5669 .L315:
2509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5670 .loc 1 2509 7 is_stmt 1 view .LVU2113
5671 0024 2368 ldr r3, [r4]
5672 .LVL433:
2509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5673 .loc 1 2509 7 is_stmt 0 view .LVU2114
5674 0026 0F4A ldr r2, .L317
5675 .LVL434:
2509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5676 .loc 1 2509 7 view .LVU2115
5677 0028 9A63 str r2, [r3, #56]
2512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR);
5678 .loc 1 2512 7 is_stmt 1 view .LVU2116
5679 002a 2268 ldr r2, [r4]
5680 002c D36B ldr r3, [r2, #60]
5681 002e 23F49D73 bic r3, r3, #314
5682 0032 D363 str r3, [r2, #60]
2515:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** CardState = HAL_SD_GetCardState(hsd);
5683 .loc 1 2515 7 view .LVU2117
2515:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** CardState = HAL_SD_GetCardState(hsd);
ARM GAS /tmp/ccMMu31U.s page 192
5684 .loc 1 2515 10 is_stmt 0 view .LVU2118
5685 0034 A36B ldr r3, [r4, #56]
2515:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** CardState = HAL_SD_GetCardState(hsd);
5686 .loc 1 2515 22 view .LVU2119
5687 0036 43F08043 orr r3, r3, #1073741824
5688 003a A363 str r3, [r4, #56]
2516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING))
5689 .loc 1 2516 7 is_stmt 1 view .LVU2120
2516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING))
5690 .loc 1 2516 19 is_stmt 0 view .LVU2121
5691 003c 2046 mov r0, r4
5692 003e FFF7FEFF bl HAL_SD_GetCardState
5693 .LVL435:
2517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5694 .loc 1 2517 7 is_stmt 1 view .LVU2122
2517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5695 .loc 1 2517 47 is_stmt 0 view .LVU2123
5696 0042 0538 subs r0, r0, #5
5697 .LVL436:
2517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5698 .loc 1 2517 9 view .LVU2124
5699 0044 0128 cmp r0, #1
5700 0046 05D9 bls .L316
5701 .LVL437:
5702 .L313:
2522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
5703 .loc 1 2522 7 is_stmt 1 view .LVU2125
2522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
5704 .loc 1 2522 17 is_stmt 0 view .LVU2126
5705 0048 0123 movs r3, #1
5706 004a 84F83430 strb r3, [r4, #52]
2523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5707 .loc 1 2523 7 is_stmt 1 view .LVU2127
2523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5708 .loc 1 2523 20 is_stmt 0 view .LVU2128
5709 004e 0023 movs r3, #0
5710 0050 2363 str r3, [r4, #48]
5711 0052 E3E7 b .L312
5712 .LVL438:
5713 .L316:
2519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5714 .loc 1 2519 9 is_stmt 1 view .LVU2129
2519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5715 .loc 1 2519 27 is_stmt 0 view .LVU2130
5716 0054 2068 ldr r0, [r4]
5717 .LVL439:
2519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5718 .loc 1 2519 27 view .LVU2131
5719 0056 FFF7FEFF bl SDMMC_CmdStopTransfer
5720 .LVL440:
2519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5721 .loc 1 2519 12 discriminator 1 view .LVU2132
5722 005a A36B ldr r3, [r4, #56]
2519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5723 .loc 1 2519 24 discriminator 1 view .LVU2133
5724 005c 0343 orrs r3, r3, r0
5725 005e A363 str r3, [r4, #56]
ARM GAS /tmp/ccMMu31U.s page 193
5726 0060 F2E7 b .L313
5727 .L318:
5728 0062 00BF .align 2
5729 .L317:
5730 0064 FF054000 .word 4195839
5731 .cfi_endproc
5732 .LFE170:
5734 .section .text.SD_DMATxAbort,"ax",%progbits
5735 .align 1
5736 .syntax unified
5737 .thumb
5738 .thumb_func
5740 SD_DMATxAbort:
5741 .LVL441:
5742 .LFB171:
2540:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent);
5743 .loc 1 2540 1 is_stmt 1 view -0
5744 .cfi_startproc
5745 @ args = 0, pretend = 0, frame = 0
5746 @ frame_needed = 0, uses_anonymous_args = 0
2540:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent);
5747 .loc 1 2540 1 is_stmt 0 view .LVU2135
5748 0000 10B5 push {r4, lr}
5749 .LCFI74:
5750 .cfi_def_cfa_offset 8
5751 .cfi_offset 4, -8
5752 .cfi_offset 14, -4
2541:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState;
5753 .loc 1 2541 3 is_stmt 1 view .LVU2136
2541:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState;
5754 .loc 1 2541 21 is_stmt 0 view .LVU2137
5755 0002 846B ldr r4, [r0, #56]
5756 .LVL442:
2542:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5757 .loc 1 2542 3 is_stmt 1 view .LVU2138
2545:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5758 .loc 1 2545 3 view .LVU2139
5759 0004 2368 ldr r3, [r4]
5760 0006 40F23A52 movw r2, #1338
5761 000a 9A63 str r2, [r3, #56]
2547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
5762 .loc 1 2547 3 view .LVU2140
2547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
5763 .loc 1 2547 15 is_stmt 0 view .LVU2141
5764 000c 2046 mov r0, r4
5765 .LVL443:
2547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
5766 .loc 1 2547 15 view .LVU2142
5767 000e FFF7FEFF bl HAL_SD_GetCardState
5768 .LVL444:
2548:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
5769 .loc 1 2548 3 is_stmt 1 view .LVU2143
2548:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
5770 .loc 1 2548 14 is_stmt 0 view .LVU2144
5771 0012 0123 movs r3, #1
5772 0014 84F83430 strb r3, [r4, #52]
2549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING))
ARM GAS /tmp/ccMMu31U.s page 194
5773 .loc 1 2549 3 is_stmt 1 view .LVU2145
2549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING))
5774 .loc 1 2549 16 is_stmt 0 view .LVU2146
5775 0018 0023 movs r3, #0
5776 001a 2363 str r3, [r4, #48]
2550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5777 .loc 1 2550 3 is_stmt 1 view .LVU2147
2550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5778 .loc 1 2550 43 is_stmt 0 view .LVU2148
5779 001c 0538 subs r0, r0, #5
5780 .LVL445:
2550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5781 .loc 1 2550 5 view .LVU2149
5782 001e 0128 cmp r0, #1
5783 0020 05D9 bls .L324
5784 .LVL446:
5785 .L320:
2555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5786 .loc 1 2555 3 is_stmt 1 view .LVU2150
2555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5787 .loc 1 2555 9 is_stmt 0 view .LVU2151
5788 0022 A36B ldr r3, [r4, #56]
2555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5789 .loc 1 2555 5 view .LVU2152
5790 0024 53B9 cbnz r3, .L321
2560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif
5791 .loc 1 2560 5 is_stmt 1 view .LVU2153
5792 0026 2046 mov r0, r4
5793 0028 FFF7FEFF bl HAL_SD_AbortCallback
5794 .LVL447:
5795 .L319:
2571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5796 .loc 1 2571 1 is_stmt 0 view .LVU2154
5797 002c 10BD pop {r4, pc}
5798 .LVL448:
5799 .L324:
2552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5800 .loc 1 2552 5 is_stmt 1 view .LVU2155
2552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5801 .loc 1 2552 23 is_stmt 0 view .LVU2156
5802 002e 2068 ldr r0, [r4]
5803 .LVL449:
2552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5804 .loc 1 2552 23 view .LVU2157
5805 0030 FFF7FEFF bl SDMMC_CmdStopTransfer
5806 .LVL450:
2552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5807 .loc 1 2552 8 discriminator 1 view .LVU2158
5808 0034 A36B ldr r3, [r4, #56]
2552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5809 .loc 1 2552 20 discriminator 1 view .LVU2159
5810 0036 0343 orrs r3, r3, r0
5811 0038 A363 str r3, [r4, #56]
5812 003a F2E7 b .L320
5813 .L321:
2568:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif
5814 .loc 1 2568 5 is_stmt 1 view .LVU2160
ARM GAS /tmp/ccMMu31U.s page 195
5815 003c 2046 mov r0, r4
5816 003e FFF7FEFF bl HAL_SD_ErrorCallback
5817 .LVL451:
2571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5818 .loc 1 2571 1 is_stmt 0 view .LVU2161
5819 0042 F3E7 b .L319
5820 .cfi_endproc
5821 .LFE171:
5823 .section .text.SD_DMARxAbort,"ax",%progbits
5824 .align 1
5825 .syntax unified
5826 .thumb
5827 .thumb_func
5829 SD_DMARxAbort:
5830 .LVL452:
5831 .LFB172:
2579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent);
5832 .loc 1 2579 1 is_stmt 1 view -0
5833 .cfi_startproc
5834 @ args = 0, pretend = 0, frame = 0
5835 @ frame_needed = 0, uses_anonymous_args = 0
2579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent);
5836 .loc 1 2579 1 is_stmt 0 view .LVU2163
5837 0000 10B5 push {r4, lr}
5838 .LCFI75:
5839 .cfi_def_cfa_offset 8
5840 .cfi_offset 4, -8
5841 .cfi_offset 14, -4
2580:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState;
5842 .loc 1 2580 3 is_stmt 1 view .LVU2164
2580:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState;
5843 .loc 1 2580 21 is_stmt 0 view .LVU2165
5844 0002 846B ldr r4, [r0, #56]
5845 .LVL453:
2581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5846 .loc 1 2581 3 is_stmt 1 view .LVU2166
2584:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5847 .loc 1 2584 3 view .LVU2167
5848 0004 2368 ldr r3, [r4]
5849 0006 40F23A52 movw r2, #1338
5850 000a 9A63 str r2, [r3, #56]
2586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
5851 .loc 1 2586 3 view .LVU2168
2586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
5852 .loc 1 2586 15 is_stmt 0 view .LVU2169
5853 000c 2046 mov r0, r4
5854 .LVL454:
2586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
5855 .loc 1 2586 15 view .LVU2170
5856 000e FFF7FEFF bl HAL_SD_GetCardState
5857 .LVL455:
2587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
5858 .loc 1 2587 3 is_stmt 1 view .LVU2171
2587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
5859 .loc 1 2587 14 is_stmt 0 view .LVU2172
5860 0012 0123 movs r3, #1
5861 0014 84F83430 strb r3, [r4, #52]
ARM GAS /tmp/ccMMu31U.s page 196
2588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING))
5862 .loc 1 2588 3 is_stmt 1 view .LVU2173
2588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING))
5863 .loc 1 2588 16 is_stmt 0 view .LVU2174
5864 0018 0023 movs r3, #0
5865 001a 2363 str r3, [r4, #48]
2589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5866 .loc 1 2589 3 is_stmt 1 view .LVU2175
2589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5867 .loc 1 2589 43 is_stmt 0 view .LVU2176
5868 001c 0538 subs r0, r0, #5
5869 .LVL456:
2589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5870 .loc 1 2589 5 view .LVU2177
5871 001e 0128 cmp r0, #1
5872 0020 05D9 bls .L330
5873 .LVL457:
5874 .L326:
2594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5875 .loc 1 2594 3 is_stmt 1 view .LVU2178
2594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5876 .loc 1 2594 9 is_stmt 0 view .LVU2179
5877 0022 A36B ldr r3, [r4, #56]
2594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5878 .loc 1 2594 5 view .LVU2180
5879 0024 53B9 cbnz r3, .L327
2599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif
5880 .loc 1 2599 5 is_stmt 1 view .LVU2181
5881 0026 2046 mov r0, r4
5882 0028 FFF7FEFF bl HAL_SD_AbortCallback
5883 .LVL458:
5884 .L325:
2610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5885 .loc 1 2610 1 is_stmt 0 view .LVU2182
5886 002c 10BD pop {r4, pc}
5887 .LVL459:
5888 .L330:
2591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5889 .loc 1 2591 5 is_stmt 1 view .LVU2183
2591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5890 .loc 1 2591 23 is_stmt 0 view .LVU2184
5891 002e 2068 ldr r0, [r4]
5892 .LVL460:
2591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5893 .loc 1 2591 23 view .LVU2185
5894 0030 FFF7FEFF bl SDMMC_CmdStopTransfer
5895 .LVL461:
2591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5896 .loc 1 2591 8 discriminator 1 view .LVU2186
5897 0034 A36B ldr r3, [r4, #56]
2591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
5898 .loc 1 2591 20 discriminator 1 view .LVU2187
5899 0036 0343 orrs r3, r3, r0
5900 0038 A363 str r3, [r4, #56]
5901 003a F2E7 b .L326
5902 .L327:
2607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif
ARM GAS /tmp/ccMMu31U.s page 197
5903 .loc 1 2607 5 is_stmt 1 view .LVU2188
5904 003c 2046 mov r0, r4
5905 003e FFF7FEFF bl HAL_SD_ErrorCallback
5906 .LVL462:
2610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5907 .loc 1 2610 1 is_stmt 0 view .LVU2189
5908 0042 F3E7 b .L325
5909 .cfi_endproc
5910 .LFE172:
5912 .section .text.HAL_SD_IRQHandler,"ax",%progbits
5913 .align 1
5914 .global HAL_SD_IRQHandler
5915 .syntax unified
5916 .thumb
5917 .thumb_func
5919 HAL_SD_IRQHandler:
5920 .LVL463:
5921 .LFB153:
1485:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
5922 .loc 1 1485 1 is_stmt 1 view -0
5923 .cfi_startproc
5924 @ args = 0, pretend = 0, frame = 0
5925 @ frame_needed = 0, uses_anonymous_args = 0
1485:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate;
5926 .loc 1 1485 1 is_stmt 0 view .LVU2191
5927 0000 38B5 push {r3, r4, r5, lr}
5928 .LCFI76:
5929 .cfi_def_cfa_offset 16
5930 .cfi_offset 3, -16
5931 .cfi_offset 4, -12
5932 .cfi_offset 5, -8
5933 .cfi_offset 14, -4
5934 0002 0446 mov r4, r0
1486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t context = hsd->Context;
5935 .loc 1 1486 3 is_stmt 1 view .LVU2192
1487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5936 .loc 1 1487 3 view .LVU2193
1487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5937 .loc 1 1487 12 is_stmt 0 view .LVU2194
5938 0004 056B ldr r5, [r0, #48]
5939 .LVL464:
1490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5940 .loc 1 1490 3 is_stmt 1 view .LVU2195
1490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5941 .loc 1 1490 7 is_stmt 0 view .LVU2196
5942 0006 0368 ldr r3, [r0]
5943 0008 5A6B ldr r2, [r3, #52]
1490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5944 .loc 1 1490 5 view .LVU2197
5945 000a 12F4004F tst r2, #32768
5946 000e 02D0 beq .L332
1490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5947 .loc 1 1490 61 discriminator 1 view .LVU2198
5948 0010 15F0080F tst r5, #8
5949 0014 26D1 bne .L348
5950 .L332:
1495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
ARM GAS /tmp/ccMMu31U.s page 198
5951 .loc 1 1495 8 is_stmt 1 view .LVU2199
1495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5952 .loc 1 1495 11 is_stmt 0 view .LVU2200
5953 0016 5A6B ldr r2, [r3, #52]
1495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5954 .loc 1 1495 10 view .LVU2201
5955 0018 12F4807F tst r2, #256
5956 001c 58D0 beq .L334
1497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5957 .loc 1 1497 5 is_stmt 1 view .LVU2202
5958 001e 4FF48072 mov r2, #256
5959 0022 9A63 str r2, [r3, #56]
1499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_IT_TXUNDERR | SDMMC_IT_RXOVERR | SDMMC_IT_TXFIFOHE |\
5960 .loc 1 1499 5 view .LVU2203
5961 0024 2268 ldr r2, [r4]
5962 0026 D16B ldr r1, [r2, #60]
5963 0028 644B ldr r3, .L354
5964 002a 0B40 ands r3, r3, r1
5965 002c D363 str r3, [r2, #60]
1503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5966 .loc 1 1503 5 view .LVU2204
1503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5967 .loc 1 1503 8 is_stmt 0 view .LVU2205
5968 002e 2268 ldr r2, [r4]
1503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5969 .loc 1 1503 18 view .LVU2206
5970 0030 D36A ldr r3, [r2, #44]
1503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5971 .loc 1 1503 26 view .LVU2207
5972 0032 23F00103 bic r3, r3, #1
5973 0036 D362 str r3, [r2, #44]
1505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5974 .loc 1 1505 5 is_stmt 1 view .LVU2208
1505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5975 .loc 1 1505 7 is_stmt 0 view .LVU2209
5976 0038 15F0080F tst r5, #8
5977 003c 26D0 beq .L335
1507:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5978 .loc 1 1507 7 is_stmt 1 view .LVU2210
1507:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5979 .loc 1 1507 9 is_stmt 0 view .LVU2211
5980 003e 15F0220F tst r5, #34
5981 0042 12D1 bne .L349
5982 .LVL465:
5983 .L336:
1522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
5984 .loc 1 1522 7 is_stmt 1 view .LVU2212
5985 0044 2368 ldr r3, [r4]
5986 0046 40F23A52 movw r2, #1338
5987 004a 9A63 str r2, [r3, #56]
1524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
5988 .loc 1 1524 7 view .LVU2213
1524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
5989 .loc 1 1524 18 is_stmt 0 view .LVU2214
5990 004c 0123 movs r3, #1
5991 004e 84F83430 strb r3, [r4, #52]
1525:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIPLE_B
ARM GAS /tmp/ccMMu31U.s page 199
5992 .loc 1 1525 7 is_stmt 1 view .LVU2215
1525:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIPLE_B
5993 .loc 1 1525 20 is_stmt 0 view .LVU2216
5994 0052 0023 movs r3, #0
5995 0054 2363 str r3, [r4, #48]
1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5996 .loc 1 1526 7 is_stmt 1 view .LVU2217
1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
5997 .loc 1 1526 9 is_stmt 0 view .LVU2218
5998 0056 15F0030F tst r5, #3
5999 005a 13D0 beq .L337
1531:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
6000 .loc 1 1531 9 is_stmt 1 view .LVU2219
6001 005c 2046 mov r0, r4
6002 005e FFF7FEFF bl HAL_SD_RxCpltCallback
6003 .LVL466:
6004 0062 01E0 b .L331
6005 .LVL467:
6006 .L348:
1492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6007 .loc 1 1492 5 view .LVU2220
6008 0064 FFF7FEFF bl SD_Read_IT
6009 .LVL468:
6010 .L331:
1668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6011 .loc 1 1668 1 is_stmt 0 view .LVU2221
6012 0068 38BD pop {r3, r4, r5, pc}
6013 .LVL469:
6014 .L349:
1509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
6015 .loc 1 1509 9 is_stmt 1 view .LVU2222
1509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
6016 .loc 1 1509 22 is_stmt 0 view .LVU2223
6017 006a 2068 ldr r0, [r4]
6018 .LVL470:
1509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
6019 .loc 1 1509 22 view .LVU2224
6020 006c FFF7FEFF bl SDMMC_CmdStopTransfer
6021 .LVL471:
1510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6022 .loc 1 1510 9 is_stmt 1 view .LVU2225
1510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6023 .loc 1 1510 11 is_stmt 0 view .LVU2226
6024 0070 0346 mov r3, r0
6025 0072 0028 cmp r0, #0
6026 0074 E6D0 beq .L336
1512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
6027 .loc 1 1512 11 is_stmt 1 view .LVU2227
1512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
6028 .loc 1 1512 14 is_stmt 0 view .LVU2228
6029 0076 A26B ldr r2, [r4, #56]
1512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
6030 .loc 1 1512 26 view .LVU2229
6031 0078 1343 orrs r3, r3, r2
6032 007a A363 str r3, [r4, #56]
1516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
6033 .loc 1 1516 11 is_stmt 1 view .LVU2230
ARM GAS /tmp/ccMMu31U.s page 200
6034 007c 2046 mov r0, r4
6035 .LVL472:
1516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
6036 .loc 1 1516 11 is_stmt 0 view .LVU2231
6037 007e FFF7FEFF bl HAL_SD_ErrorCallback
6038 .LVL473:
6039 0082 DFE7 b .L336
6040 .LVL474:
6041 .L337:
1539:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
6042 .loc 1 1539 9 is_stmt 1 view .LVU2232
6043 0084 2046 mov r0, r4
6044 0086 FFF7FEFF bl HAL_SD_TxCpltCallback
6045 .LVL475:
6046 008a EDE7 b .L331
6047 .LVL476:
6048 .L335:
1543:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6049 .loc 1 1543 10 view .LVU2233
1543:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6050 .loc 1 1543 12 is_stmt 0 view .LVU2234
6051 008c 15F0800F tst r5, #128
6052 0090 EAD0 beq .L331
1545:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6053 .loc 1 1545 7 is_stmt 1 view .LVU2235
1545:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6054 .loc 1 1545 9 is_stmt 0 view .LVU2236
6055 0092 15F0200F tst r5, #32
6056 0096 0ED1 bne .L350
6057 .LVL477:
6058 .L338:
1558:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6059 .loc 1 1558 7 is_stmt 1 view .LVU2237
1558:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6060 .loc 1 1558 9 is_stmt 0 view .LVU2238
6061 0098 15F0030F tst r5, #3
6062 009c E4D1 bne .L331
1562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6063 .loc 1 1562 9 is_stmt 1 view .LVU2239
1562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6064 .loc 1 1562 12 is_stmt 0 view .LVU2240
6065 009e 2268 ldr r2, [r4]
1562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6066 .loc 1 1562 22 view .LVU2241
6067 00a0 D36A ldr r3, [r2, #44]
1562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6068 .loc 1 1562 30 view .LVU2242
6069 00a2 23F00803 bic r3, r3, #8
6070 00a6 D362 str r3, [r2, #44]
1564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6071 .loc 1 1564 9 is_stmt 1 view .LVU2243
1564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6072 .loc 1 1564 20 is_stmt 0 view .LVU2244
6073 00a8 0123 movs r3, #1
6074 00aa 84F83430 strb r3, [r4, #52]
1569:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
6075 .loc 1 1569 9 is_stmt 1 view .LVU2245
ARM GAS /tmp/ccMMu31U.s page 201
6076 00ae 2046 mov r0, r4
6077 00b0 FFF7FEFF bl HAL_SD_TxCpltCallback
6078 .LVL478:
6079 00b4 D8E7 b .L331
6080 .LVL479:
6081 .L350:
1547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
6082 .loc 1 1547 9 view .LVU2246
1547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
6083 .loc 1 1547 22 is_stmt 0 view .LVU2247
6084 00b6 2068 ldr r0, [r4]
6085 .LVL480:
1547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE)
6086 .loc 1 1547 22 view .LVU2248
6087 00b8 FFF7FEFF bl SDMMC_CmdStopTransfer
6088 .LVL481:
1548:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6089 .loc 1 1548 9 is_stmt 1 view .LVU2249
1548:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6090 .loc 1 1548 11 is_stmt 0 view .LVU2250
6091 00bc 0346 mov r3, r0
6092 00be 0028 cmp r0, #0
6093 00c0 EAD0 beq .L338
1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
6094 .loc 1 1550 11 is_stmt 1 view .LVU2251
1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
6095 .loc 1 1550 14 is_stmt 0 view .LVU2252
6096 00c2 A26B ldr r2, [r4, #56]
1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
6097 .loc 1 1550 26 view .LVU2253
6098 00c4 1343 orrs r3, r3, r2
6099 00c6 A363 str r3, [r4, #56]
1554:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
6100 .loc 1 1554 11 is_stmt 1 view .LVU2254
6101 00c8 2046 mov r0, r4
6102 .LVL482:
1554:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
6103 .loc 1 1554 11 is_stmt 0 view .LVU2255
6104 00ca FFF7FEFF bl HAL_SD_ErrorCallback
6105 .LVL483:
6106 00ce E3E7 b .L338
6107 .LVL484:
6108 .L334:
1579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6109 .loc 1 1579 8 is_stmt 1 view .LVU2256
1579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6110 .loc 1 1579 12 is_stmt 0 view .LVU2257
6111 00d0 5A6B ldr r2, [r3, #52]
1579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6112 .loc 1 1579 10 view .LVU2258
6113 00d2 12F4804F tst r2, #16384
6114 00d6 02D0 beq .L339
1579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6115 .loc 1 1579 66 discriminator 1 view .LVU2259
6116 00d8 15F0080F tst r5, #8
6117 00dc 4AD1 bne .L351
6118 .L339:
ARM GAS /tmp/ccMMu31U.s page 202
1584:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6119 .loc 1 1584 8 is_stmt 1 view .LVU2260
1584:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6120 .loc 1 1584 11 is_stmt 0 view .LVU2261
6121 00de 5A6B ldr r2, [r3, #52]
1584:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6122 .loc 1 1584 10 view .LVU2262
6123 00e0 12F03A0F tst r2, #58
6124 00e4 C0D0 beq .L331
1587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6125 .loc 1 1587 5 is_stmt 1 view .LVU2263
1587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6126 .loc 1 1587 8 is_stmt 0 view .LVU2264
6127 00e6 5A6B ldr r2, [r3, #52]
1587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6128 .loc 1 1587 7 view .LVU2265
6129 00e8 12F0020F tst r2, #2
6130 00ec 03D0 beq .L340
1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6131 .loc 1 1589 7 is_stmt 1 view .LVU2266
1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6132 .loc 1 1589 10 is_stmt 0 view .LVU2267
6133 00ee A26B ldr r2, [r4, #56]
1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6134 .loc 1 1589 22 view .LVU2268
6135 00f0 42F00202 orr r2, r2, #2
6136 00f4 A263 str r2, [r4, #56]
6137 .L340:
1591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6138 .loc 1 1591 5 is_stmt 1 view .LVU2269
1591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6139 .loc 1 1591 8 is_stmt 0 view .LVU2270
6140 00f6 5A6B ldr r2, [r3, #52]
1591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6141 .loc 1 1591 7 view .LVU2271
6142 00f8 12F0080F tst r2, #8
6143 00fc 03D0 beq .L341
1593:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6144 .loc 1 1593 7 is_stmt 1 view .LVU2272
1593:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6145 .loc 1 1593 10 is_stmt 0 view .LVU2273
6146 00fe A26B ldr r2, [r4, #56]
1593:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6147 .loc 1 1593 22 view .LVU2274
6148 0100 42F00802 orr r2, r2, #8
6149 0104 A263 str r2, [r4, #56]
6150 .L341:
1595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6151 .loc 1 1595 5 is_stmt 1 view .LVU2275
1595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6152 .loc 1 1595 8 is_stmt 0 view .LVU2276
6153 0106 5A6B ldr r2, [r3, #52]
1595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6154 .loc 1 1595 7 view .LVU2277
6155 0108 12F0200F tst r2, #32
6156 010c 03D0 beq .L342
1597:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
ARM GAS /tmp/ccMMu31U.s page 203
6157 .loc 1 1597 7 is_stmt 1 view .LVU2278
1597:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6158 .loc 1 1597 10 is_stmt 0 view .LVU2279
6159 010e A26B ldr r2, [r4, #56]
1597:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6160 .loc 1 1597 22 view .LVU2280
6161 0110 42F02002 orr r2, r2, #32
6162 0114 A263 str r2, [r4, #56]
6163 .L342:
1599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6164 .loc 1 1599 5 is_stmt 1 view .LVU2281
1599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6165 .loc 1 1599 8 is_stmt 0 view .LVU2282
6166 0116 5A6B ldr r2, [r3, #52]
1599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6167 .loc 1 1599 7 view .LVU2283
6168 0118 12F0100F tst r2, #16
6169 011c 03D0 beq .L343
1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6170 .loc 1 1601 7 is_stmt 1 view .LVU2284
1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6171 .loc 1 1601 10 is_stmt 0 view .LVU2285
6172 011e A26B ldr r2, [r4, #56]
1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6173 .loc 1 1601 22 view .LVU2286
6174 0120 42F01002 orr r2, r2, #16
6175 0124 A263 str r2, [r4, #56]
6176 .L343:
1605:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6177 .loc 1 1605 5 is_stmt 1 view .LVU2287
6178 0126 40F23A52 movw r2, #1338
6179 012a 9A63 str r2, [r3, #56]
1608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR);
6180 .loc 1 1608 5 view .LVU2288
6181 012c 2268 ldr r2, [r4]
6182 012e D36B ldr r3, [r2, #60]
6183 0130 23F49D73 bic r3, r3, #314
6184 0134 D363 str r3, [r2, #60]
1611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6185 .loc 1 1611 5 view .LVU2289
1611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6186 .loc 1 1611 23 is_stmt 0 view .LVU2290
6187 0136 2068 ldr r0, [r4]
6188 .LVL485:
1611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6189 .loc 1 1611 23 view .LVU2291
6190 0138 FFF7FEFF bl SDMMC_CmdStopTransfer
6191 .LVL486:
1611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6192 .loc 1 1611 8 discriminator 1 view .LVU2292
6193 013c A36B ldr r3, [r4, #56]
1611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6194 .loc 1 1611 20 discriminator 1 view .LVU2293
6195 013e 0343 orrs r3, r3, r0
6196 0140 A363 str r3, [r4, #56]
1613:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6197 .loc 1 1613 5 is_stmt 1 view .LVU2294
ARM GAS /tmp/ccMMu31U.s page 204
1613:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6198 .loc 1 1613 7 is_stmt 0 view .LVU2295
6199 0142 15F0080F tst r5, #8
6200 0146 19D1 bne .L352
1624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6201 .loc 1 1624 10 is_stmt 1 view .LVU2296
1624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6202 .loc 1 1624 12 is_stmt 0 view .LVU2297
6203 0148 15F0800F tst r5, #128
6204 014c 8CD0 beq .L331
1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6205 .loc 1 1627 7 is_stmt 1 view .LVU2298
1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6206 .loc 1 1627 9 is_stmt 0 view .LVU2299
6207 014e 15F0300F tst r5, #48
6208 0152 1CD1 bne .L353
1637:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6209 .loc 1 1637 12 is_stmt 1 view .LVU2300
1637:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6210 .loc 1 1637 14 is_stmt 0 view .LVU2301
6211 0154 15F0030F tst r5, #3
6212 0158 26D0 beq .L346
1640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Abort DMA in IT mode */
6213 .loc 1 1640 9 is_stmt 1 view .LVU2302
1640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Abort DMA in IT mode */
6214 .loc 1 1640 12 is_stmt 0 view .LVU2303
6215 015a 236C ldr r3, [r4, #64]
1640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Abort DMA in IT mode */
6216 .loc 1 1640 40 view .LVU2304
6217 015c 184A ldr r2, .L354+4
6218 015e 1A65 str r2, [r3, #80]
1642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6219 .loc 1 1642 9 is_stmt 1 view .LVU2305
1642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6220 .loc 1 1642 12 is_stmt 0 view .LVU2306
6221 0160 206C ldr r0, [r4, #64]
6222 0162 FFF7FEFF bl HAL_DMA_Abort_IT
6223 .LVL487:
1642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6224 .loc 1 1642 11 discriminator 1 view .LVU2307
6225 0166 0028 cmp r0, #0
6226 0168 3FF47EAF beq .L331
1644:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6227 .loc 1 1644 11 is_stmt 1 view .LVU2308
6228 016c 206C ldr r0, [r4, #64]
6229 016e FFF7FEFF bl SD_DMARxAbort
6230 .LVL488:
6231 0172 79E7 b .L331
6232 .LVL489:
6233 .L351:
1581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6234 .loc 1 1581 5 view .LVU2309
6235 0174 2046 mov r0, r4
6236 .LVL490:
1581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6237 .loc 1 1581 5 is_stmt 0 view .LVU2310
6238 0176 FFF7FEFF bl SD_Write_IT
ARM GAS /tmp/ccMMu31U.s page 205
6239 .LVL491:
6240 017a 75E7 b .L331
6241 .L352:
1616:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
6242 .loc 1 1616 7 is_stmt 1 view .LVU2311
1616:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
6243 .loc 1 1616 18 is_stmt 0 view .LVU2312
6244 017c 0123 movs r3, #1
6245 017e 84F83430 strb r3, [r4, #52]
1617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
6246 .loc 1 1617 7 is_stmt 1 view .LVU2313
1617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
6247 .loc 1 1617 20 is_stmt 0 view .LVU2314
6248 0182 0023 movs r3, #0
6249 0184 2363 str r3, [r4, #48]
1621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
6250 .loc 1 1621 7 is_stmt 1 view .LVU2315
6251 0186 2046 mov r0, r4
6252 0188 FFF7FEFF bl HAL_SD_ErrorCallback
6253 .LVL492:
6254 018c 6CE7 b .L331
6255 .L353:
1630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Abort DMA in IT mode */
6256 .loc 1 1630 9 view .LVU2316
1630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Abort DMA in IT mode */
6257 .loc 1 1630 12 is_stmt 0 view .LVU2317
6258 018e E36B ldr r3, [r4, #60]
1630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Abort DMA in IT mode */
6259 .loc 1 1630 40 view .LVU2318
6260 0190 0C4A ldr r2, .L354+8
6261 0192 1A65 str r2, [r3, #80]
1632:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6262 .loc 1 1632 9 is_stmt 1 view .LVU2319
1632:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6263 .loc 1 1632 12 is_stmt 0 view .LVU2320
6264 0194 E06B ldr r0, [r4, #60]
6265 0196 FFF7FEFF bl HAL_DMA_Abort_IT
6266 .LVL493:
1632:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6267 .loc 1 1632 11 discriminator 1 view .LVU2321
6268 019a 0028 cmp r0, #0
6269 019c 3FF464AF beq .L331
1634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6270 .loc 1 1634 11 is_stmt 1 view .LVU2322
6271 01a0 E06B ldr r0, [r4, #60]
6272 01a2 FFF7FEFF bl SD_DMATxAbort
6273 .LVL494:
6274 01a6 5FE7 b .L331
6275 .L346:
1649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
6276 .loc 1 1649 9 view .LVU2323
1649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
6277 .loc 1 1649 24 is_stmt 0 view .LVU2324
6278 01a8 0023 movs r3, #0
6279 01aa A363 str r3, [r4, #56]
1650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
6280 .loc 1 1650 9 is_stmt 1 view .LVU2325
ARM GAS /tmp/ccMMu31U.s page 206
1650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
6281 .loc 1 1650 20 is_stmt 0 view .LVU2326
6282 01ac 0122 movs r2, #1
6283 01ae 84F83420 strb r2, [r4, #52]
1651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
6284 .loc 1 1651 9 is_stmt 1 view .LVU2327
1651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U)
6285 .loc 1 1651 22 is_stmt 0 view .LVU2328
6286 01b2 2363 str r3, [r4, #48]
1655:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
6287 .loc 1 1655 9 is_stmt 1 view .LVU2329
6288 01b4 2046 mov r0, r4
6289 01b6 FFF7FEFF bl HAL_SD_AbortCallback
6290 .LVL495:
1667:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6291 .loc 1 1667 3 view .LVU2330
1668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6292 .loc 1 1668 1 is_stmt 0 view .LVU2331
6293 01ba 55E7 b .L331
6294 .L355:
6295 .align 2
6296 .L354:
6297 01bc C53EFFFF .word -49467
6298 01c0 00000000 .word SD_DMARxAbort
6299 01c4 00000000 .word SD_DMATxAbort
6300 .cfi_endproc
6301 .LFE153:
6303 .section .text.HAL_SD_Abort,"ax",%progbits
6304 .align 1
6305 .global HAL_SD_Abort
6306 .syntax unified
6307 .thumb
6308 .thumb_func
6310 HAL_SD_Abort:
6311 .LVL496:
6312 .LFB166:
2290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState;
6313 .loc 1 2290 1 is_stmt 1 view -0
6314 .cfi_startproc
6315 @ args = 0, pretend = 0, frame = 0
6316 @ frame_needed = 0, uses_anonymous_args = 0
2290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState;
6317 .loc 1 2290 1 is_stmt 0 view .LVU2333
6318 0000 10B5 push {r4, lr}
6319 .LCFI77:
6320 .cfi_def_cfa_offset 8
6321 .cfi_offset 4, -8
6322 .cfi_offset 14, -4
6323 0002 0446 mov r4, r0
2291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t context = hsd->Context;
6324 .loc 1 2291 3 is_stmt 1 view .LVU2334
2292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6325 .loc 1 2292 3 view .LVU2335
2292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6326 .loc 1 2292 12 is_stmt 0 view .LVU2336
6327 0004 016B ldr r1, [r0, #48]
6328 .LVL497:
ARM GAS /tmp/ccMMu31U.s page 207
2295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR);
6329 .loc 1 2295 3 is_stmt 1 view .LVU2337
6330 0006 0268 ldr r2, [r0]
6331 0008 D36B ldr r3, [r2, #60]
6332 000a 23F49D73 bic r3, r3, #314
6333 000e D363 str r3, [r2, #60]
2299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6334 .loc 1 2299 3 view .LVU2338
6335 0010 0368 ldr r3, [r0]
6336 0012 40F23A52 movw r2, #1338
6337 0016 9A63 str r2, [r3, #56]
2301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6338 .loc 1 2301 3 view .LVU2339
6339 0018 0268 ldr r2, [r0]
6340 001a D36A ldr r3, [r2, #44]
6341 001c 23F00103 bic r3, r3, #1
6342 0020 D362 str r3, [r2, #44]
2303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6343 .loc 1 2303 3 view .LVU2340
2303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6344 .loc 1 2303 6 is_stmt 0 view .LVU2341
6345 0022 11F0800F tst r1, #128
6346 0026 0AD0 beq .L357
2306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6347 .loc 1 2306 5 is_stmt 1 view .LVU2342
2306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6348 .loc 1 2306 8 is_stmt 0 view .LVU2343
6349 0028 0268 ldr r2, [r0]
2306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6350 .loc 1 2306 18 view .LVU2344
6351 002a D36A ldr r3, [r2, #44]
2306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6352 .loc 1 2306 26 view .LVU2345
6353 002c 23F00803 bic r3, r3, #8
6354 0030 D362 str r3, [r2, #44]
2309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6355 .loc 1 2309 5 is_stmt 1 view .LVU2346
2309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6356 .loc 1 2309 8 is_stmt 0 view .LVU2347
6357 0032 11F0300F tst r1, #48
6358 0036 11D1 bne .L363
2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6359 .loc 1 2317 10 is_stmt 1 view .LVU2348
2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6360 .loc 1 2317 13 is_stmt 0 view .LVU2349
6361 0038 11F0030F tst r1, #3
6362 003c 18D1 bne .L364
6363 .LVL498:
6364 .L357:
2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6365 .loc 1 2327 5 is_stmt 1 view .LVU2350
2330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6366 .loc 1 2330 3 view .LVU2351
2330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6367 .loc 1 2330 14 is_stmt 0 view .LVU2352
6368 003e 0123 movs r3, #1
6369 0040 84F83430 strb r3, [r4, #52]
ARM GAS /tmp/ccMMu31U.s page 208
2333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6370 .loc 1 2333 3 is_stmt 1 view .LVU2353
2333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6371 .loc 1 2333 16 is_stmt 0 view .LVU2354
6372 0044 0023 movs r3, #0
6373 0046 2363 str r3, [r4, #48]
2335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING))
6374 .loc 1 2335 3 is_stmt 1 view .LVU2355
2335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING))
6375 .loc 1 2335 15 is_stmt 0 view .LVU2356
6376 0048 2046 mov r0, r4
6377 004a FFF7FEFF bl HAL_SD_GetCardState
6378 .LVL499:
2336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6379 .loc 1 2336 3 is_stmt 1 view .LVU2357
2336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6380 .loc 1 2336 43 is_stmt 0 view .LVU2358
6381 004e 0538 subs r0, r0, #5
6382 .LVL500:
2336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6383 .loc 1 2336 5 view .LVU2359
6384 0050 0128 cmp r0, #1
6385 0052 17D9 bls .L365
6386 .LVL501:
6387 .L359:
2340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6388 .loc 1 2340 3 is_stmt 1 view .LVU2360
2340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6389 .loc 1 2340 9 is_stmt 0 view .LVU2361
6390 0054 A36B ldr r3, [r4, #56]
2340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6391 .loc 1 2340 5 view .LVU2362
6392 0056 D3B9 cbnz r3, .L361
2344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6393 .loc 1 2344 10 view .LVU2363
6394 0058 0020 movs r0, #0
6395 .L360:
2345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6396 .loc 1 2345 1 view .LVU2364
6397 005a 10BD pop {r4, pc}
6398 .LVL502:
6399 .L363:
2311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6400 .loc 1 2311 7 is_stmt 1 view .LVU2365
2311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6401 .loc 1 2311 10 is_stmt 0 view .LVU2366
6402 005c C06B ldr r0, [r0, #60]
6403 .LVL503:
2311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6404 .loc 1 2311 10 view .LVU2367
6405 005e FFF7FEFF bl HAL_DMA_Abort
6406 .LVL504:
2311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6407 .loc 1 2311 9 discriminator 1 view .LVU2368
6408 0062 0028 cmp r0, #0
6409 0064 EBD0 beq .L357
2313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
ARM GAS /tmp/ccMMu31U.s page 209
6410 .loc 1 2313 9 is_stmt 1 view .LVU2369
2313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6411 .loc 1 2313 12 is_stmt 0 view .LVU2370
6412 0066 A36B ldr r3, [r4, #56]
2313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6413 .loc 1 2313 24 view .LVU2371
6414 0068 43F08043 orr r3, r3, #1073741824
6415 006c A363 str r3, [r4, #56]
6416 006e E6E7 b .L357
6417 .LVL505:
6418 .L364:
2319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6419 .loc 1 2319 7 is_stmt 1 view .LVU2372
2319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6420 .loc 1 2319 10 is_stmt 0 view .LVU2373
6421 0070 006C ldr r0, [r0, #64]
6422 .LVL506:
2319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6423 .loc 1 2319 10 view .LVU2374
6424 0072 FFF7FEFF bl HAL_DMA_Abort
6425 .LVL507:
2319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6426 .loc 1 2319 9 discriminator 1 view .LVU2375
6427 0076 0028 cmp r0, #0
6428 0078 E1D0 beq .L357
2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6429 .loc 1 2321 9 is_stmt 1 view .LVU2376
2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6430 .loc 1 2321 12 is_stmt 0 view .LVU2377
6431 007a A36B ldr r3, [r4, #56]
2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6432 .loc 1 2321 24 view .LVU2378
6433 007c 43F08043 orr r3, r3, #1073741824
6434 0080 A363 str r3, [r4, #56]
6435 0082 DCE7 b .L357
6436 .LVL508:
6437 .L365:
2338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6438 .loc 1 2338 5 is_stmt 1 view .LVU2379
2338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6439 .loc 1 2338 22 is_stmt 0 view .LVU2380
6440 0084 2068 ldr r0, [r4]
6441 .LVL509:
2338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6442 .loc 1 2338 22 view .LVU2381
6443 0086 FFF7FEFF bl SDMMC_CmdStopTransfer
6444 .LVL510:
2338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6445 .loc 1 2338 20 discriminator 1 view .LVU2382
6446 008a A063 str r0, [r4, #56]
6447 008c E2E7 b .L359
6448 .L361:
2342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6449 .loc 1 2342 12 view .LVU2383
6450 008e 0120 movs r0, #1
6451 0090 E3E7 b .L360
6452 .cfi_endproc
ARM GAS /tmp/ccMMu31U.s page 210
6453 .LFE166:
6455 .section .text.HAL_SD_Abort_IT,"ax",%progbits
6456 .align 1
6457 .global HAL_SD_Abort_IT
6458 .syntax unified
6459 .thumb
6460 .thumb_func
6462 HAL_SD_Abort_IT:
6463 .LVL511:
6464 .LFB167:
2354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState;
6465 .loc 1 2354 1 is_stmt 1 view -0
6466 .cfi_startproc
6467 @ args = 0, pretend = 0, frame = 0
6468 @ frame_needed = 0, uses_anonymous_args = 0
2354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState;
6469 .loc 1 2354 1 is_stmt 0 view .LVU2385
6470 0000 10B5 push {r4, lr}
6471 .LCFI78:
6472 .cfi_def_cfa_offset 8
6473 .cfi_offset 4, -8
6474 .cfi_offset 14, -4
6475 0002 0446 mov r4, r0
2355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t context = hsd->Context;
6476 .loc 1 2355 3 is_stmt 1 view .LVU2386
2356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6477 .loc 1 2356 3 view .LVU2387
2356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6478 .loc 1 2356 12 is_stmt 0 view .LVU2388
6479 0004 026B ldr r2, [r0, #48]
6480 .LVL512:
2359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR);
6481 .loc 1 2359 3 is_stmt 1 view .LVU2389
6482 0006 0168 ldr r1, [r0]
6483 0008 CB6B ldr r3, [r1, #60]
6484 000a 23F49D73 bic r3, r3, #314
6485 000e CB63 str r3, [r1, #60]
2362:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6486 .loc 1 2362 3 view .LVU2390
6487 0010 0168 ldr r1, [r0]
6488 0012 CB6A ldr r3, [r1, #44]
6489 0014 23F00103 bic r3, r3, #1
6490 0018 CB62 str r3, [r1, #44]
2364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6491 .loc 1 2364 3 view .LVU2391
2364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6492 .loc 1 2364 6 is_stmt 0 view .LVU2392
6493 001a 12F0800F tst r2, #128
6494 001e 22D0 beq .L367
2367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6495 .loc 1 2367 5 is_stmt 1 view .LVU2393
2367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6496 .loc 1 2367 8 is_stmt 0 view .LVU2394
6497 0020 0168 ldr r1, [r0]
2367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6498 .loc 1 2367 18 view .LVU2395
6499 0022 CB6A ldr r3, [r1, #44]
ARM GAS /tmp/ccMMu31U.s page 211
2367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6500 .loc 1 2367 26 view .LVU2396
6501 0024 23F00803 bic r3, r3, #8
6502 0028 CB62 str r3, [r1, #44]
2370:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6503 .loc 1 2370 5 is_stmt 1 view .LVU2397
2370:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6504 .loc 1 2370 8 is_stmt 0 view .LVU2398
6505 002a 12F0300F tst r2, #48
6506 002e 04D1 bne .L374
2379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6507 .loc 1 2379 10 is_stmt 1 view .LVU2399
2379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6508 .loc 1 2379 13 is_stmt 0 view .LVU2400
6509 0030 12F0030F tst r2, #3
6510 0034 0CD1 bne .L375
2419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6511 .loc 1 2419 10 view .LVU2401
6512 0036 0020 movs r0, #0
6513 .LVL513:
6514 .L369:
2420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6515 .loc 1 2420 1 view .LVU2402
6516 0038 10BD pop {r4, pc}
6517 .LVL514:
6518 .L374:
2372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmatx) != HAL_OK)
6519 .loc 1 2372 7 is_stmt 1 view .LVU2403
2372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmatx) != HAL_OK)
6520 .loc 1 2372 10 is_stmt 0 view .LVU2404
6521 003a C36B ldr r3, [r0, #60]
2372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmatx) != HAL_OK)
6522 .loc 1 2372 38 view .LVU2405
6523 003c 184A ldr r2, .L378
6524 .LVL515:
2372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmatx) != HAL_OK)
6525 .loc 1 2372 38 view .LVU2406
6526 003e 1A65 str r2, [r3, #80]
2373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6527 .loc 1 2373 7 is_stmt 1 view .LVU2407
2373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6528 .loc 1 2373 10 is_stmt 0 view .LVU2408
6529 0040 C06B ldr r0, [r0, #60]
6530 .LVL516:
2373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6531 .loc 1 2373 10 view .LVU2409
6532 0042 FFF7FEFF bl HAL_DMA_Abort_IT
6533 .LVL517:
2373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6534 .loc 1 2373 9 discriminator 1 view .LVU2410
6535 0046 0028 cmp r0, #0
6536 0048 F6D0 beq .L369
2375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6537 .loc 1 2375 9 is_stmt 1 view .LVU2411
2375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6538 .loc 1 2375 21 is_stmt 0 view .LVU2412
6539 004a 0020 movs r0, #0
ARM GAS /tmp/ccMMu31U.s page 212
6540 004c E063 str r0, [r4, #60]
6541 004e F3E7 b .L369
6542 .LVL518:
6543 .L375:
2381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmarx) != HAL_OK)
6544 .loc 1 2381 7 is_stmt 1 view .LVU2413
2381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmarx) != HAL_OK)
6545 .loc 1 2381 10 is_stmt 0 view .LVU2414
6546 0050 036C ldr r3, [r0, #64]
2381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmarx) != HAL_OK)
6547 .loc 1 2381 38 view .LVU2415
6548 0052 144A ldr r2, .L378+4
6549 .LVL519:
2381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmarx) != HAL_OK)
6550 .loc 1 2381 38 view .LVU2416
6551 0054 1A65 str r2, [r3, #80]
2382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6552 .loc 1 2382 7 is_stmt 1 view .LVU2417
2382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6553 .loc 1 2382 10 is_stmt 0 view .LVU2418
6554 0056 006C ldr r0, [r0, #64]
6555 .LVL520:
2382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6556 .loc 1 2382 10 view .LVU2419
6557 0058 FFF7FEFF bl HAL_DMA_Abort_IT
6558 .LVL521:
2382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6559 .loc 1 2382 9 discriminator 1 view .LVU2420
6560 005c 0028 cmp r0, #0
6561 005e EBD0 beq .L369
2384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6562 .loc 1 2384 9 is_stmt 1 view .LVU2421
2384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6563 .loc 1 2384 21 is_stmt 0 view .LVU2422
6564 0060 0020 movs r0, #0
6565 0062 2064 str r0, [r4, #64]
6566 0064 E8E7 b .L369
6567 .LVL522:
6568 .L367:
2396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6569 .loc 1 2396 5 is_stmt 1 view .LVU2423
6570 0066 0368 ldr r3, [r0]
6571 0068 40F23A52 movw r2, #1338
6572 .LVL523:
2396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c ****
6573 .loc 1 2396 5 is_stmt 0 view .LVU2424
6574 006c 9A63 str r2, [r3, #56]
2398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
6575 .loc 1 2398 5 is_stmt 1 view .LVU2425
2398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY;
6576 .loc 1 2398 17 is_stmt 0 view .LVU2426
6577 006e FFF7FEFF bl HAL_SD_GetCardState
6578 .LVL524:
2399:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
6579 .loc 1 2399 5 is_stmt 1 view .LVU2427
2399:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE;
6580 .loc 1 2399 16 is_stmt 0 view .LVU2428
ARM GAS /tmp/ccMMu31U.s page 213
6581 0072 0123 movs r3, #1
6582 0074 84F83430 strb r3, [r4, #52]
2400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING))
6583 .loc 1 2400 5 is_stmt 1 view .LVU2429
2400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING))
6584 .loc 1 2400 18 is_stmt 0 view .LVU2430
6585 0078 0023 movs r3, #0
6586 007a 2363 str r3, [r4, #48]
2401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6587 .loc 1 2401 5 is_stmt 1 view .LVU2431
2401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6588 .loc 1 2401 45 is_stmt 0 view .LVU2432
6589 007c 0538 subs r0, r0, #5
6590 .LVL525:
2401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6591 .loc 1 2401 7 view .LVU2433
6592 007e 0128 cmp r0, #1
6593 0080 03D9 bls .L376
6594 .LVL526:
6595 .L370:
2405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6596 .loc 1 2405 5 is_stmt 1 view .LVU2434
2405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6597 .loc 1 2405 11 is_stmt 0 view .LVU2435
6598 0082 A36B ldr r3, [r4, #56]
2405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** {
6599 .loc 1 2405 7 view .LVU2436
6600 0084 33B1 cbz r3, .L377
2407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6601 .loc 1 2407 14 view .LVU2437
6602 0086 0120 movs r0, #1
6603 0088 D6E7 b .L369
6604 .LVL527:
6605 .L376:
2403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6606 .loc 1 2403 7 is_stmt 1 view .LVU2438
2403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6607 .loc 1 2403 24 is_stmt 0 view .LVU2439
6608 008a 2068 ldr r0, [r4]
6609 .LVL528:
2403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6610 .loc 1 2403 24 view .LVU2440
6611 008c FFF7FEFF bl SDMMC_CmdStopTransfer
6612 .LVL529:
2403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6613 .loc 1 2403 22 discriminator 1 view .LVU2441
6614 0090 A063 str r0, [r4, #56]
6615 0092 F6E7 b .L370
6616 .L377:
2414:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */
6617 .loc 1 2414 7 is_stmt 1 view .LVU2442
6618 0094 2046 mov r0, r4
6619 0096 FFF7FEFF bl HAL_SD_AbortCallback
6620 .LVL530:
2419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** }
6621 .loc 1 2419 10 is_stmt 0 view .LVU2443
6622 009a 0020 movs r0, #0
ARM GAS /tmp/ccMMu31U.s page 214
6623 009c CCE7 b .L369
6624 .L379:
6625 009e 00BF .align 2
6626 .L378:
6627 00a0 00000000 .word SD_DMATxAbort
6628 00a4 00000000 .word SD_DMARxAbort
6629 .cfi_endproc
6630 .LFE167:
6632 .text
6633 .Letext0:
6634 .file 2 "/usr/lib/gcc/arm-none-eabi/13.2.1/include/stdint.h"
6635 .file 3 "Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f767xx.h"
6636 .file 4 "Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f7xx.h"
6637 .file 5 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_def.h"
6638 .file 6 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_dma.h"
6639 .file 7 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_sdmmc.h"
6640 .file 8 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_sd.h"
6641 .file 9 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal.h"
ARM GAS /tmp/ccMMu31U.s page 215
DEFINED SYMBOLS
*ABS*:00000000 stm32f7xx_hal_sd.c
/tmp/ccMMu31U.s:20 .text.SD_DMATransmitCplt:00000000 $t
/tmp/ccMMu31U.s:25 .text.SD_DMATransmitCplt:00000000 SD_DMATransmitCplt
/tmp/ccMMu31U.s:51 .text.SD_PowerON:00000000 $t
/tmp/ccMMu31U.s:56 .text.SD_PowerON:00000000 SD_PowerON
/tmp/ccMMu31U.s:275 .text.SD_PowerON:000000bc $d
/tmp/ccMMu31U.s:280 .text.SD_PowerOFF:00000000 $t
/tmp/ccMMu31U.s:285 .text.SD_PowerOFF:00000000 SD_PowerOFF
/tmp/ccMMu31U.s:311 .text.SD_Read_IT:00000000 $t
/tmp/ccMMu31U.s:316 .text.SD_Read_IT:00000000 SD_Read_IT
/tmp/ccMMu31U.s:419 .text.SD_Write_IT:00000000 $t
/tmp/ccMMu31U.s:424 .text.SD_Write_IT:00000000 SD_Write_IT
/tmp/ccMMu31U.s:541 .text.SD_SendSDStatus:00000000 $t
/tmp/ccMMu31U.s:546 .text.SD_SendSDStatus:00000000 SD_SendSDStatus
/tmp/ccMMu31U.s:814 .text.SD_FindSCR:00000000 $t
/tmp/ccMMu31U.s:819 .text.SD_FindSCR:00000000 SD_FindSCR
/tmp/ccMMu31U.s:1083 .text.SD_WideBus_Enable:00000000 $t
/tmp/ccMMu31U.s:1088 .text.SD_WideBus_Enable:00000000 SD_WideBus_Enable
/tmp/ccMMu31U.s:1183 .text.SD_WideBus_Disable:00000000 $t
/tmp/ccMMu31U.s:1188 .text.SD_WideBus_Disable:00000000 SD_WideBus_Disable
/tmp/ccMMu31U.s:1283 .text.SD_SendStatus:00000000 $t
/tmp/ccMMu31U.s:1288 .text.SD_SendStatus:00000000 SD_SendStatus
/tmp/ccMMu31U.s:1353 .text.HAL_SD_MspInit:00000000 $t
/tmp/ccMMu31U.s:1359 .text.HAL_SD_MspInit:00000000 HAL_SD_MspInit
/tmp/ccMMu31U.s:1374 .text.HAL_SD_MspDeInit:00000000 $t
/tmp/ccMMu31U.s:1380 .text.HAL_SD_MspDeInit:00000000 HAL_SD_MspDeInit
/tmp/ccMMu31U.s:1395 .text.HAL_SD_DeInit:00000000 $t
/tmp/ccMMu31U.s:1401 .text.HAL_SD_DeInit:00000000 HAL_SD_DeInit
/tmp/ccMMu31U.s:1455 .text.HAL_SD_ReadBlocks:00000000 $t
/tmp/ccMMu31U.s:1461 .text.HAL_SD_ReadBlocks:00000000 HAL_SD_ReadBlocks
/tmp/ccMMu31U.s:2019 .text.HAL_SD_ReadBlocks:00000244 $d
/tmp/ccMMu31U.s:2024 .text.HAL_SD_WriteBlocks:00000000 $t
/tmp/ccMMu31U.s:2030 .text.HAL_SD_WriteBlocks:00000000 HAL_SD_WriteBlocks
/tmp/ccMMu31U.s:2517 .text.HAL_SD_WriteBlocks:000001fc $d
/tmp/ccMMu31U.s:2522 .text.HAL_SD_ReadBlocks_IT:00000000 $t
/tmp/ccMMu31U.s:2528 .text.HAL_SD_ReadBlocks_IT:00000000 HAL_SD_ReadBlocks_IT
/tmp/ccMMu31U.s:2751 .text.HAL_SD_ReadBlocks_IT:000000c8 $d
/tmp/ccMMu31U.s:2756 .text.HAL_SD_WriteBlocks_IT:00000000 $t
/tmp/ccMMu31U.s:2762 .text.HAL_SD_WriteBlocks_IT:00000000 HAL_SD_WriteBlocks_IT
/tmp/ccMMu31U.s:2985 .text.HAL_SD_WriteBlocks_IT:000000c0 $d
/tmp/ccMMu31U.s:2990 .text.HAL_SD_ReadBlocks_DMA:00000000 $t
/tmp/ccMMu31U.s:2996 .text.HAL_SD_ReadBlocks_DMA:00000000 HAL_SD_ReadBlocks_DMA
/tmp/ccMMu31U.s:3282 .text.HAL_SD_ReadBlocks_DMA:00000128 $d
/tmp/ccMMu31U.s:3972 .text.SD_DMAReceiveCplt:00000000 SD_DMAReceiveCplt
/tmp/ccMMu31U.s:5615 .text.SD_DMAError:00000000 SD_DMAError
/tmp/ccMMu31U.s:3289 .text.HAL_SD_WriteBlocks_DMA:00000000 $t
/tmp/ccMMu31U.s:3295 .text.HAL_SD_WriteBlocks_DMA:00000000 HAL_SD_WriteBlocks_DMA
/tmp/ccMMu31U.s:3586 .text.HAL_SD_WriteBlocks_DMA:00000124 $d
/tmp/ccMMu31U.s:3593 .text.HAL_SD_Erase:00000000 $t
/tmp/ccMMu31U.s:3599 .text.HAL_SD_Erase:00000000 HAL_SD_Erase
/tmp/ccMMu31U.s:3851 .text.HAL_SD_Erase:000000f4 $d
/tmp/ccMMu31U.s:3856 .text.HAL_SD_GetState:00000000 $t
/tmp/ccMMu31U.s:3862 .text.HAL_SD_GetState:00000000 HAL_SD_GetState
/tmp/ccMMu31U.s:3880 .text.HAL_SD_GetError:00000000 $t
/tmp/ccMMu31U.s:3886 .text.HAL_SD_GetError:00000000 HAL_SD_GetError
/tmp/ccMMu31U.s:3904 .text.HAL_SD_TxCpltCallback:00000000 $t
ARM GAS /tmp/ccMMu31U.s page 216
/tmp/ccMMu31U.s:3910 .text.HAL_SD_TxCpltCallback:00000000 HAL_SD_TxCpltCallback
/tmp/ccMMu31U.s:3925 .text.HAL_SD_RxCpltCallback:00000000 $t
/tmp/ccMMu31U.s:3931 .text.HAL_SD_RxCpltCallback:00000000 HAL_SD_RxCpltCallback
/tmp/ccMMu31U.s:3946 .text.HAL_SD_ErrorCallback:00000000 $t
/tmp/ccMMu31U.s:3952 .text.HAL_SD_ErrorCallback:00000000 HAL_SD_ErrorCallback
/tmp/ccMMu31U.s:3967 .text.SD_DMAReceiveCplt:00000000 $t
/tmp/ccMMu31U.s:4055 .text.HAL_SD_AbortCallback:00000000 $t
/tmp/ccMMu31U.s:4061 .text.HAL_SD_AbortCallback:00000000 HAL_SD_AbortCallback
/tmp/ccMMu31U.s:4076 .text.HAL_SD_GetCardCID:00000000 $t
/tmp/ccMMu31U.s:4082 .text.HAL_SD_GetCardCID:00000000 HAL_SD_GetCardCID
/tmp/ccMMu31U.s:4167 .text.HAL_SD_GetCardCSD:00000000 $t
/tmp/ccMMu31U.s:4173 .text.HAL_SD_GetCardCSD:00000000 HAL_SD_GetCardCSD
/tmp/ccMMu31U.s:4547 .text.HAL_SD_GetCardCSD:000001b4 $d
/tmp/ccMMu31U.s:4552 .text.SD_InitCard:00000000 $t
/tmp/ccMMu31U.s:4557 .text.SD_InitCard:00000000 SD_InitCard
/tmp/ccMMu31U.s:4798 .text.HAL_SD_InitCard:00000000 $t
/tmp/ccMMu31U.s:4804 .text.HAL_SD_InitCard:00000000 HAL_SD_InitCard
/tmp/ccMMu31U.s:4977 .text.HAL_SD_InitCard:000000a4 $d
/tmp/ccMMu31U.s:4982 .text.HAL_SD_Init:00000000 $t
/tmp/ccMMu31U.s:4988 .text.HAL_SD_Init:00000000 HAL_SD_Init
/tmp/ccMMu31U.s:5078 .text.HAL_SD_GetCardStatus:00000000 $t
/tmp/ccMMu31U.s:5084 .text.HAL_SD_GetCardStatus:00000000 HAL_SD_GetCardStatus
/tmp/ccMMu31U.s:5263 .text.HAL_SD_GetCardStatus:000000a8 $d
/tmp/ccMMu31U.s:5268 .text.HAL_SD_GetCardInfo:00000000 $t
/tmp/ccMMu31U.s:5274 .text.HAL_SD_GetCardInfo:00000000 HAL_SD_GetCardInfo
/tmp/ccMMu31U.s:5332 .text.HAL_SD_ConfigWideBusOperation:00000000 $t
/tmp/ccMMu31U.s:5338 .text.HAL_SD_ConfigWideBusOperation:00000000 HAL_SD_ConfigWideBusOperation
/tmp/ccMMu31U.s:5541 .text.HAL_SD_ConfigWideBusOperation:000000bc $d
/tmp/ccMMu31U.s:5546 .text.HAL_SD_GetCardState:00000000 $t
/tmp/ccMMu31U.s:5552 .text.HAL_SD_GetCardState:00000000 HAL_SD_GetCardState
/tmp/ccMMu31U.s:5610 .text.SD_DMAError:00000000 $t
/tmp/ccMMu31U.s:5730 .text.SD_DMAError:00000064 $d
/tmp/ccMMu31U.s:5735 .text.SD_DMATxAbort:00000000 $t
/tmp/ccMMu31U.s:5740 .text.SD_DMATxAbort:00000000 SD_DMATxAbort
/tmp/ccMMu31U.s:5824 .text.SD_DMARxAbort:00000000 $t
/tmp/ccMMu31U.s:5829 .text.SD_DMARxAbort:00000000 SD_DMARxAbort
/tmp/ccMMu31U.s:5913 .text.HAL_SD_IRQHandler:00000000 $t
/tmp/ccMMu31U.s:5919 .text.HAL_SD_IRQHandler:00000000 HAL_SD_IRQHandler
/tmp/ccMMu31U.s:6297 .text.HAL_SD_IRQHandler:000001bc $d
/tmp/ccMMu31U.s:6304 .text.HAL_SD_Abort:00000000 $t
/tmp/ccMMu31U.s:6310 .text.HAL_SD_Abort:00000000 HAL_SD_Abort
/tmp/ccMMu31U.s:6456 .text.HAL_SD_Abort_IT:00000000 $t
/tmp/ccMMu31U.s:6462 .text.HAL_SD_Abort_IT:00000000 HAL_SD_Abort_IT
/tmp/ccMMu31U.s:6627 .text.HAL_SD_Abort_IT:000000a0 $d
UNDEFINED SYMBOLS
SDMMC_CmdGoIdleState
SDMMC_CmdOperCond
SDMMC_CmdAppCommand
SDMMC_CmdAppOperCommand
SDMMC_GetResponse
SDMMC_PowerState_OFF
SDMMC_ReadFIFO
SDMMC_WriteFIFO
HAL_GetTick
SDMMC_CmdBlockLength
SDMMC_ConfigData
ARM GAS /tmp/ccMMu31U.s page 217
SDMMC_CmdStatusRegister
SDMMC_CmdSendSCR
SDMMC_CmdBusWidth
SDMMC_CmdSendStatus
SDMMC_CmdReadMultiBlock
SDMMC_CmdReadSingleBlock
SDMMC_CmdStopTransfer
SDMMC_CmdWriteMultiBlock
SDMMC_CmdWriteSingleBlock
HAL_DMA_Start_IT
SDMMC_CmdSDEraseStartAdd
SDMMC_CmdSDEraseEndAdd
SDMMC_CmdErase
SDMMC_GetPowerState
SDMMC_CmdSendCSD
SDMMC_CmdSelDesel
SDMMC_Init
SDMMC_CmdSendCID
SDMMC_CmdSetRelAdd
SDMMC_PowerState_ON
HAL_Delay
HAL_DMA_GetError
HAL_DMA_Abort_IT
HAL_DMA_Abort