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