ARM GAS /tmp/ccME1oKf.s page 1 1 .cpu cortex-m7 2 .eabi_attribute 28, 1 3 .eabi_attribute 20, 1 4 .eabi_attribute 21, 1 5 .eabi_attribute 23, 3 6 .eabi_attribute 24, 1 7 .eabi_attribute 25, 1 8 .eabi_attribute 26, 1 9 .eabi_attribute 30, 1 10 .eabi_attribute 34, 1 11 .eabi_attribute 18, 4 12 .file "stm32f7xx_hal_sd.c" 13 .text 14 .Ltext0: 15 .cfi_sections .debug_frame 16 .section .text.SD_DMATransmitCplt,"ax",%progbits 17 .align 1 18 .arch armv7e-m 19 .syntax unified 20 .thumb 21 .thumb_func 22 .fpu fpv5-d16 24 SD_DMATransmitCplt: 25 .LVL0: 26 .LFB168: 27 .file 1 "Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c" 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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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/ccME1oKf.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 55 .fpu fpv5-d16 57 SD_PowerON: 58 .LVL4: 59 .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 **** */ ARM GAS /tmp/ccME1oKf.s page 45 2453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** static void SD_DMAReceiveCplt(DMA_HandleTypeDef *hdma) 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); ARM GAS /tmp/ccME1oKf.s page 46 2510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 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); ARM GAS /tmp/ccME1oKf.s page 47 2567:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #else 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 */ ARM GAS /tmp/ccME1oKf.s page 48 2624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(SDMMC_GetPowerState(hsd->Instance) == 0U) 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); ARM GAS /tmp/ccME1oKf.s page 49 2681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 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 **** { 60 .loc 1 2710 1 is_stmt 1 view -0 61 .cfi_startproc 62 @ args = 0, pretend = 0, frame = 8 63 @ frame_needed = 0, uses_anonymous_args = 0 64 .loc 1 2710 1 is_stmt 0 view .LVU7 65 0000 70B5 push {r4, r5, r6, lr} 66 .LCFI0: 67 .cfi_def_cfa_offset 16 68 .cfi_offset 4, -16 69 .cfi_offset 5, -12 70 .cfi_offset 6, -8 71 .cfi_offset 14, -4 72 0002 82B0 sub sp, sp, #8 73 .LCFI1: 74 .cfi_def_cfa_offset 24 75 0004 0446 mov r4, r0 2711:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __IO uint32_t count = 0U; 76 .loc 1 2711 3 is_stmt 1 view .LVU8 77 .loc 1 2711 17 is_stmt 0 view .LVU9 78 0006 0023 movs r3, #0 79 0008 0193 str r3, [sp, #4] 2712:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t response = 0U, validvoltage = 0U; 80 .loc 1 2712 3 is_stmt 1 view .LVU10 81 .LVL5: 2713:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 82 .loc 1 2713 3 view .LVU11 2714:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ARM GAS /tmp/ccME1oKf.s page 50 2715:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* CMD0: GO_IDLE_STATE */ 2716:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** errorstate = SDMMC_CmdGoIdleState(hsd->Instance); 83 .loc 1 2716 3 view .LVU12 84 .loc 1 2716 16 is_stmt 0 view .LVU13 85 000a 0068 ldr r0, [r0] 86 .LVL6: 87 .loc 1 2716 16 view .LVU14 88 000c FFF7FEFF bl SDMMC_CmdGoIdleState 89 .LVL7: 2717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 90 .loc 1 2717 3 is_stmt 1 view .LVU15 91 .loc 1 2717 5 is_stmt 0 view .LVU16 92 0010 0546 mov r5, r0 93 0012 10B1 cbz r0, .L19 94 .LVL8: 95 .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 **** } ARM GAS /tmp/ccME1oKf.s page 51 2759:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 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 **** } 96 .loc 1 2792 1 view .LVU17 97 0014 2846 mov r0, r5 98 0016 02B0 add sp, sp, #8 99 .LCFI2: 100 .cfi_remember_state 101 .cfi_def_cfa_offset 16 102 @ sp needed 103 0018 70BD pop {r4, r5, r6, pc} 104 .LVL9: 105 .L19: 106 .LCFI3: 107 .cfi_restore_state 2723:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 108 .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) 109 .loc 1 2723 16 is_stmt 0 view .LVU19 110 001a 2068 ldr r0, [r4] 111 .LVL10: 2723:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 112 .loc 1 2723 16 view .LVU20 113 001c FFF7FEFF bl SDMMC_CmdOperCond 114 .LVL11: 2724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { ARM GAS /tmp/ccME1oKf.s page 52 115 .loc 1 2724 3 is_stmt 1 view .LVU21 2724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 116 .loc 1 2724 5 is_stmt 0 view .LVU22 117 0020 38B9 cbnz r0, .L20 2737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 118 .loc 1 2737 5 is_stmt 1 view .LVU23 2737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 119 .loc 1 2737 29 is_stmt 0 view .LVU24 120 0022 0123 movs r3, #1 121 0024 A364 str r3, [r4, #72] 122 .L5: 2740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 123 .loc 1 2740 3 is_stmt 1 view .LVU25 2740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 124 .loc 1 2740 18 is_stmt 0 view .LVU26 125 0026 A36C ldr r3, [r4, #72] 2740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 126 .loc 1 2740 5 view .LVU27 127 0028 012B cmp r3, #1 128 002a 0BD0 beq .L6 129 .L8: 2771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 130 .loc 1 2771 52 view .LVU28 131 002c 2E46 mov r6, r5 132 002e 2846 mov r0, r5 133 .LVL12: 2771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 134 .loc 1 2771 52 view .LVU29 135 0030 14E0 b .L7 136 .LVL13: 137 .L20: 2726:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* CMD0: GO_IDLE_STATE */ 138 .loc 1 2726 5 is_stmt 1 view .LVU30 2726:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* CMD0: GO_IDLE_STATE */ 139 .loc 1 2726 29 is_stmt 0 view .LVU31 140 0032 0023 movs r3, #0 141 0034 A364 str r3, [r4, #72] 2728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 142 .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) 143 .loc 1 2728 18 is_stmt 0 view .LVU33 144 0036 2068 ldr r0, [r4] 145 .LVL14: 2728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 146 .loc 1 2728 18 view .LVU34 147 0038 FFF7FEFF bl SDMMC_CmdGoIdleState 148 .LVL15: 2729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 149 .loc 1 2729 5 is_stmt 1 view .LVU35 2729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 150 .loc 1 2729 7 is_stmt 0 view .LVU36 151 003c 0028 cmp r0, #0 152 003e F2D0 beq .L5 2731:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 153 .loc 1 2731 14 view .LVU37 154 0040 0546 mov r5, r0 155 0042 E7E7 b .L2 ARM GAS /tmp/ccME1oKf.s page 53 156 .L6: 2743:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 157 .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) 158 .loc 1 2743 18 is_stmt 0 view .LVU39 159 0044 0021 movs r1, #0 160 0046 2068 ldr r0, [r4] 161 .LVL16: 2743:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 162 .loc 1 2743 18 view .LVU40 163 0048 FFF7FEFF bl SDMMC_CmdAppCommand 164 .LVL17: 2744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 165 .loc 1 2744 5 is_stmt 1 view .LVU41 2744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 166 .loc 1 2744 7 is_stmt 0 view .LVU42 167 004c 0028 cmp r0, #0 168 004e EDD0 beq .L8 2746:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 169 .loc 1 2746 14 view .LVU43 170 0050 4FF08055 mov r5, #268435456 171 0054 DEE7 b .L2 172 .LVL18: 173 .L9: 2773:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 174 .loc 1 2773 5 is_stmt 1 discriminator 4 view .LVU44 2773:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 175 .loc 1 2773 10 is_stmt 0 discriminator 4 view .LVU45 176 0056 019B ldr r3, [sp, #4] 177 0058 0133 adds r3, r3, #1 178 005a 0193 str r3, [sp, #4] 179 .LVL19: 180 .L7: 2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 181 .loc 1 2751 8 is_stmt 1 view .LVU46 2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 182 .loc 1 2751 16 is_stmt 0 view .LVU47 183 005c 019A ldr r2, [sp, #4] 2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 184 .loc 1 2751 8 view .LVU48 185 005e 4FF6FE73 movw r3, #65534 186 0062 9A42 cmp r2, r3 187 0064 13D8 bhi .L10 2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 188 .loc 1 2751 40 discriminator 1 view .LVU49 189 0066 96B9 cbnz r6, .L10 2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 190 .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) 191 .loc 1 2754 18 is_stmt 0 view .LVU51 192 0068 0021 movs r1, #0 193 006a 2068 ldr r0, [r4] 194 .LVL20: 2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 195 .loc 1 2754 18 view .LVU52 196 006c FFF7FEFF bl SDMMC_CmdAppCommand 197 .LVL21: ARM GAS /tmp/ccME1oKf.s page 54 2755:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 198 .loc 1 2755 5 is_stmt 1 view .LVU53 2755:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 199 .loc 1 2755 7 is_stmt 0 view .LVU54 200 0070 E0B9 cbnz r0, .L15 2761:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 201 .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) 202 .loc 1 2761 18 is_stmt 0 view .LVU56 203 0072 1249 ldr r1, .L21 204 0074 2068 ldr r0, [r4] 205 .LVL22: 2761:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 206 .loc 1 2761 18 view .LVU57 207 0076 FFF7FEFF bl SDMMC_CmdAppOperCommand 208 .LVL23: 2762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 209 .loc 1 2762 5 is_stmt 1 view .LVU58 2762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 210 .loc 1 2762 7 is_stmt 0 view .LVU59 211 007a 0646 mov r6, r0 212 .LVL24: 2762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 213 .loc 1 2762 7 view .LVU60 214 007c C0B9 cbnz r0, .L16 2768:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 215 .loc 1 2768 5 is_stmt 1 view .LVU61 2768:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 216 .loc 1 2768 16 is_stmt 0 view .LVU62 217 007e 0021 movs r1, #0 218 0080 2068 ldr r0, [r4] 219 .LVL25: 2768:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 220 .loc 1 2768 16 view .LVU63 221 0082 FFF7FEFF bl SDMMC_GetResponse 222 .LVL26: 2771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 223 .loc 1 2771 5 is_stmt 1 view .LVU64 2771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 224 .loc 1 2771 52 is_stmt 0 view .LVU65 225 0086 C30F lsrs r3, r0, #31 226 0088 E5D0 beq .L9 227 008a 1E46 mov r6, r3 228 .LVL27: 2771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 229 .loc 1 2771 52 view .LVU66 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 .LVU67 2776:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 234 .loc 1 2776 12 is_stmt 0 view .LVU68 235 008e 019A ldr r2, [sp, #4] 2776:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 236 .loc 1 2776 5 view .LVU69 237 0090 4FF6FE73 movw r3, #65534 ARM GAS /tmp/ccME1oKf.s page 55 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 .LVU70 2781:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 241 .loc 1 2781 5 is_stmt 0 view .LVU71 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 .LVU72 2783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 245 .loc 1 2783 26 is_stmt 0 view .LVU73 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 .LVU74 2787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 251 .loc 1 2787 26 is_stmt 0 view .LVU75 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 .LVU76 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 .LVU77 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 .LVU78 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 .LVU79 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 284 .fpu fpv5-d16 286 SD_PowerOFF: ARM GAS /tmp/ccME1oKf.s page 56 287 .LVL32: 288 .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 **** { 289 .loc 1 2800 1 is_stmt 1 view -0 290 .cfi_startproc 291 @ args = 0, pretend = 0, frame = 0 292 @ frame_needed = 0, uses_anonymous_args = 0 293 .loc 1 2800 1 is_stmt 0 view .LVU81 294 0000 08B5 push {r3, lr} 295 .LCFI4: 296 .cfi_def_cfa_offset 8 297 .cfi_offset 3, -8 298 .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); 299 .loc 1 2802 3 is_stmt 1 view .LVU82 300 .loc 1 2802 9 is_stmt 0 view .LVU83 301 0002 0068 ldr r0, [r0] 302 .LVL33: 303 .loc 1 2802 9 view .LVU84 304 0004 FFF7FEFF bl SDMMC_PowerState_OFF 305 .LVL34: 2803:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 306 .loc 1 2803 1 view .LVU85 307 0008 08BD pop {r3, pc} 308 .cfi_endproc 309 .LFE175: 311 .section .text.SD_Read_IT,"ax",%progbits 312 .align 1 313 .syntax unified 314 .thumb 315 .thumb_func 316 .fpu fpv5-d16 318 SD_Read_IT: 319 .LVL35: 320 .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; ARM GAS /tmp/ccME1oKf.s page 57 2818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t *pData = pSDstatus; 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 **** } ARM GAS /tmp/ccME1oKf.s page 58 2875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 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; ARM GAS /tmp/ccME1oKf.s page 59 2932:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 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. ARM GAS /tmp/ccME1oKf.s page 60 2989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** * @param hsd: Pointer to SD handle 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(); ARM GAS /tmp/ccME1oKf.s page 61 3046:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t index = 0U; 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 **** } ARM GAS /tmp/ccME1oKf.s page 62 3103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL)) 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 **** { 321 .loc 1 3139 1 is_stmt 1 view -0 322 .cfi_startproc 323 @ args = 0, pretend = 0, frame = 0 324 @ frame_needed = 0, uses_anonymous_args = 0 325 .loc 1 3139 1 is_stmt 0 view .LVU87 326 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 327 .LCFI5: 328 .cfi_def_cfa_offset 24 329 .cfi_offset 3, -24 330 .cfi_offset 4, -20 331 .cfi_offset 5, -16 332 .cfi_offset 6, -12 333 .cfi_offset 7, -8 334 .cfi_offset 14, -4 3140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count, data, dataremaining; 335 .loc 1 3140 3 is_stmt 1 view .LVU88 3141:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint8_t* tmp; 336 .loc 1 3141 3 view .LVU89 3142:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp = hsd->pRxBuffPtr; ARM GAS /tmp/ccME1oKf.s page 63 337 .loc 1 3143 3 view .LVU90 338 .loc 1 3143 7 is_stmt 0 view .LVU91 339 0002 846A ldr r4, [r0, #40] 340 .LVL36: 3144:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining = hsd->RxXferSize; 341 .loc 1 3144 3 is_stmt 1 view .LVU92 342 .loc 1 3144 17 is_stmt 0 view .LVU93 343 0004 C66A ldr r6, [r0, #44] 344 .LVL37: 3145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if (dataremaining > 0U) 345 .loc 1 3146 3 is_stmt 1 view .LVU94 346 .loc 1 3146 6 is_stmt 0 view .LVU95 347 0006 A6B9 cbnz r6, .L29 348 .LVL38: 349 .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 **** } 350 .loc 1 3169 1 view .LVU96 351 0008 F8BD pop {r3, r4, r5, r6, r7, pc} 352 .LVL39: 353 .L28: 3151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tmp = (uint8_t)(data & 0xFFU); 354 .loc 1 3151 7 is_stmt 1 discriminator 3 view .LVU97 3151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tmp = (uint8_t)(data & 0xFFU); 355 .loc 1 3151 14 is_stmt 0 discriminator 3 view .LVU98 356 000a 3868 ldr r0, [r7] 357 000c FFF7FEFF bl SDMMC_ReadFIFO 358 .LVL40: 3152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 359 .loc 1 3152 7 is_stmt 1 discriminator 3 view .LVU99 3152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 360 .loc 1 3152 12 is_stmt 0 discriminator 3 view .LVU100 361 0010 2070 strb r0, [r4] 3153:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 362 .loc 1 3153 7 is_stmt 1 discriminator 3 view .LVU101 ARM GAS /tmp/ccME1oKf.s page 64 363 .LVL41: 3154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tmp = (uint8_t)((data >> 8U) & 0xFFU); 364 .loc 1 3154 7 discriminator 3 view .LVU102 3155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 365 .loc 1 3155 7 discriminator 3 view .LVU103 3155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 366 .loc 1 3155 14 is_stmt 0 discriminator 3 view .LVU104 367 0012 C0F30723 ubfx r3, r0, #8, #8 3155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 368 .loc 1 3155 12 discriminator 3 view .LVU105 369 0016 6370 strb r3, [r4, #1] 3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 370 .loc 1 3156 7 is_stmt 1 discriminator 3 view .LVU106 371 .LVL42: 3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tmp = (uint8_t)((data >> 16U) & 0xFFU); 372 .loc 1 3157 7 discriminator 3 view .LVU107 3158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 373 .loc 1 3158 7 discriminator 3 view .LVU108 3158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 374 .loc 1 3158 14 is_stmt 0 discriminator 3 view .LVU109 375 0018 C0F30743 ubfx r3, r0, #16, #8 3158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 376 .loc 1 3158 12 discriminator 3 view .LVU110 377 001c A370 strb r3, [r4, #2] 3159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 378 .loc 1 3159 7 is_stmt 1 discriminator 3 view .LVU111 379 .LVL43: 3160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tmp = (uint8_t)((data >> 24U) & 0xFFU); 380 .loc 1 3160 7 discriminator 3 view .LVU112 3161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 381 .loc 1 3161 7 discriminator 3 view .LVU113 3161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 382 .loc 1 3161 14 is_stmt 0 discriminator 3 view .LVU114 383 001e 000E lsrs r0, r0, #24 384 .LVL44: 3161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 385 .loc 1 3161 12 discriminator 3 view .LVU115 386 0020 E070 strb r0, [r4, #3] 3162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 387 .loc 1 3162 7 is_stmt 1 discriminator 3 view .LVU116 3162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 388 .loc 1 3162 10 is_stmt 0 discriminator 3 view .LVU117 389 0022 0434 adds r4, r4, #4 390 .LVL45: 3163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 391 .loc 1 3163 7 is_stmt 1 discriminator 3 view .LVU118 3163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 392 .loc 1 3163 20 is_stmt 0 discriminator 3 view .LVU119 393 0024 043E subs r6, r6, #4 394 .LVL46: 3149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 395 .loc 1 3149 33 is_stmt 1 discriminator 3 view .LVU120 3149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 396 .loc 1 3149 38 is_stmt 0 discriminator 3 view .LVU121 397 0026 0135 adds r5, r5, #1 398 .LVL47: 399 .L26: ARM GAS /tmp/ccME1oKf.s page 65 3149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 400 .loc 1 3149 21 is_stmt 1 discriminator 1 view .LVU122 3149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 401 .loc 1 3149 5 is_stmt 0 discriminator 1 view .LVU123 402 0028 072D cmp r5, #7 403 002a EED9 bls .L28 3166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->RxXferSize = dataremaining; 404 .loc 1 3166 5 is_stmt 1 view .LVU124 3166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->RxXferSize = dataremaining; 405 .loc 1 3166 21 is_stmt 0 view .LVU125 406 002c BC62 str r4, [r7, #40] 3167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 407 .loc 1 3167 5 is_stmt 1 view .LVU126 3167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 408 .loc 1 3167 21 is_stmt 0 view .LVU127 409 002e FE62 str r6, [r7, #44] 410 .loc 1 3169 1 view .LVU128 411 0030 EAE7 b .L25 412 .LVL48: 413 .L29: 414 .loc 1 3169 1 view .LVU129 415 0032 0746 mov r7, r0 3149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 416 .loc 1 3149 15 view .LVU130 417 0034 0025 movs r5, #0 418 0036 F7E7 b .L26 419 .cfi_endproc 420 .LFE181: 422 .section .text.SD_Write_IT,"ax",%progbits 423 .align 1 424 .syntax unified 425 .thumb 426 .thumb_func 427 .fpu fpv5-d16 429 SD_Write_IT: 430 .LVL49: 431 .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 **** { 432 .loc 1 3178 1 is_stmt 1 view -0 433 .cfi_startproc 434 @ args = 0, pretend = 0, frame = 8 435 @ frame_needed = 0, uses_anonymous_args = 0 436 .loc 1 3178 1 is_stmt 0 view .LVU132 437 0000 F0B5 push {r4, r5, r6, r7, lr} 438 .LCFI6: 439 .cfi_def_cfa_offset 20 440 .cfi_offset 4, -20 441 .cfi_offset 5, -16 442 .cfi_offset 6, -12 ARM GAS /tmp/ccME1oKf.s page 66 443 .cfi_offset 7, -8 444 .cfi_offset 14, -4 445 0002 83B0 sub sp, sp, #12 446 .LCFI7: 447 .cfi_def_cfa_offset 32 3179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count, data, dataremaining; 448 .loc 1 3179 3 is_stmt 1 view .LVU133 3180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint8_t* tmp; 449 .loc 1 3180 3 view .LVU134 3181:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3182:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp = hsd->pTxBuffPtr; 450 .loc 1 3182 3 view .LVU135 451 .loc 1 3182 7 is_stmt 0 view .LVU136 452 0004 046A ldr r4, [r0, #32] 453 .LVL50: 3183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining = hsd->TxXferSize; 454 .loc 1 3183 3 is_stmt 1 view .LVU137 455 .loc 1 3183 17 is_stmt 0 view .LVU138 456 0006 466A ldr r6, [r0, #36] 457 .LVL51: 3184:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if (dataremaining > 0U) 458 .loc 1 3185 3 is_stmt 1 view .LVU139 459 .loc 1 3185 6 is_stmt 0 view .LVU140 460 0008 DEB9 cbnz r6, .L35 461 .LVL52: 462 .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 **** } 463 .loc 1 3208 1 view .LVU141 464 000a 03B0 add sp, sp, #12 465 .LCFI8: 466 .cfi_remember_state 467 .cfi_def_cfa_offset 20 468 @ sp needed 469 000c F0BD pop {r4, r5, r6, r7, pc} ARM GAS /tmp/ccME1oKf.s page 67 470 .LVL53: 471 .L34: 472 .LCFI9: 473 .cfi_restore_state 3190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 474 .loc 1 3190 7 is_stmt 1 discriminator 3 view .LVU142 3190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 475 .loc 1 3190 25 is_stmt 0 discriminator 3 view .LVU143 476 000e 2378 ldrb r3, [r4] @ zero_extendqisi2 3190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 477 .loc 1 3190 12 discriminator 3 view .LVU144 478 0010 0193 str r3, [sp, #4] 3191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 479 .loc 1 3191 7 is_stmt 1 discriminator 3 view .LVU145 480 .LVL54: 3192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data |= ((uint32_t)(*tmp) << 8U); 481 .loc 1 3192 7 discriminator 3 view .LVU146 3193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 482 .loc 1 3193 7 discriminator 3 view .LVU147 3193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 483 .loc 1 3193 27 is_stmt 0 discriminator 3 view .LVU148 484 0012 6278 ldrb r2, [r4, #1] @ zero_extendqisi2 3193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 485 .loc 1 3193 12 discriminator 3 view .LVU149 486 0014 43EA0223 orr r3, r3, r2, lsl #8 487 0018 0193 str r3, [sp, #4] 3194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 488 .loc 1 3194 7 is_stmt 1 discriminator 3 view .LVU150 489 .LVL55: 3195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data |= ((uint32_t)(*tmp) << 16U); 490 .loc 1 3195 7 discriminator 3 view .LVU151 3196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 491 .loc 1 3196 7 discriminator 3 view .LVU152 3196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 492 .loc 1 3196 27 is_stmt 0 discriminator 3 view .LVU153 493 001a A278 ldrb r2, [r4, #2] @ zero_extendqisi2 3196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 494 .loc 1 3196 12 discriminator 3 view .LVU154 495 001c 43EA0243 orr r3, r3, r2, lsl #16 496 0020 0193 str r3, [sp, #4] 3197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 497 .loc 1 3197 7 is_stmt 1 discriminator 3 view .LVU155 498 .LVL56: 3198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data |= ((uint32_t)(*tmp) << 24U); 499 .loc 1 3198 7 discriminator 3 view .LVU156 3199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 500 .loc 1 3199 7 discriminator 3 view .LVU157 3199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 501 .loc 1 3199 27 is_stmt 0 discriminator 3 view .LVU158 502 0022 E278 ldrb r2, [r4, #3] @ zero_extendqisi2 3199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tmp++; 503 .loc 1 3199 12 discriminator 3 view .LVU159 504 0024 43EA0263 orr r3, r3, r2, lsl #24 505 0028 0193 str r3, [sp, #4] 3200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 506 .loc 1 3200 7 is_stmt 1 discriminator 3 view .LVU160 3200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; ARM GAS /tmp/ccME1oKf.s page 68 507 .loc 1 3200 10 is_stmt 0 discriminator 3 view .LVU161 508 002a 0434 adds r4, r4, #4 509 .LVL57: 3201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_WriteFIFO(hsd->Instance, &data); 510 .loc 1 3201 7 is_stmt 1 discriminator 3 view .LVU162 3201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_WriteFIFO(hsd->Instance, &data); 511 .loc 1 3201 20 is_stmt 0 discriminator 3 view .LVU163 512 002c 043E subs r6, r6, #4 513 .LVL58: 3202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 514 .loc 1 3202 7 is_stmt 1 discriminator 3 view .LVU164 3202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 515 .loc 1 3202 13 is_stmt 0 discriminator 3 view .LVU165 516 002e 01A9 add r1, sp, #4 517 0030 3868 ldr r0, [r7] 518 0032 FFF7FEFF bl SDMMC_WriteFIFO 519 .LVL59: 3188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 520 .loc 1 3188 33 is_stmt 1 discriminator 3 view .LVU166 3188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 521 .loc 1 3188 38 is_stmt 0 discriminator 3 view .LVU167 522 0036 0135 adds r5, r5, #1 523 .LVL60: 524 .L32: 3188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 525 .loc 1 3188 21 is_stmt 1 discriminator 1 view .LVU168 3188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 526 .loc 1 3188 5 is_stmt 0 discriminator 1 view .LVU169 527 0038 072D cmp r5, #7 528 003a E8D9 bls .L34 3205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->TxXferSize = dataremaining; 529 .loc 1 3205 5 is_stmt 1 view .LVU170 3205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->TxXferSize = dataremaining; 530 .loc 1 3205 21 is_stmt 0 view .LVU171 531 003c 3C62 str r4, [r7, #32] 3206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 532 .loc 1 3206 5 is_stmt 1 view .LVU172 3206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 533 .loc 1 3206 21 is_stmt 0 view .LVU173 534 003e 7E62 str r6, [r7, #36] 535 .loc 1 3208 1 view .LVU174 536 0040 E3E7 b .L31 537 .LVL61: 538 .L35: 539 .loc 1 3208 1 view .LVU175 540 0042 0746 mov r7, r0 3188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 541 .loc 1 3188 15 view .LVU176 542 0044 0025 movs r5, #0 543 0046 F7E7 b .L32 544 .cfi_endproc 545 .LFE182: 547 .section .text.SD_SendSDStatus,"ax",%progbits 548 .align 1 549 .syntax unified 550 .thumb 551 .thumb_func ARM GAS /tmp/ccME1oKf.s page 69 552 .fpu fpv5-d16 554 SD_SendSDStatus: 555 .LVL62: 556 .LFB176: 2813:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config; 557 .loc 1 2813 1 is_stmt 1 view -0 558 .cfi_startproc 559 @ args = 0, pretend = 0, frame = 24 560 @ frame_needed = 0, uses_anonymous_args = 0 2813:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config; 561 .loc 1 2813 1 is_stmt 0 view .LVU178 562 0000 F0B5 push {r4, r5, r6, r7, lr} 563 .LCFI10: 564 .cfi_def_cfa_offset 20 565 .cfi_offset 4, -20 566 .cfi_offset 5, -16 567 .cfi_offset 6, -12 568 .cfi_offset 7, -8 569 .cfi_offset 14, -4 570 0002 87B0 sub sp, sp, #28 571 .LCFI11: 572 .cfi_def_cfa_offset 48 573 0004 0546 mov r5, r0 574 0006 0E46 mov r6, r1 2814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 575 .loc 1 2814 3 is_stmt 1 view .LVU179 2815:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t tickstart = HAL_GetTick(); 576 .loc 1 2815 3 view .LVU180 2816:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count; 577 .loc 1 2816 3 view .LVU181 2816:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count; 578 .loc 1 2816 24 is_stmt 0 view .LVU182 579 0008 FFF7FEFF bl HAL_GetTick 580 .LVL63: 2816:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count; 581 .loc 1 2816 24 view .LVU183 582 000c 0746 mov r7, r0 583 .LVL64: 2817:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t *pData = pSDstatus; 584 .loc 1 2817 3 is_stmt 1 view .LVU184 2818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 585 .loc 1 2818 3 view .LVU185 2821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 586 .loc 1 2821 3 view .LVU186 2821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 587 .loc 1 2821 7 is_stmt 0 view .LVU187 588 000e 0021 movs r1, #0 589 0010 2868 ldr r0, [r5] 590 .LVL65: 2821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 591 .loc 1 2821 7 view .LVU188 592 0012 FFF7FEFF bl SDMMC_GetResponse 593 .LVL66: 2821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 594 .loc 1 2821 5 view .LVU189 595 0016 10F0007F tst r0, #33554432 596 001a 66D1 bne .L48 ARM GAS /tmp/ccME1oKf.s page 70 2827:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 597 .loc 1 2827 3 is_stmt 1 view .LVU190 2827:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 598 .loc 1 2827 16 is_stmt 0 view .LVU191 599 001c 4021 movs r1, #64 600 001e 2868 ldr r0, [r5] 601 0020 FFF7FEFF bl SDMMC_CmdBlockLength 602 .LVL67: 2828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 603 .loc 1 2828 3 is_stmt 1 view .LVU192 2828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 604 .loc 1 2828 5 is_stmt 0 view .LVU193 605 0024 0346 mov r3, r0 606 0026 10B1 cbz r0, .L39 2830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate; 607 .loc 1 2830 5 is_stmt 1 view .LVU194 2830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate; 608 .loc 1 2830 20 is_stmt 0 view .LVU195 609 0028 AA6B ldr r2, [r5, #56] 610 002a AA63 str r2, [r5, #56] 2831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 611 .loc 1 2831 5 is_stmt 1 view .LVU196 2831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 612 .loc 1 2831 12 is_stmt 0 view .LVU197 613 002c 5FE0 b .L37 614 .L39: 2835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 615 .loc 1 2835 3 is_stmt 1 view .LVU198 2835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 616 .loc 1 2835 73 is_stmt 0 view .LVU199 617 002e 296D ldr r1, [r5, #80] 2835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 618 .loc 1 2835 16 view .LVU200 619 0030 0904 lsls r1, r1, #16 620 0032 2868 ldr r0, [r5] 621 .LVL68: 2835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 622 .loc 1 2835 16 view .LVU201 623 0034 FFF7FEFF bl SDMMC_CmdAppCommand 624 .LVL69: 2836:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 625 .loc 1 2836 3 is_stmt 1 view .LVU202 2836:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 626 .loc 1 2836 5 is_stmt 0 view .LVU203 627 0038 0346 mov r3, r0 628 003a 10B1 cbz r0, .L40 2838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate; 629 .loc 1 2838 5 is_stmt 1 view .LVU204 2838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate; 630 .loc 1 2838 20 is_stmt 0 view .LVU205 631 003c AA6B ldr r2, [r5, #56] 632 003e AA63 str r2, [r5, #56] 2839:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 633 .loc 1 2839 5 is_stmt 1 view .LVU206 2839:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 634 .loc 1 2839 12 is_stmt 0 view .LVU207 635 0040 55E0 b .L37 ARM GAS /tmp/ccME1oKf.s page 71 636 .L40: 2843:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = 64U; 637 .loc 1 2843 3 is_stmt 1 view .LVU208 2843:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = 64U; 638 .loc 1 2843 24 is_stmt 0 view .LVU209 639 0042 4FF0FF33 mov r3, #-1 640 0046 0093 str r3, [sp] 2844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_64B; 641 .loc 1 2844 3 is_stmt 1 view .LVU210 2844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_64B; 642 .loc 1 2844 24 is_stmt 0 view .LVU211 643 0048 4023 movs r3, #64 644 004a 0193 str r3, [sp, #4] 2845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; 645 .loc 1 2845 3 is_stmt 1 view .LVU212 2845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; 646 .loc 1 2845 24 is_stmt 0 view .LVU213 647 004c 6023 movs r3, #96 648 004e 0293 str r3, [sp, #8] 2846:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 649 .loc 1 2846 3 is_stmt 1 view .LVU214 2846:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 650 .loc 1 2846 24 is_stmt 0 view .LVU215 651 0050 0223 movs r3, #2 652 0052 0393 str r3, [sp, #12] 2847:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE; 653 .loc 1 2847 3 is_stmt 1 view .LVU216 2847:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE; 654 .loc 1 2847 24 is_stmt 0 view .LVU217 655 0054 0023 movs r3, #0 656 0056 0493 str r3, [sp, #16] 2848:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config); 657 .loc 1 2848 3 is_stmt 1 view .LVU218 2848:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config); 658 .loc 1 2848 24 is_stmt 0 view .LVU219 659 0058 0123 movs r3, #1 660 005a 0593 str r3, [sp, #20] 2849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 661 .loc 1 2849 3 is_stmt 1 view .LVU220 2849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 662 .loc 1 2849 9 is_stmt 0 view .LVU221 663 005c 6946 mov r1, sp 664 005e 2868 ldr r0, [r5] 665 .LVL70: 2849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 666 .loc 1 2849 9 view .LVU222 667 0060 FFF7FEFF bl SDMMC_ConfigData 668 .LVL71: 2852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 669 .loc 1 2852 3 is_stmt 1 view .LVU223 2852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 670 .loc 1 2852 16 is_stmt 0 view .LVU224 671 0064 2868 ldr r0, [r5] 672 0066 FFF7FEFF bl SDMMC_CmdStatusRegister 673 .LVL72: 2853:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 674 .loc 1 2853 3 is_stmt 1 view .LVU225 ARM GAS /tmp/ccME1oKf.s page 72 2853:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 675 .loc 1 2853 5 is_stmt 0 view .LVU226 676 006a 0346 mov r3, r0 677 006c 80B1 cbz r0, .L41 2855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate; 678 .loc 1 2855 5 is_stmt 1 view .LVU227 2855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return errorstate; 679 .loc 1 2855 20 is_stmt 0 view .LVU228 680 006e AA6B ldr r2, [r5, #56] 681 0070 AA63 str r2, [r5, #56] 2856:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 682 .loc 1 2856 5 is_stmt 1 view .LVU229 2856:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 683 .loc 1 2856 12 is_stmt 0 view .LVU230 684 0072 3CE0 b .L37 685 .LVL73: 686 .L44: 2866:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pData++; 687 .loc 1 2866 9 is_stmt 1 discriminator 3 view .LVU231 2866:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pData++; 688 .loc 1 2866 18 is_stmt 0 discriminator 3 view .LVU232 689 0074 2868 ldr r0, [r5] 690 0076 FFF7FEFF bl SDMMC_ReadFIFO 691 .LVL74: 2866:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pData++; 692 .loc 1 2866 16 discriminator 3 view .LVU233 693 007a 46F8040B str r0, [r6], #4 694 .LVL75: 2867:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 695 .loc 1 2867 9 is_stmt 1 discriminator 3 view .LVU234 2864:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 696 .loc 1 2864 35 discriminator 3 view .LVU235 2864:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 697 .loc 1 2864 40 is_stmt 0 discriminator 3 view .LVU236 698 007e 0134 adds r4, r4, #1 699 .LVL76: 700 .L42: 2864:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 701 .loc 1 2864 23 is_stmt 1 discriminator 1 view .LVU237 2864:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 702 .loc 1 2864 7 is_stmt 0 discriminator 1 view .LVU238 703 0080 072C cmp r4, #7 704 0082 F7D9 bls .L44 705 .LVL77: 706 .L43: 2871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 707 .loc 1 2871 5 is_stmt 1 view .LVU239 2871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 708 .loc 1 2871 9 is_stmt 0 view .LVU240 709 0084 FFF7FEFF bl HAL_GetTick 710 .LVL78: 2871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 711 .loc 1 2871 23 view .LVU241 712 0088 C01B subs r0, r0, r7 2871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 713 .loc 1 2871 7 view .LVU242 714 008a B0F1FF3F cmp r0, #-1 ARM GAS /tmp/ccME1oKf.s page 73 715 008e 31D0 beq .L49 716 .L41: 2860:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 717 .loc 1 2860 8 is_stmt 1 view .LVU243 2860:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 718 .loc 1 2860 10 is_stmt 0 view .LVU244 719 0090 2B68 ldr r3, [r5] 720 0092 5C6B ldr r4, [r3, #52] 721 0094 40F22A42 movw r2, #1066 2860:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 722 .loc 1 2860 8 view .LVU245 723 0098 1440 ands r4, r4, r2 724 009a 04D1 bne .L55 2862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 725 .loc 1 2862 5 is_stmt 1 view .LVU246 2862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 726 .loc 1 2862 8 is_stmt 0 view .LVU247 727 009c 5B6B ldr r3, [r3, #52] 2862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 728 .loc 1 2862 7 view .LVU248 729 009e 13F4004F tst r3, #32768 730 00a2 EFD0 beq .L43 731 00a4 ECE7 b .L42 732 .L55: 2877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 733 .loc 1 2877 3 is_stmt 1 view .LVU249 2877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 734 .loc 1 2877 6 is_stmt 0 view .LVU250 735 00a6 5A6B ldr r2, [r3, #52] 2877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 736 .loc 1 2877 5 view .LVU251 737 00a8 12F0080F tst r2, #8 738 00ac 25D1 bne .L50 2881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 739 .loc 1 2881 8 is_stmt 1 view .LVU252 2881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 740 .loc 1 2881 11 is_stmt 0 view .LVU253 741 00ae 5A6B ldr r2, [r3, #52] 2881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 742 .loc 1 2881 10 view .LVU254 743 00b0 12F0020F tst r2, #2 744 00b4 23D1 bne .L51 2885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 745 .loc 1 2885 8 is_stmt 1 view .LVU255 2885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 746 .loc 1 2885 11 is_stmt 0 view .LVU256 747 00b6 5B6B ldr r3, [r3, #52] 2885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 748 .loc 1 2885 10 view .LVU257 749 00b8 13F0200F tst r3, #32 750 00bc 21D1 bne .L56 751 .L46: 2894:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 752 .loc 1 2894 9 is_stmt 1 view .LVU258 2894:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 753 .loc 1 2894 11 is_stmt 0 view .LVU259 754 00be 2868 ldr r0, [r5] ARM GAS /tmp/ccME1oKf.s page 74 755 00c0 436B ldr r3, [r0, #52] 2894:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 756 .loc 1 2894 9 view .LVU260 757 00c2 13F40013 ands r3, r3, #2097152 758 00c6 0CD0 beq .L57 2896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pData++; 759 .loc 1 2896 5 is_stmt 1 view .LVU261 2896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pData++; 760 .loc 1 2896 14 is_stmt 0 view .LVU262 761 00c8 FFF7FEFF bl SDMMC_ReadFIFO 762 .LVL79: 2896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pData++; 763 .loc 1 2896 12 view .LVU263 764 00cc 46F8040B str r0, [r6], #4 765 .LVL80: 2897:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 766 .loc 1 2897 5 is_stmt 1 view .LVU264 2899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 767 .loc 1 2899 5 view .LVU265 2899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 768 .loc 1 2899 9 is_stmt 0 view .LVU266 769 00d0 FFF7FEFF bl HAL_GetTick 770 .LVL81: 2899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 771 .loc 1 2899 23 view .LVU267 772 00d4 C01B subs r0, r0, r7 2899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 773 .loc 1 2899 7 view .LVU268 774 00d6 B0F1FF3F cmp r0, #-1 775 00da F0D1 bne .L46 2901:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 776 .loc 1 2901 14 view .LVU269 777 00dc 4FF00043 mov r3, #-2147483648 778 00e0 05E0 b .L37 779 .L57: 2906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 780 .loc 1 2906 3 is_stmt 1 view .LVU270 781 00e2 40F23A52 movw r2, #1338 782 00e6 8263 str r2, [r0, #56] 2908:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 783 .loc 1 2908 3 view .LVU271 2908:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 784 .loc 1 2908 10 is_stmt 0 view .LVU272 785 00e8 01E0 b .L37 786 .LVL82: 787 .L48: 2823:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 788 .loc 1 2823 12 view .LVU273 789 00ea 4FF40063 mov r3, #2048 790 .LVL83: 791 .L37: 2909:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 792 .loc 1 2909 1 view .LVU274 793 00ee 1846 mov r0, r3 794 00f0 07B0 add sp, sp, #28 795 .LCFI12: 796 .cfi_remember_state ARM GAS /tmp/ccME1oKf.s page 75 797 .cfi_def_cfa_offset 20 798 @ sp needed 799 00f2 F0BD pop {r4, r5, r6, r7, pc} 800 .LVL84: 801 .L49: 802 .LCFI13: 803 .cfi_restore_state 2873:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 804 .loc 1 2873 14 view .LVU275 805 00f4 4FF00043 mov r3, #-2147483648 806 00f8 F9E7 b .L37 807 .L50: 2879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 808 .loc 1 2879 12 view .LVU276 809 00fa 0823 movs r3, #8 810 00fc F7E7 b .L37 811 .L51: 2883:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 812 .loc 1 2883 12 view .LVU277 813 00fe 0223 movs r3, #2 814 0100 F5E7 b .L37 815 .L56: 2887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 816 .loc 1 2887 12 view .LVU278 817 0102 2023 movs r3, #32 818 0104 F3E7 b .L37 819 .cfi_endproc 820 .LFE176: 822 .section .text.SD_FindSCR,"ax",%progbits 823 .align 1 824 .syntax unified 825 .thumb 826 .thumb_func 827 .fpu fpv5-d16 829 SD_FindSCR: 830 .LVL85: 831 .LFB180: 3042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config; 832 .loc 1 3042 1 is_stmt 1 view -0 833 .cfi_startproc 834 @ args = 0, pretend = 0, frame = 32 835 @ frame_needed = 0, uses_anonymous_args = 0 3042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config; 836 .loc 1 3042 1 is_stmt 0 view .LVU280 837 0000 F0B5 push {r4, r5, r6, r7, lr} 838 .LCFI14: 839 .cfi_def_cfa_offset 20 840 .cfi_offset 4, -20 841 .cfi_offset 5, -16 842 .cfi_offset 6, -12 843 .cfi_offset 7, -8 844 .cfi_offset 14, -4 845 0002 89B0 sub sp, sp, #36 846 .LCFI15: 847 .cfi_def_cfa_offset 56 848 0004 0446 mov r4, r0 849 0006 0F46 mov r7, r1 ARM GAS /tmp/ccME1oKf.s page 76 3043:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 850 .loc 1 3043 3 is_stmt 1 view .LVU281 3044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t tickstart = HAL_GetTick(); 851 .loc 1 3044 3 view .LVU282 3045:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t index = 0U; 852 .loc 1 3045 3 view .LVU283 3045:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t index = 0U; 853 .loc 1 3045 24 is_stmt 0 view .LVU284 854 0008 FFF7FEFF bl HAL_GetTick 855 .LVL86: 3045:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t index = 0U; 856 .loc 1 3045 24 view .LVU285 857 000c 0646 mov r6, r0 858 .LVL87: 3046:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t tempscr[2U] = {0U, 0U}; 859 .loc 1 3046 3 is_stmt 1 view .LVU286 3047:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t *scr = pSCR; 860 .loc 1 3047 3 view .LVU287 3047:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t *scr = pSCR; 861 .loc 1 3047 12 is_stmt 0 view .LVU288 862 000e 0023 movs r3, #0 863 0010 0093 str r3, [sp] 864 0012 0193 str r3, [sp, #4] 3048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 865 .loc 1 3048 3 is_stmt 1 view .LVU289 866 .LVL88: 3051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 867 .loc 1 3051 3 view .LVU290 3051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 868 .loc 1 3051 16 is_stmt 0 view .LVU291 869 0014 0821 movs r1, #8 870 0016 2068 ldr r0, [r4] 871 .LVL89: 3051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 872 .loc 1 3051 16 view .LVU292 873 0018 FFF7FEFF bl SDMMC_CmdBlockLength 874 .LVL90: 3052:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 875 .loc 1 3052 3 is_stmt 1 view .LVU293 3052:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 876 .loc 1 3052 5 is_stmt 0 view .LVU294 877 001c 0546 mov r5, r0 878 001e 10B1 cbz r0, .L70 879 .LVL91: 880 .L58: 3130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 881 .loc 1 3130 1 view .LVU295 882 0020 2846 mov r0, r5 883 0022 09B0 add sp, sp, #36 884 .LCFI16: 885 .cfi_remember_state 886 .cfi_def_cfa_offset 20 887 @ sp needed 888 0024 F0BD pop {r4, r5, r6, r7, pc} 889 .LVL92: 890 .L70: 891 .LCFI17: ARM GAS /tmp/ccME1oKf.s page 77 892 .cfi_restore_state 3058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 893 .loc 1 3058 3 is_stmt 1 view .LVU296 3058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 894 .loc 1 3058 74 is_stmt 0 view .LVU297 895 0026 216D ldr r1, [r4, #80] 3058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 896 .loc 1 3058 16 view .LVU298 897 0028 0904 lsls r1, r1, #16 898 002a 2068 ldr r0, [r4] 899 .LVL93: 3058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 900 .loc 1 3058 16 view .LVU299 901 002c FFF7FEFF bl SDMMC_CmdAppCommand 902 .LVL94: 3059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 903 .loc 1 3059 3 is_stmt 1 view .LVU300 3059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 904 .loc 1 3059 5 is_stmt 0 view .LVU301 905 0030 0546 mov r5, r0 906 0032 0028 cmp r0, #0 907 0034 F4D1 bne .L58 3064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = 8U; 908 .loc 1 3064 3 is_stmt 1 view .LVU302 3064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = 8U; 909 .loc 1 3064 24 is_stmt 0 view .LVU303 910 0036 4FF0FF33 mov r3, #-1 911 003a 0293 str r3, [sp, #8] 3065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_8B; 912 .loc 1 3065 3 is_stmt 1 view .LVU304 3065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_8B; 913 .loc 1 3065 24 is_stmt 0 view .LVU305 914 003c 0823 movs r3, #8 915 003e 0393 str r3, [sp, #12] 3066:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; 916 .loc 1 3066 3 is_stmt 1 view .LVU306 3066:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; 917 .loc 1 3066 24 is_stmt 0 view .LVU307 918 0040 3023 movs r3, #48 919 0042 0493 str r3, [sp, #16] 3067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 920 .loc 1 3067 3 is_stmt 1 view .LVU308 3067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 921 .loc 1 3067 24 is_stmt 0 view .LVU309 922 0044 0223 movs r3, #2 923 0046 0593 str r3, [sp, #20] 3068:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE; 924 .loc 1 3068 3 is_stmt 1 view .LVU310 3068:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE; 925 .loc 1 3068 24 is_stmt 0 view .LVU311 926 0048 0023 movs r3, #0 927 004a 0693 str r3, [sp, #24] 3069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config); 928 .loc 1 3069 3 is_stmt 1 view .LVU312 3069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config); 929 .loc 1 3069 24 is_stmt 0 view .LVU313 930 004c 0123 movs r3, #1 ARM GAS /tmp/ccME1oKf.s page 78 931 004e 0793 str r3, [sp, #28] 3070:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 932 .loc 1 3070 3 is_stmt 1 view .LVU314 3070:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 933 .loc 1 3070 9 is_stmt 0 view .LVU315 934 0050 02A9 add r1, sp, #8 935 0052 2068 ldr r0, [r4] 936 .LVL95: 3070:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 937 .loc 1 3070 9 view .LVU316 938 0054 FFF7FEFF bl SDMMC_ConfigData 939 .LVL96: 3073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 940 .loc 1 3073 3 is_stmt 1 view .LVU317 3073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 941 .loc 1 3073 16 is_stmt 0 view .LVU318 942 0058 2068 ldr r0, [r4] 943 005a FFF7FEFF bl SDMMC_CmdSendSCR 944 .LVL97: 3074:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 945 .loc 1 3074 3 is_stmt 1 view .LVU319 3074:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 946 .loc 1 3074 5 is_stmt 0 view .LVU320 947 005e 0546 mov r5, r0 948 0060 58B1 cbz r0, .L60 949 0062 DDE7 b .L58 950 .LVL98: 951 .L71: 3083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** index++; 952 .loc 1 3083 7 is_stmt 1 view .LVU321 3083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** index++; 953 .loc 1 3083 28 is_stmt 0 view .LVU322 954 0064 FFF7FEFF bl SDMMC_ReadFIFO 955 .LVL99: 3083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** index++; 956 .loc 1 3083 26 view .LVU323 957 0068 4DF82500 str r0, [sp, r5, lsl #2] 3084:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 958 .loc 1 3084 7 is_stmt 1 view .LVU324 3084:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 959 .loc 1 3084 12 is_stmt 0 view .LVU325 960 006c 0135 adds r5, r5, #1 961 .LVL100: 962 .L62: 3091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 963 .loc 1 3091 5 is_stmt 1 view .LVU326 3091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 964 .loc 1 3091 9 is_stmt 0 view .LVU327 965 006e FFF7FEFF bl HAL_GetTick 966 .LVL101: 3091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 967 .loc 1 3091 23 view .LVU328 968 0072 831B subs r3, r0, r6 3091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 969 .loc 1 3091 7 view .LVU329 970 0074 B3F1FF3F cmp r3, #-1 971 0078 3FD0 beq .L68 ARM GAS /tmp/ccME1oKf.s page 79 972 .LVL102: 973 .L60: 3079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 974 .loc 1 3079 8 is_stmt 1 view .LVU330 3079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 975 .loc 1 3079 10 is_stmt 0 view .LVU331 976 007a 2068 ldr r0, [r4] 977 007c 436B ldr r3, [r0, #52] 3079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 978 .loc 1 3079 8 view .LVU332 979 007e 13F02A0F tst r3, #42 980 0082 07D1 bne .L63 3081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 981 .loc 1 3081 5 is_stmt 1 view .LVU333 3081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 982 .loc 1 3081 8 is_stmt 0 view .LVU334 983 0084 436B ldr r3, [r0, #52] 3081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 984 .loc 1 3081 7 view .LVU335 985 0086 13F4001F tst r3, #2097152 986 008a EBD1 bne .L71 3086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 987 .loc 1 3086 10 is_stmt 1 view .LVU336 3086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 988 .loc 1 3086 14 is_stmt 0 view .LVU337 989 008c 436B ldr r3, [r0, #52] 3086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 990 .loc 1 3086 12 view .LVU338 991 008e 13F4005F tst r3, #8192 992 0092 ECD1 bne .L62 993 .L63: 3097:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 994 .loc 1 3097 3 is_stmt 1 view .LVU339 3097:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 995 .loc 1 3097 6 is_stmt 0 view .LVU340 996 0094 436B ldr r3, [r0, #52] 3097:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 997 .loc 1 3097 5 view .LVU341 998 0096 13F0080F tst r3, #8 999 009a 25D1 bne .L72 3103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1000 .loc 1 3103 8 is_stmt 1 view .LVU342 3103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1001 .loc 1 3103 11 is_stmt 0 view .LVU343 1002 009c 436B ldr r3, [r0, #52] 3103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1003 .loc 1 3103 10 view .LVU344 1004 009e 13F0020F tst r3, #2 1005 00a2 24D1 bne .L73 3109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1006 .loc 1 3109 8 is_stmt 1 view .LVU345 3109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1007 .loc 1 3109 11 is_stmt 0 view .LVU346 1008 00a4 456B ldr r5, [r0, #52] 1009 .LVL103: 3109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1010 .loc 1 3109 10 view .LVU347 ARM GAS /tmp/ccME1oKf.s page 80 1011 00a6 15F02005 ands r5, r5, #32 1012 00aa 23D1 bne .L74 3119:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1013 .loc 1 3119 5 is_stmt 1 view .LVU348 1014 00ac 40F23A53 movw r3, #1338 1015 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)); 1016 .loc 1 3121 5 view .LVU349 3121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((tempscr[1] & SDMMC_16TO23BITS) >> 8) | ((tempscr[1] & SDMMC_24TO31BITS) >> 24)); 1017 .loc 1 3121 22 is_stmt 0 view .LVU350 1018 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)); 1019 .loc 1 3121 86 view .LVU351 1020 00b4 1302 lsls r3, r2, #8 1021 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)); 1022 .loc 1 3121 52 view .LVU352 1023 00ba 43EA0263 orr r3, r3, r2, lsl #24 3122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** scr++; 1024 .loc 1 3122 46 view .LVU353 1025 00be 110A lsrs r1, r2, #8 1026 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)); 1027 .loc 1 3121 92 view .LVU354 1028 00c4 0B43 orrs r3, r3, r1 3122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** scr++; 1029 .loc 1 3122 52 view .LVU355 1030 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)); 1031 .loc 1 3121 10 view .LVU356 1032 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) |\ 1033 .loc 1 3123 5 is_stmt 1 view .LVU357 1034 .LVL104: 3124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((tempscr[0] & SDMMC_16TO23BITS) >> 8) | ((tempscr[0] & SDMMC_24TO31BITS) >> 24)); 1035 .loc 1 3124 5 view .LVU358 3124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((tempscr[0] & SDMMC_16TO23BITS) >> 8) | ((tempscr[0] & SDMMC_24TO31BITS) >> 24)); 1036 .loc 1 3124 22 is_stmt 0 view .LVU359 1037 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)); 1038 .loc 1 3124 86 view .LVU360 1039 00ce 1302 lsls r3, r2, #8 1040 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)); 1041 .loc 1 3124 52 view .LVU361 1042 00d4 43EA0263 orr r3, r3, r2, lsl #24 3125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1043 .loc 1 3125 46 view .LVU362 1044 00d8 110A lsrs r1, r2, #8 1045 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)); 1046 .loc 1 3124 92 view .LVU363 1047 00de 0B43 orrs r3, r3, r1 3125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1048 .loc 1 3125 52 view .LVU364 1049 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)); ARM GAS /tmp/ccME1oKf.s page 81 1050 .loc 1 3124 10 view .LVU365 1051 00e4 7B60 str r3, [r7, #4] 3129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1052 .loc 1 3129 3 is_stmt 1 view .LVU366 3129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1053 .loc 1 3129 10 is_stmt 0 view .LVU367 1054 00e6 9BE7 b .L58 1055 .LVL105: 1056 .L72: 3099:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1057 .loc 1 3099 5 is_stmt 1 view .LVU368 1058 00e8 0825 movs r5, #8 1059 .LVL106: 3099:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1060 .loc 1 3099 5 is_stmt 0 view .LVU369 1061 00ea 8563 str r5, [r0, #56] 3101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1062 .loc 1 3101 5 is_stmt 1 view .LVU370 3101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1063 .loc 1 3101 12 is_stmt 0 view .LVU371 1064 00ec 98E7 b .L58 1065 .LVL107: 1066 .L73: 3105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1067 .loc 1 3105 5 is_stmt 1 view .LVU372 1068 00ee 0225 movs r5, #2 1069 .LVL108: 3105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1070 .loc 1 3105 5 is_stmt 0 view .LVU373 1071 00f0 8563 str r5, [r0, #56] 3107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1072 .loc 1 3107 5 is_stmt 1 view .LVU374 3107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1073 .loc 1 3107 12 is_stmt 0 view .LVU375 1074 00f2 95E7 b .L58 1075 .L74: 3111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1076 .loc 1 3111 5 is_stmt 1 view .LVU376 1077 00f4 2025 movs r5, #32 1078 00f6 8563 str r5, [r0, #56] 3113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1079 .loc 1 3113 5 view .LVU377 3113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1080 .loc 1 3113 12 is_stmt 0 view .LVU378 1081 00f8 92E7 b .L58 1082 .LVL109: 1083 .L68: 3093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1084 .loc 1 3093 14 view .LVU379 1085 00fa 4FF00045 mov r5, #-2147483648 1086 .LVL110: 3093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1087 .loc 1 3093 14 view .LVU380 1088 00fe 8FE7 b .L58 1089 .cfi_endproc 1090 .LFE180: 1092 .section .text.SD_WideBus_Enable,"ax",%progbits ARM GAS /tmp/ccME1oKf.s page 82 1093 .align 1 1094 .syntax unified 1095 .thumb 1096 .thumb_func 1097 .fpu fpv5-d16 1099 SD_WideBus_Enable: 1100 .LVL111: 1101 .LFB178: 2946:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t scr[2U] = {0U, 0U}; 1102 .loc 1 2946 1 is_stmt 1 view -0 1103 .cfi_startproc 1104 @ args = 0, pretend = 0, frame = 8 1105 @ frame_needed = 0, uses_anonymous_args = 0 2946:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t scr[2U] = {0U, 0U}; 1106 .loc 1 2946 1 is_stmt 0 view .LVU382 1107 0000 10B5 push {r4, lr} 1108 .LCFI18: 1109 .cfi_def_cfa_offset 8 1110 .cfi_offset 4, -8 1111 .cfi_offset 14, -4 1112 0002 82B0 sub sp, sp, #8 1113 .LCFI19: 1114 .cfi_def_cfa_offset 16 1115 0004 0446 mov r4, r0 2947:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 1116 .loc 1 2947 3 is_stmt 1 view .LVU383 2947:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 1117 .loc 1 2947 12 is_stmt 0 view .LVU384 1118 0006 0021 movs r1, #0 1119 0008 0091 str r1, [sp] 1120 000a 0191 str r1, [sp, #4] 2948:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1121 .loc 1 2948 3 is_stmt 1 view .LVU385 2950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1122 .loc 1 2950 3 view .LVU386 2950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1123 .loc 1 2950 7 is_stmt 0 view .LVU387 1124 000c 0068 ldr r0, [r0] 1125 .LVL112: 2950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1126 .loc 1 2950 7 view .LVU388 1127 000e FFF7FEFF bl SDMMC_GetResponse 1128 .LVL113: 2950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1129 .loc 1 2950 5 view .LVU389 1130 0012 10F0007F tst r0, #33554432 1131 0016 13D1 bne .L77 2956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1132 .loc 1 2956 3 is_stmt 1 view .LVU390 2956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1133 .loc 1 2956 16 is_stmt 0 view .LVU391 1134 0018 6946 mov r1, sp 1135 001a 2046 mov r0, r4 1136 001c FFF7FEFF bl SD_FindSCR 1137 .LVL114: 2957:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1138 .loc 1 2957 3 is_stmt 1 view .LVU392 ARM GAS /tmp/ccME1oKf.s page 83 2957:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1139 .loc 1 2957 5 is_stmt 0 view .LVU393 1140 0020 80B9 cbnz r0, .L75 2963:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1141 .loc 1 2963 3 is_stmt 1 view .LVU394 2963:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1142 .loc 1 2963 5 is_stmt 0 view .LVU395 1143 0022 019B ldr r3, [sp, #4] 1144 0024 13F4802F tst r3, #262144 1145 0028 0ED0 beq .L78 2966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1146 .loc 1 2966 5 is_stmt 1 view .LVU396 2966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1147 .loc 1 2966 75 is_stmt 0 view .LVU397 1148 002a 216D ldr r1, [r4, #80] 2966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1149 .loc 1 2966 18 view .LVU398 1150 002c 0904 lsls r1, r1, #16 1151 002e 2068 ldr r0, [r4] 1152 .LVL115: 2966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1153 .loc 1 2966 18 view .LVU399 1154 0030 FFF7FEFF bl SDMMC_CmdAppCommand 1155 .LVL116: 2967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1156 .loc 1 2967 5 is_stmt 1 view .LVU400 2967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1157 .loc 1 2967 7 is_stmt 0 view .LVU401 1158 0034 30B9 cbnz r0, .L75 2973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1159 .loc 1 2973 5 is_stmt 1 view .LVU402 2973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1160 .loc 1 2973 18 is_stmt 0 view .LVU403 1161 0036 0221 movs r1, #2 1162 0038 2068 ldr r0, [r4] 1163 .LVL117: 2973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1164 .loc 1 2973 18 view .LVU404 1165 003a FFF7FEFF bl SDMMC_CmdBusWidth 1166 .LVL118: 2974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1167 .loc 1 2974 5 is_stmt 1 view .LVU405 1168 003e 01E0 b .L75 1169 .LVL119: 1170 .L77: 2952:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1171 .loc 1 2952 12 is_stmt 0 view .LVU406 1172 0040 4FF40060 mov r0, #2048 1173 .L75: 2985:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1174 .loc 1 2985 1 view .LVU407 1175 0044 02B0 add sp, sp, #8 1176 .LCFI20: 1177 .cfi_remember_state 1178 .cfi_def_cfa_offset 8 1179 @ sp needed 1180 0046 10BD pop {r4, pc} ARM GAS /tmp/ccME1oKf.s page 84 1181 .LVL120: 1182 .L78: 1183 .LCFI21: 1184 .cfi_restore_state 2983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1185 .loc 1 2983 12 view .LVU408 1186 0048 4FF08060 mov r0, #67108864 1187 .LVL121: 2983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1188 .loc 1 2983 12 view .LVU409 1189 004c FAE7 b .L75 1190 .cfi_endproc 1191 .LFE178: 1193 .section .text.SD_WideBus_Disable,"ax",%progbits 1194 .align 1 1195 .syntax unified 1196 .thumb 1197 .thumb_func 1198 .fpu fpv5-d16 1200 SD_WideBus_Disable: 1201 .LVL122: 1202 .LFB179: 2993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t scr[2U] = {0U, 0U}; 1203 .loc 1 2993 1 is_stmt 1 view -0 1204 .cfi_startproc 1205 @ args = 0, pretend = 0, frame = 8 1206 @ frame_needed = 0, uses_anonymous_args = 0 2993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t scr[2U] = {0U, 0U}; 1207 .loc 1 2993 1 is_stmt 0 view .LVU411 1208 0000 10B5 push {r4, lr} 1209 .LCFI22: 1210 .cfi_def_cfa_offset 8 1211 .cfi_offset 4, -8 1212 .cfi_offset 14, -4 1213 0002 82B0 sub sp, sp, #8 1214 .LCFI23: 1215 .cfi_def_cfa_offset 16 1216 0004 0446 mov r4, r0 2994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 1217 .loc 1 2994 3 is_stmt 1 view .LVU412 2994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 1218 .loc 1 2994 12 is_stmt 0 view .LVU413 1219 0006 0021 movs r1, #0 1220 0008 0091 str r1, [sp] 1221 000a 0191 str r1, [sp, #4] 2995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1222 .loc 1 2995 3 is_stmt 1 view .LVU414 2997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1223 .loc 1 2997 3 view .LVU415 2997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1224 .loc 1 2997 7 is_stmt 0 view .LVU416 1225 000c 0068 ldr r0, [r0] 1226 .LVL123: 2997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1227 .loc 1 2997 7 view .LVU417 1228 000e FFF7FEFF bl SDMMC_GetResponse 1229 .LVL124: ARM GAS /tmp/ccME1oKf.s page 85 2997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1230 .loc 1 2997 5 view .LVU418 1231 0012 10F0007F tst r0, #33554432 1232 0016 13D1 bne .L82 3003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1233 .loc 1 3003 3 is_stmt 1 view .LVU419 3003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1234 .loc 1 3003 16 is_stmt 0 view .LVU420 1235 0018 6946 mov r1, sp 1236 001a 2046 mov r0, r4 1237 001c FFF7FEFF bl SD_FindSCR 1238 .LVL125: 3004:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1239 .loc 1 3004 3 is_stmt 1 view .LVU421 3004:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1240 .loc 1 3004 5 is_stmt 0 view .LVU422 1241 0020 80B9 cbnz r0, .L80 3010:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1242 .loc 1 3010 3 is_stmt 1 view .LVU423 3010:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1243 .loc 1 3010 5 is_stmt 0 view .LVU424 1244 0022 019B ldr r3, [sp, #4] 1245 0024 13F4803F tst r3, #65536 1246 0028 0ED0 beq .L83 3013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1247 .loc 1 3013 5 is_stmt 1 view .LVU425 3013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1248 .loc 1 3013 75 is_stmt 0 view .LVU426 1249 002a 216D ldr r1, [r4, #80] 3013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1250 .loc 1 3013 18 view .LVU427 1251 002c 0904 lsls r1, r1, #16 1252 002e 2068 ldr r0, [r4] 1253 .LVL126: 3013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1254 .loc 1 3013 18 view .LVU428 1255 0030 FFF7FEFF bl SDMMC_CmdAppCommand 1256 .LVL127: 3014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1257 .loc 1 3014 5 is_stmt 1 view .LVU429 3014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1258 .loc 1 3014 7 is_stmt 0 view .LVU430 1259 0034 30B9 cbnz r0, .L80 3020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1260 .loc 1 3020 5 is_stmt 1 view .LVU431 3020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1261 .loc 1 3020 18 is_stmt 0 view .LVU432 1262 0036 0021 movs r1, #0 1263 0038 2068 ldr r0, [r4] 1264 .LVL128: 3020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1265 .loc 1 3020 18 view .LVU433 1266 003a FFF7FEFF bl SDMMC_CmdBusWidth 1267 .LVL129: 3021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1268 .loc 1 3021 5 is_stmt 1 view .LVU434 1269 003e 01E0 b .L80 ARM GAS /tmp/ccME1oKf.s page 86 1270 .LVL130: 1271 .L82: 2999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1272 .loc 1 2999 12 is_stmt 0 view .LVU435 1273 0040 4FF40060 mov r0, #2048 1274 .L80: 3032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1275 .loc 1 3032 1 view .LVU436 1276 0044 02B0 add sp, sp, #8 1277 .LCFI24: 1278 .cfi_remember_state 1279 .cfi_def_cfa_offset 8 1280 @ sp needed 1281 0046 10BD pop {r4, pc} 1282 .LVL131: 1283 .L83: 1284 .LCFI25: 1285 .cfi_restore_state 3030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1286 .loc 1 3030 12 view .LVU437 1287 0048 4FF08060 mov r0, #67108864 1288 .LVL132: 3030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1289 .loc 1 3030 12 view .LVU438 1290 004c FAE7 b .L80 1291 .cfi_endproc 1292 .LFE179: 1294 .section .text.SD_SendStatus,"ax",%progbits 1295 .align 1 1296 .syntax unified 1297 .thumb 1298 .thumb_func 1299 .fpu fpv5-d16 1301 SD_SendStatus: 1302 .LVL133: 1303 .LFB177: 2919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 1304 .loc 1 2919 1 is_stmt 1 view -0 1305 .cfi_startproc 1306 @ args = 0, pretend = 0, frame = 0 1307 @ frame_needed = 0, uses_anonymous_args = 0 2919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 1308 .loc 1 2919 1 is_stmt 0 view .LVU440 1309 0000 70B5 push {r4, r5, r6, lr} 1310 .LCFI26: 1311 .cfi_def_cfa_offset 16 1312 .cfi_offset 4, -16 1313 .cfi_offset 5, -12 1314 .cfi_offset 6, -8 1315 .cfi_offset 14, -4 2920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1316 .loc 1 2920 3 is_stmt 1 view .LVU441 2922:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1317 .loc 1 2922 3 view .LVU442 2922:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1318 .loc 1 2922 5 is_stmt 0 view .LVU443 1319 0002 81B1 cbz r1, .L87 ARM GAS /tmp/ccME1oKf.s page 87 1320 0004 0446 mov r4, r0 1321 0006 0E46 mov r6, r1 2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1322 .loc 1 2928 3 is_stmt 1 view .LVU444 2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1323 .loc 1 2928 73 is_stmt 0 view .LVU445 1324 0008 016D ldr r1, [r0, #80] 1325 .LVL134: 2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1326 .loc 1 2928 16 view .LVU446 1327 000a 0904 lsls r1, r1, #16 1328 000c 0068 ldr r0, [r0] 1329 .LVL135: 2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1330 .loc 1 2928 16 view .LVU447 1331 000e FFF7FEFF bl SDMMC_CmdSendStatus 1332 .LVL136: 2929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1333 .loc 1 2929 3 is_stmt 1 view .LVU448 2929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1334 .loc 1 2929 5 is_stmt 0 view .LVU449 1335 0012 0546 mov r5, r0 1336 0014 08B1 cbz r0, .L89 1337 .LVL137: 1338 .L85: 2938:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1339 .loc 1 2938 1 view .LVU450 1340 0016 2846 mov r0, r5 1341 0018 70BD pop {r4, r5, r6, pc} 1342 .LVL138: 1343 .L89: 2935:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1344 .loc 1 2935 3 is_stmt 1 view .LVU451 2935:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1345 .loc 1 2935 18 is_stmt 0 view .LVU452 1346 001a 0021 movs r1, #0 1347 001c 2068 ldr r0, [r4] 1348 .LVL139: 2935:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1349 .loc 1 2935 18 view .LVU453 1350 001e FFF7FEFF bl SDMMC_GetResponse 1351 .LVL140: 2935:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1352 .loc 1 2935 16 view .LVU454 1353 0022 3060 str r0, [r6] 2937:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1354 .loc 1 2937 3 is_stmt 1 view .LVU455 2937:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1355 .loc 1 2937 10 is_stmt 0 view .LVU456 1356 0024 F7E7 b .L85 1357 .LVL141: 1358 .L87: 2924:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1359 .loc 1 2924 12 view .LVU457 1360 0026 4FF00065 mov r5, #134217728 1361 002a F4E7 b .L85 1362 .cfi_endproc ARM GAS /tmp/ccME1oKf.s page 88 1363 .LFE177: 1365 .section .text.HAL_SD_MspInit,"ax",%progbits 1366 .align 1 1367 .weak HAL_SD_MspInit 1368 .syntax unified 1369 .thumb 1370 .thumb_func 1371 .fpu fpv5-d16 1373 HAL_SD_MspInit: 1374 .LVL142: 1375 .LFB144: 515:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */ 1376 .loc 1 515 1 is_stmt 1 view -0 1377 .cfi_startproc 1378 @ args = 0, pretend = 0, frame = 0 1379 @ frame_needed = 0, uses_anonymous_args = 0 1380 @ link register save eliminated. 517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1381 .loc 1 517 3 view .LVU459 522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1382 .loc 1 522 1 is_stmt 0 view .LVU460 1383 0000 7047 bx lr 1384 .cfi_endproc 1385 .LFE144: 1387 .section .text.HAL_SD_MspDeInit,"ax",%progbits 1388 .align 1 1389 .weak HAL_SD_MspDeInit 1390 .syntax unified 1391 .thumb 1392 .thumb_func 1393 .fpu fpv5-d16 1395 HAL_SD_MspDeInit: 1396 .LVL143: 1397 .LFB145: 530:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */ 1398 .loc 1 530 1 is_stmt 1 view -0 1399 .cfi_startproc 1400 @ args = 0, pretend = 0, frame = 0 1401 @ frame_needed = 0, uses_anonymous_args = 0 1402 @ link register save eliminated. 532:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1403 .loc 1 532 3 view .LVU462 537:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1404 .loc 1 537 1 is_stmt 0 view .LVU463 1405 0000 7047 bx lr 1406 .cfi_endproc 1407 .LFE145: 1409 .section .text.HAL_SD_DeInit,"ax",%progbits 1410 .align 1 1411 .global HAL_SD_DeInit 1412 .syntax unified 1413 .thumb 1414 .thumb_func 1415 .fpu fpv5-d16 1417 HAL_SD_DeInit: 1418 .LVL144: 1419 .LFB143: ARM GAS /tmp/ccME1oKf.s page 89 474:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Check the SD handle allocation */ 1420 .loc 1 474 1 is_stmt 1 view -0 1421 .cfi_startproc 1422 @ args = 0, pretend = 0, frame = 0 1423 @ frame_needed = 0, uses_anonymous_args = 0 476:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1424 .loc 1 476 3 view .LVU465 476:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1425 .loc 1 476 5 is_stmt 0 view .LVU466 1426 0000 70B1 cbz r0, .L94 474:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Check the SD handle allocation */ 1427 .loc 1 474 1 view .LVU467 1428 0002 10B5 push {r4, lr} 1429 .LCFI27: 1430 .cfi_def_cfa_offset 8 1431 .cfi_offset 4, -8 1432 .cfi_offset 14, -4 1433 0004 0446 mov r4, r0 482:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1434 .loc 1 482 3 is_stmt 1 view .LVU468 484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1435 .loc 1 484 3 view .LVU469 484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1436 .loc 1 484 14 is_stmt 0 view .LVU470 1437 0006 0323 movs r3, #3 1438 0008 80F83430 strb r3, [r0, #52] 487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1439 .loc 1 487 3 is_stmt 1 view .LVU471 1440 000c FFF7FEFF bl SD_PowerOFF 1441 .LVL145: 499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 1442 .loc 1 499 3 view .LVU472 1443 0010 2046 mov r0, r4 1444 0012 FFF7FEFF bl HAL_SD_MspDeInit 1445 .LVL146: 502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_RESET; 1446 .loc 1 502 3 view .LVU473 502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_RESET; 1447 .loc 1 502 18 is_stmt 0 view .LVU474 1448 0016 0020 movs r0, #0 1449 0018 A063 str r0, [r4, #56] 503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1450 .loc 1 503 3 is_stmt 1 view .LVU475 503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1451 .loc 1 503 14 is_stmt 0 view .LVU476 1452 001a 84F83400 strb r0, [r4, #52] 505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1453 .loc 1 505 3 is_stmt 1 view .LVU477 506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1454 .loc 1 506 1 is_stmt 0 view .LVU478 1455 001e 10BD pop {r4, pc} 1456 .LVL147: 1457 .L94: 1458 .LCFI28: 1459 .cfi_def_cfa_offset 0 1460 .cfi_restore 4 1461 .cfi_restore 14 ARM GAS /tmp/ccME1oKf.s page 90 478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1462 .loc 1 478 12 view .LVU479 1463 0020 0120 movs r0, #1 1464 .LVL148: 506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1465 .loc 1 506 1 view .LVU480 1466 0022 7047 bx lr 1467 .cfi_endproc 1468 .LFE143: 1470 .section .text.HAL_SD_ReadBlocks,"ax",%progbits 1471 .align 1 1472 .global HAL_SD_ReadBlocks 1473 .syntax unified 1474 .thumb 1475 .thumb_func 1476 .fpu fpv5-d16 1478 HAL_SD_ReadBlocks: 1479 .LVL149: 1480 .LFB146: 571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config; 1481 .loc 1 571 1 is_stmt 1 view -0 1482 .cfi_startproc 1483 @ args = 4, pretend = 0, frame = 24 1484 @ frame_needed = 0, uses_anonymous_args = 0 571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config; 1485 .loc 1 571 1 is_stmt 0 view .LVU482 1486 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 1487 .LCFI29: 1488 .cfi_def_cfa_offset 36 1489 .cfi_offset 4, -36 1490 .cfi_offset 5, -32 1491 .cfi_offset 6, -28 1492 .cfi_offset 7, -24 1493 .cfi_offset 8, -20 1494 .cfi_offset 9, -16 1495 .cfi_offset 10, -12 1496 .cfi_offset 11, -8 1497 .cfi_offset 14, -4 1498 0004 87B0 sub sp, sp, #28 1499 .LCFI30: 1500 .cfi_def_cfa_offset 64 1501 0006 0546 mov r5, r0 1502 0008 0C46 mov r4, r1 1503 000a 1646 mov r6, r2 1504 000c 9B46 mov fp, r3 1505 000e DDF840A0 ldr r10, [sp, #64] 572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 1506 .loc 1 572 3 is_stmt 1 view .LVU483 573:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t tickstart = HAL_GetTick(); 1507 .loc 1 573 3 view .LVU484 574:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count, data, dataremaining; 1508 .loc 1 574 3 view .LVU485 574:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count, data, dataremaining; 1509 .loc 1 574 24 is_stmt 0 view .LVU486 1510 0012 FFF7FEFF bl HAL_GetTick 1511 .LVL150: 575:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t add = BlockAdd; ARM GAS /tmp/ccME1oKf.s page 91 1512 .loc 1 575 3 is_stmt 1 view .LVU487 576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint8_t *tempbuff = pData; 1513 .loc 1 576 3 view .LVU488 577:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1514 .loc 1 577 3 view .LVU489 579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1515 .loc 1 579 3 view .LVU490 579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1516 .loc 1 579 5 is_stmt 0 view .LVU491 1517 0016 002C cmp r4, #0 1518 0018 36D0 beq .L122 1519 001a 8146 mov r9, r0 585:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1520 .loc 1 585 3 is_stmt 1 view .LVU492 585:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1521 .loc 1 585 9 is_stmt 0 view .LVU493 1522 001c 95F83470 ldrb r7, [r5, #52] @ zero_extendqisi2 1523 0020 FFB2 uxtb r7, r7 585:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1524 .loc 1 585 5 view .LVU494 1525 0022 012F cmp r7, #1 1526 0024 40F00481 bne .L102 587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1527 .loc 1 587 5 is_stmt 1 view .LVU495 587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1528 .loc 1 587 20 is_stmt 0 view .LVU496 1529 0028 0023 movs r3, #0 1530 002a AB63 str r3, [r5, #56] 589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1531 .loc 1 589 5 is_stmt 1 view .LVU497 589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1532 .loc 1 589 13 is_stmt 0 view .LVU498 1533 002c 06EB0B03 add r3, r6, fp 589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1534 .loc 1 589 45 view .LVU499 1535 0030 EA6D ldr r2, [r5, #92] 589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1536 .loc 1 589 7 view .LVU500 1537 0032 9342 cmp r3, r2 1538 0034 2ED8 bhi .L123 595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1539 .loc 1 595 5 is_stmt 1 view .LVU501 595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1540 .loc 1 595 16 is_stmt 0 view .LVU502 1541 0036 0323 movs r3, #3 1542 0038 85F83430 strb r3, [r5, #52] 598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1543 .loc 1 598 5 is_stmt 1 view .LVU503 598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1544 .loc 1 598 8 is_stmt 0 view .LVU504 1545 003c 2B68 ldr r3, [r5] 598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1546 .loc 1 598 26 view .LVU505 1547 003e 0022 movs r2, #0 1548 0040 DA62 str r2, [r3, #44] 600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1549 .loc 1 600 5 is_stmt 1 view .LVU506 ARM GAS /tmp/ccME1oKf.s page 92 600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1550 .loc 1 600 19 is_stmt 0 view .LVU507 1551 0042 6B6C ldr r3, [r5, #68] 600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1552 .loc 1 600 7 view .LVU508 1553 0044 012B cmp r3, #1 1554 0046 00D0 beq .L104 602:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1555 .loc 1 602 7 is_stmt 1 view .LVU509 602:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1556 .loc 1 602 11 is_stmt 0 view .LVU510 1557 0048 7602 lsls r6, r6, #9 1558 .LVL151: 1559 .L104: 606:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = NumberOfBlocks * BLOCKSIZE; 1560 .loc 1 606 5 is_stmt 1 view .LVU511 606:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = NumberOfBlocks * BLOCKSIZE; 1561 .loc 1 606 26 is_stmt 0 view .LVU512 1562 004a 4FF0FF33 mov r3, #-1 1563 004e 0093 str r3, [sp] 607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 1564 .loc 1 607 5 is_stmt 1 view .LVU513 607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 1565 .loc 1 607 43 is_stmt 0 view .LVU514 1566 0050 4FEA4B23 lsl r3, fp, #9 607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 1567 .loc 1 607 26 view .LVU515 1568 0054 0193 str r3, [sp, #4] 608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; 1569 .loc 1 608 5 is_stmt 1 view .LVU516 608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; 1570 .loc 1 608 26 is_stmt 0 view .LVU517 1571 0056 9023 movs r3, #144 1572 0058 0293 str r3, [sp, #8] 609:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 1573 .loc 1 609 5 is_stmt 1 view .LVU518 609:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 1574 .loc 1 609 26 is_stmt 0 view .LVU519 1575 005a 0223 movs r3, #2 1576 005c 0393 str r3, [sp, #12] 610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE; 1577 .loc 1 610 5 is_stmt 1 view .LVU520 610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE; 1578 .loc 1 610 26 is_stmt 0 view .LVU521 1579 005e 0023 movs r3, #0 1580 0060 0493 str r3, [sp, #16] 611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config); 1581 .loc 1 611 5 is_stmt 1 view .LVU522 611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config); 1582 .loc 1 611 26 is_stmt 0 view .LVU523 1583 0062 0123 movs r3, #1 1584 0064 0593 str r3, [sp, #20] 612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1585 .loc 1 612 5 is_stmt 1 view .LVU524 612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1586 .loc 1 612 11 is_stmt 0 view .LVU525 1587 0066 6946 mov r1, sp ARM GAS /tmp/ccME1oKf.s page 93 1588 0068 2868 ldr r0, [r5] 1589 .LVL152: 612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1590 .loc 1 612 11 view .LVU526 1591 006a FFF7FEFF bl SDMMC_ConfigData 1592 .LVL153: 615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1593 .loc 1 615 5 is_stmt 1 view .LVU527 615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1594 .loc 1 615 7 is_stmt 0 view .LVU528 1595 006e BBF1010F cmp fp, #1 1596 0072 14D9 bls .L105 617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1597 .loc 1 617 7 is_stmt 1 view .LVU529 617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1598 .loc 1 617 20 is_stmt 0 view .LVU530 1599 0074 0223 movs r3, #2 1600 0076 2B63 str r3, [r5, #48] 620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1601 .loc 1 620 7 is_stmt 1 view .LVU531 620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1602 .loc 1 620 20 is_stmt 0 view .LVU532 1603 0078 3146 mov r1, r6 1604 007a 2868 ldr r0, [r5] 1605 007c FFF7FEFF bl SDMMC_CmdReadMultiBlock 1606 .LVL154: 1607 .L106: 629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1608 .loc 1 629 5 is_stmt 1 view .LVU533 629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1609 .loc 1 629 7 is_stmt 0 view .LVU534 1610 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 | 1611 .loc 1 640 5 is_stmt 1 view .LVU535 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 | 1612 .loc 1 640 19 is_stmt 0 view .LVU536 1613 0082 DDF80480 ldr r8, [sp, #4] 1614 .LVL155: 641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1615 .loc 1 641 5 is_stmt 1 view .LVU537 641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1616 .loc 1 641 10 is_stmt 0 view .LVU538 1617 0086 38E0 b .L108 1618 .LVL156: 1619 .L122: 581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 1620 .loc 1 581 5 is_stmt 1 view .LVU539 581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 1621 .loc 1 581 20 is_stmt 0 view .LVU540 1622 0088 AB6B ldr r3, [r5, #56] 1623 008a 43F00063 orr r3, r3, #134217728 1624 008e AB63 str r3, [r5, #56] 582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1625 .loc 1 582 5 is_stmt 1 view .LVU541 582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1626 .loc 1 582 12 is_stmt 0 view .LVU542 1627 0090 0127 movs r7, #1 ARM GAS /tmp/ccME1oKf.s page 94 1628 0092 D2E0 b .L101 1629 .L123: 591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 1630 .loc 1 591 7 is_stmt 1 view .LVU543 591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 1631 .loc 1 591 22 is_stmt 0 view .LVU544 1632 0094 AB6B ldr r3, [r5, #56] 1633 0096 43F00073 orr r3, r3, #33554432 1634 009a AB63 str r3, [r5, #56] 592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1635 .loc 1 592 7 is_stmt 1 view .LVU545 592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1636 .loc 1 592 14 is_stmt 0 view .LVU546 1637 009c CDE0 b .L101 1638 .LVL157: 1639 .L105: 624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1640 .loc 1 624 7 is_stmt 1 view .LVU547 624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1641 .loc 1 624 20 is_stmt 0 view .LVU548 1642 009e 0123 movs r3, #1 1643 00a0 2B63 str r3, [r5, #48] 627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1644 .loc 1 627 7 is_stmt 1 view .LVU549 627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1645 .loc 1 627 20 is_stmt 0 view .LVU550 1646 00a2 3146 mov r1, r6 1647 00a4 2868 ldr r0, [r5] 1648 00a6 FFF7FEFF bl SDMMC_CmdReadSingleBlock 1649 .LVL158: 627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1650 .loc 1 627 20 view .LVU551 1651 00aa E9E7 b .L106 1652 .L124: 632:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 1653 .loc 1 632 7 is_stmt 1 view .LVU552 1654 00ac 2B68 ldr r3, [r5] 1655 00ae 654A ldr r2, .L130 1656 00b0 9A63 str r2, [r3, #56] 633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1657 .loc 1 633 7 view .LVU553 633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1658 .loc 1 633 22 is_stmt 0 view .LVU554 1659 00b2 AB6B ldr r3, [r5, #56] 1660 00b4 1843 orrs r0, r0, r3 1661 .LVL159: 633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1662 .loc 1 633 22 view .LVU555 1663 00b6 A863 str r0, [r5, #56] 634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1664 .loc 1 634 7 is_stmt 1 view .LVU556 634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1665 .loc 1 634 18 is_stmt 0 view .LVU557 1666 00b8 0123 movs r3, #1 1667 00ba 85F83430 strb r3, [r5, #52] 635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 1668 .loc 1 635 7 is_stmt 1 view .LVU558 ARM GAS /tmp/ccME1oKf.s page 95 635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 1669 .loc 1 635 20 is_stmt 0 view .LVU559 1670 00be 0023 movs r3, #0 1671 00c0 2B63 str r3, [r5, #48] 636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1672 .loc 1 636 7 is_stmt 1 view .LVU560 636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1673 .loc 1 636 14 is_stmt 0 view .LVU561 1674 00c2 BAE0 b .L101 1675 .LVL160: 1676 .L111: 648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)(data & 0xFFU); 1677 .loc 1 648 11 is_stmt 1 discriminator 3 view .LVU562 648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)(data & 0xFFU); 1678 .loc 1 648 18 is_stmt 0 discriminator 3 view .LVU563 1679 00c4 2868 ldr r0, [r5] 1680 00c6 FFF7FEFF bl SDMMC_ReadFIFO 1681 .LVL161: 649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1682 .loc 1 649 11 is_stmt 1 discriminator 3 view .LVU564 649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1683 .loc 1 649 21 is_stmt 0 discriminator 3 view .LVU565 1684 00ca 2070 strb r0, [r4] 650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 1685 .loc 1 650 11 is_stmt 1 discriminator 3 view .LVU566 1686 .LVL162: 651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 8U) & 0xFFU); 1687 .loc 1 651 11 discriminator 3 view .LVU567 652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1688 .loc 1 652 11 discriminator 3 view .LVU568 652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1689 .loc 1 652 23 is_stmt 0 discriminator 3 view .LVU569 1690 00cc C0F30723 ubfx r3, r0, #8, #8 652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1691 .loc 1 652 21 discriminator 3 view .LVU570 1692 00d0 6370 strb r3, [r4, #1] 653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 1693 .loc 1 653 11 is_stmt 1 discriminator 3 view .LVU571 1694 .LVL163: 654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 16U) & 0xFFU); 1695 .loc 1 654 11 discriminator 3 view .LVU572 655:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1696 .loc 1 655 11 discriminator 3 view .LVU573 655:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1697 .loc 1 655 23 is_stmt 0 discriminator 3 view .LVU574 1698 00d2 C0F30743 ubfx r3, r0, #16, #8 655:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1699 .loc 1 655 21 discriminator 3 view .LVU575 1700 00d6 A370 strb r3, [r4, #2] 656:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 1701 .loc 1 656 11 is_stmt 1 discriminator 3 view .LVU576 1702 .LVL164: 657:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 24U) & 0xFFU); 1703 .loc 1 657 11 discriminator 3 view .LVU577 658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1704 .loc 1 658 11 discriminator 3 view .LVU578 658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; ARM GAS /tmp/ccME1oKf.s page 96 1705 .loc 1 658 23 is_stmt 0 discriminator 3 view .LVU579 1706 00d8 000E lsrs r0, r0, #24 1707 .LVL165: 658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1708 .loc 1 658 21 discriminator 3 view .LVU580 1709 00da E070 strb r0, [r4, #3] 659:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 1710 .loc 1 659 11 is_stmt 1 discriminator 3 view .LVU581 659:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 1711 .loc 1 659 19 is_stmt 0 discriminator 3 view .LVU582 1712 00dc 0434 adds r4, r4, #4 1713 .LVL166: 660:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1714 .loc 1 660 11 is_stmt 1 discriminator 3 view .LVU583 660:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1715 .loc 1 660 24 is_stmt 0 discriminator 3 view .LVU584 1716 00de A8F10408 sub r8, r8, #4 1717 .LVL167: 646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1718 .loc 1 646 37 is_stmt 1 discriminator 3 view .LVU585 646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1719 .loc 1 646 42 is_stmt 0 discriminator 3 view .LVU586 1720 00e2 0136 adds r6, r6, #1 1721 .LVL168: 1722 .L110: 646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1723 .loc 1 646 25 is_stmt 1 discriminator 1 view .LVU587 646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1724 .loc 1 646 9 is_stmt 0 discriminator 1 view .LVU588 1725 00e4 072E cmp r6, #7 1726 00e6 EDD9 bls .L111 1727 .LVL169: 1728 .L109: 664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1729 .loc 1 664 7 is_stmt 1 view .LVU589 664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1730 .loc 1 664 12 is_stmt 0 view .LVU590 1731 00e8 FFF7FEFF bl HAL_GetTick 1732 .LVL170: 664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1733 .loc 1 664 25 view .LVU591 1734 00ec A0EB0900 sub r0, r0, r9 664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1735 .loc 1 664 9 view .LVU592 1736 00f0 5045 cmp r0, r10 1737 00f2 0FD2 bcs .L112 664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1738 .loc 1 664 50 discriminator 1 view .LVU593 1739 00f4 BAF1000F cmp r10, #0 1740 00f8 0CD0 beq .L112 1741 .L108: 641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1742 .loc 1 641 10 is_stmt 1 view .LVU594 641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1743 .loc 1 641 12 is_stmt 0 view .LVU595 1744 00fa 2868 ldr r0, [r5] 1745 00fc 466B ldr r6, [r0, #52] ARM GAS /tmp/ccME1oKf.s page 97 641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1746 .loc 1 641 10 view .LVU596 1747 00fe 16F49576 ands r6, r6, #298 1748 0102 15D1 bne .L125 643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1749 .loc 1 643 7 is_stmt 1 view .LVU597 643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1750 .loc 1 643 10 is_stmt 0 view .LVU598 1751 0104 436B ldr r3, [r0, #52] 643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1752 .loc 1 643 9 view .LVU599 1753 0106 13F4004F tst r3, #32768 1754 010a EDD0 beq .L109 643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1755 .loc 1 643 54 discriminator 1 view .LVU600 1756 010c B8F1000F cmp r8, #0 1757 0110 EAD0 beq .L109 1758 0112 E7E7 b .L110 1759 .L112: 667:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_TIMEOUT; 1760 .loc 1 667 9 is_stmt 1 view .LVU601 1761 0114 2B68 ldr r3, [r5] 1762 0116 4B4A ldr r2, .L130 1763 0118 9A63 str r2, [r3, #56] 668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State= HAL_SD_STATE_READY; 1764 .loc 1 668 9 view .LVU602 668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State= HAL_SD_STATE_READY; 1765 .loc 1 668 24 is_stmt 0 view .LVU603 1766 011a AB6B ldr r3, [r5, #56] 1767 011c 43F00043 orr r3, r3, #-2147483648 1768 0120 AB63 str r3, [r5, #56] 669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1769 .loc 1 669 9 is_stmt 1 view .LVU604 669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1770 .loc 1 669 19 is_stmt 0 view .LVU605 1771 0122 0123 movs r3, #1 1772 0124 85F83430 strb r3, [r5, #52] 670:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_TIMEOUT; 1773 .loc 1 670 9 is_stmt 1 view .LVU606 670:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_TIMEOUT; 1774 .loc 1 670 22 is_stmt 0 view .LVU607 1775 0128 0023 movs r3, #0 1776 012a 2B63 str r3, [r5, #48] 671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1777 .loc 1 671 9 is_stmt 1 view .LVU608 671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1778 .loc 1 671 16 is_stmt 0 view .LVU609 1779 012c 0327 movs r7, #3 1780 012e 84E0 b .L101 1781 .L125: 676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1782 .loc 1 676 5 is_stmt 1 view .LVU610 676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1783 .loc 1 676 8 is_stmt 0 view .LVU611 1784 0130 436B ldr r3, [r0, #52] 676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1785 .loc 1 676 7 view .LVU612 ARM GAS /tmp/ccME1oKf.s page 98 1786 0132 13F4807F tst r3, #256 1787 0136 05D0 beq .L114 676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1788 .loc 1 676 51 discriminator 1 view .LVU613 1789 0138 BBF1010F cmp fp, #1 1790 013c 02D9 bls .L114 678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1791 .loc 1 678 7 is_stmt 1 view .LVU614 678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1792 .loc 1 678 21 is_stmt 0 view .LVU615 1793 013e 6B6C ldr r3, [r5, #68] 678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1794 .loc 1 678 9 view .LVU616 1795 0140 032B cmp r3, #3 1796 0142 38D1 bne .L126 1797 .L114: 695:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1798 .loc 1 695 5 is_stmt 1 view .LVU617 695:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1799 .loc 1 695 8 is_stmt 0 view .LVU618 1800 0144 2B68 ldr r3, [r5] 1801 0146 5A6B ldr r2, [r3, #52] 695:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1802 .loc 1 695 7 view .LVU619 1803 0148 12F0080F tst r2, #8 1804 014c 44D1 bne .L127 704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1805 .loc 1 704 10 is_stmt 1 view .LVU620 704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1806 .loc 1 704 13 is_stmt 0 view .LVU621 1807 014e 5A6B ldr r2, [r3, #52] 704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1808 .loc 1 704 12 view .LVU622 1809 0150 12F0020F tst r2, #2 1810 0154 4CD1 bne .L128 713:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1811 .loc 1 713 10 is_stmt 1 view .LVU623 713:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1812 .loc 1 713 13 is_stmt 0 view .LVU624 1813 0156 5A6B ldr r2, [r3, #52] 713:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1814 .loc 1 713 12 view .LVU625 1815 0158 12F0200F tst r2, #32 1816 015c 54D1 bne .L129 1817 .L117: 728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1818 .loc 1 728 11 is_stmt 1 view .LVU626 728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1819 .loc 1 728 13 is_stmt 0 view .LVU627 1820 015e 2868 ldr r0, [r5] 1821 0160 436B ldr r3, [r0, #52] 728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1822 .loc 1 728 11 view .LVU628 1823 0162 13F4001F tst r3, #2097152 1824 0166 5BD0 beq .L119 728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1825 .loc 1 728 56 discriminator 1 view .LVU629 ARM GAS /tmp/ccME1oKf.s page 99 1826 0168 B8F1000F cmp r8, #0 1827 016c 58D0 beq .L119 730:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)(data & 0xFFU); 1828 .loc 1 730 7 is_stmt 1 view .LVU630 730:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)(data & 0xFFU); 1829 .loc 1 730 14 is_stmt 0 view .LVU631 1830 016e FFF7FEFF bl SDMMC_ReadFIFO 1831 .LVL171: 731:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1832 .loc 1 731 7 is_stmt 1 view .LVU632 731:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1833 .loc 1 731 17 is_stmt 0 view .LVU633 1834 0172 2070 strb r0, [r4] 732:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 1835 .loc 1 732 7 is_stmt 1 view .LVU634 1836 .LVL172: 733:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 8U) & 0xFFU); 1837 .loc 1 733 7 view .LVU635 734:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1838 .loc 1 734 7 view .LVU636 734:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1839 .loc 1 734 19 is_stmt 0 view .LVU637 1840 0174 C0F30723 ubfx r3, r0, #8, #8 734:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1841 .loc 1 734 17 view .LVU638 1842 0178 6370 strb r3, [r4, #1] 735:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 1843 .loc 1 735 7 is_stmt 1 view .LVU639 1844 .LVL173: 736:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 16U) & 0xFFU); 1845 .loc 1 736 7 view .LVU640 737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1846 .loc 1 737 7 view .LVU641 737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1847 .loc 1 737 19 is_stmt 0 view .LVU642 1848 017a C0F30743 ubfx r3, r0, #16, #8 737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1849 .loc 1 737 17 view .LVU643 1850 017e A370 strb r3, [r4, #2] 738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 1851 .loc 1 738 7 is_stmt 1 view .LVU644 1852 .LVL174: 739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 24U) & 0xFFU); 1853 .loc 1 739 7 view .LVU645 740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1854 .loc 1 740 7 view .LVU646 740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1855 .loc 1 740 19 is_stmt 0 view .LVU647 1856 0180 000E lsrs r0, r0, #24 1857 .LVL175: 740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 1858 .loc 1 740 17 view .LVU648 1859 0182 E070 strb r0, [r4, #3] 741:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 1860 .loc 1 741 7 is_stmt 1 view .LVU649 741:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 1861 .loc 1 741 15 is_stmt 0 view .LVU650 ARM GAS /tmp/ccME1oKf.s page 100 1862 0184 0434 adds r4, r4, #4 1863 .LVL176: 742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1864 .loc 1 742 7 is_stmt 1 view .LVU651 742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1865 .loc 1 742 20 is_stmt 0 view .LVU652 1866 0186 A8F10408 sub r8, r8, #4 1867 .LVL177: 744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1868 .loc 1 744 7 is_stmt 1 view .LVU653 744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1869 .loc 1 744 12 is_stmt 0 view .LVU654 1870 018a FFF7FEFF bl HAL_GetTick 1871 .LVL178: 744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1872 .loc 1 744 25 view .LVU655 1873 018e A0EB0900 sub r0, r0, r9 744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1874 .loc 1 744 9 view .LVU656 1875 0192 5045 cmp r0, r10 1876 0194 02D2 bcs .L118 744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1877 .loc 1 744 50 discriminator 1 view .LVU657 1878 0196 BAF1000F cmp r10, #0 1879 019a E0D1 bne .L117 1880 .L118: 747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_TIMEOUT; 1881 .loc 1 747 9 is_stmt 1 view .LVU658 1882 019c 2B68 ldr r3, [r5] 1883 019e 294A ldr r2, .L130 1884 01a0 9A63 str r2, [r3, #56] 748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State= HAL_SD_STATE_READY; 1885 .loc 1 748 9 view .LVU659 748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State= HAL_SD_STATE_READY; 1886 .loc 1 748 24 is_stmt 0 view .LVU660 1887 01a2 AB6B ldr r3, [r5, #56] 1888 01a4 43F00043 orr r3, r3, #-2147483648 1889 01a8 AB63 str r3, [r5, #56] 749:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1890 .loc 1 749 9 is_stmt 1 view .LVU661 749:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1891 .loc 1 749 19 is_stmt 0 view .LVU662 1892 01aa 0123 movs r3, #1 1893 01ac 85F83430 strb r3, [r5, #52] 750:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 1894 .loc 1 750 9 is_stmt 1 view .LVU663 750:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 1895 .loc 1 750 22 is_stmt 0 view .LVU664 1896 01b0 0023 movs r3, #0 1897 01b2 2B63 str r3, [r5, #48] 751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1898 .loc 1 751 9 is_stmt 1 view .LVU665 751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1899 .loc 1 751 16 is_stmt 0 view .LVU666 1900 01b4 41E0 b .L101 1901 .L126: 681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) ARM GAS /tmp/ccME1oKf.s page 101 1902 .loc 1 681 9 is_stmt 1 view .LVU667 681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1903 .loc 1 681 22 is_stmt 0 view .LVU668 1904 01b6 FFF7FEFF bl SDMMC_CmdStopTransfer 1905 .LVL179: 682:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1906 .loc 1 682 9 is_stmt 1 view .LVU669 682:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 1907 .loc 1 682 11 is_stmt 0 view .LVU670 1908 01ba 0346 mov r3, r0 1909 01bc 0028 cmp r0, #0 1910 01be C1D0 beq .L114 685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 1911 .loc 1 685 11 is_stmt 1 view .LVU671 1912 01c0 2A68 ldr r2, [r5] 1913 01c2 2049 ldr r1, .L130 1914 01c4 9163 str r1, [r2, #56] 686:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1915 .loc 1 686 11 view .LVU672 686:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1916 .loc 1 686 26 is_stmt 0 view .LVU673 1917 01c6 AA6B ldr r2, [r5, #56] 1918 01c8 1343 orrs r3, r3, r2 1919 01ca AB63 str r3, [r5, #56] 687:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1920 .loc 1 687 11 is_stmt 1 view .LVU674 687:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1921 .loc 1 687 22 is_stmt 0 view .LVU675 1922 01cc 0123 movs r3, #1 1923 01ce 85F83430 strb r3, [r5, #52] 688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 1924 .loc 1 688 11 is_stmt 1 view .LVU676 688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 1925 .loc 1 688 24 is_stmt 0 view .LVU677 1926 01d2 0023 movs r3, #0 1927 01d4 2B63 str r3, [r5, #48] 689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1928 .loc 1 689 11 is_stmt 1 view .LVU678 689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1929 .loc 1 689 18 is_stmt 0 view .LVU679 1930 01d6 30E0 b .L101 1931 .LVL180: 1932 .L127: 698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_TIMEOUT; 1933 .loc 1 698 7 is_stmt 1 view .LVU680 1934 01d8 1A4A ldr r2, .L130 1935 01da 9A63 str r2, [r3, #56] 699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1936 .loc 1 699 7 view .LVU681 699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1937 .loc 1 699 22 is_stmt 0 view .LVU682 1938 01dc AB6B ldr r3, [r5, #56] 1939 01de 43F00803 orr r3, r3, #8 1940 01e2 AB63 str r3, [r5, #56] 700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1941 .loc 1 700 7 is_stmt 1 view .LVU683 700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; ARM GAS /tmp/ccME1oKf.s page 102 1942 .loc 1 700 18 is_stmt 0 view .LVU684 1943 01e4 0123 movs r3, #1 1944 01e6 85F83430 strb r3, [r5, #52] 701:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 1945 .loc 1 701 7 is_stmt 1 view .LVU685 701:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 1946 .loc 1 701 20 is_stmt 0 view .LVU686 1947 01ea 0023 movs r3, #0 1948 01ec 2B63 str r3, [r5, #48] 702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1949 .loc 1 702 7 is_stmt 1 view .LVU687 702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1950 .loc 1 702 14 is_stmt 0 view .LVU688 1951 01ee 24E0 b .L101 1952 .L128: 707:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_CRC_FAIL; 1953 .loc 1 707 7 is_stmt 1 view .LVU689 1954 01f0 144A ldr r2, .L130 1955 01f2 9A63 str r2, [r3, #56] 708:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1956 .loc 1 708 7 view .LVU690 708:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1957 .loc 1 708 22 is_stmt 0 view .LVU691 1958 01f4 AB6B ldr r3, [r5, #56] 1959 01f6 43F00203 orr r3, r3, #2 1960 01fa AB63 str r3, [r5, #56] 709:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1961 .loc 1 709 7 is_stmt 1 view .LVU692 709:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1962 .loc 1 709 18 is_stmt 0 view .LVU693 1963 01fc 0123 movs r3, #1 1964 01fe 85F83430 strb r3, [r5, #52] 710:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 1965 .loc 1 710 7 is_stmt 1 view .LVU694 710:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 1966 .loc 1 710 20 is_stmt 0 view .LVU695 1967 0202 0023 movs r3, #0 1968 0204 2B63 str r3, [r5, #48] 711:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1969 .loc 1 711 7 is_stmt 1 view .LVU696 711:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1970 .loc 1 711 14 is_stmt 0 view .LVU697 1971 0206 18E0 b .L101 1972 .L129: 716:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_RX_OVERRUN; 1973 .loc 1 716 7 is_stmt 1 view .LVU698 1974 0208 0E4A ldr r2, .L130 1975 020a 9A63 str r2, [r3, #56] 717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1976 .loc 1 717 7 view .LVU699 717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1977 .loc 1 717 22 is_stmt 0 view .LVU700 1978 020c AB6B ldr r3, [r5, #56] 1979 020e 43F02003 orr r3, r3, #32 1980 0212 AB63 str r3, [r5, #56] 718:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1981 .loc 1 718 7 is_stmt 1 view .LVU701 ARM GAS /tmp/ccME1oKf.s page 103 718:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1982 .loc 1 718 18 is_stmt 0 view .LVU702 1983 0214 0123 movs r3, #1 1984 0216 85F83430 strb r3, [r5, #52] 719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 1985 .loc 1 719 7 is_stmt 1 view .LVU703 719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 1986 .loc 1 719 20 is_stmt 0 view .LVU704 1987 021a 0023 movs r3, #0 1988 021c 2B63 str r3, [r5, #48] 720:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1989 .loc 1 720 7 is_stmt 1 view .LVU705 720:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 1990 .loc 1 720 14 is_stmt 0 view .LVU706 1991 021e 0CE0 b .L101 1992 .L119: 756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1993 .loc 1 756 5 is_stmt 1 view .LVU707 1994 0220 40F23A53 movw r3, #1338 1995 0224 8363 str r3, [r0, #56] 758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1996 .loc 1 758 5 view .LVU708 758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 1997 .loc 1 758 16 is_stmt 0 view .LVU709 1998 0226 0123 movs r3, #1 1999 0228 85F83430 strb r3, [r5, #52] 760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2000 .loc 1 760 5 is_stmt 1 view .LVU710 760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2001 .loc 1 760 12 is_stmt 0 view .LVU711 2002 022c 0027 movs r7, #0 2003 022e 04E0 b .L101 2004 .LVL181: 2005 .L102: 764:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2006 .loc 1 764 5 is_stmt 1 view .LVU712 764:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2007 .loc 1 764 20 is_stmt 0 view .LVU713 2008 0230 AB6B ldr r3, [r5, #56] 2009 0232 43F00053 orr r3, r3, #536870912 2010 0236 AB63 str r3, [r5, #56] 765:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2011 .loc 1 765 5 is_stmt 1 view .LVU714 765:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2012 .loc 1 765 12 is_stmt 0 view .LVU715 2013 0238 0127 movs r7, #1 2014 .LVL182: 2015 .L101: 767:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2016 .loc 1 767 1 view .LVU716 2017 023a 3846 mov r0, r7 2018 023c 07B0 add sp, sp, #28 2019 .LCFI31: 2020 .cfi_def_cfa_offset 36 2021 @ sp needed 2022 023e BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 2023 .LVL183: ARM GAS /tmp/ccME1oKf.s page 104 2024 .L131: 767:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2025 .loc 1 767 1 view .LVU717 2026 0242 00BF .align 2 2027 .L130: 2028 0244 FF054000 .word 4195839 2029 .cfi_endproc 2030 .LFE146: 2032 .section .text.HAL_SD_WriteBlocks,"ax",%progbits 2033 .align 1 2034 .global HAL_SD_WriteBlocks 2035 .syntax unified 2036 .thumb 2037 .thumb_func 2038 .fpu fpv5-d16 2040 HAL_SD_WriteBlocks: 2041 .LVL184: 2042 .LFB147: 782:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config; 2043 .loc 1 782 1 is_stmt 1 view -0 2044 .cfi_startproc 2045 @ args = 4, pretend = 0, frame = 40 2046 @ frame_needed = 0, uses_anonymous_args = 0 782:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config; 2047 .loc 1 782 1 is_stmt 0 view .LVU719 2048 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 2049 .LCFI32: 2050 .cfi_def_cfa_offset 36 2051 .cfi_offset 4, -36 2052 .cfi_offset 5, -32 2053 .cfi_offset 6, -28 2054 .cfi_offset 7, -24 2055 .cfi_offset 8, -20 2056 .cfi_offset 9, -16 2057 .cfi_offset 10, -12 2058 .cfi_offset 11, -8 2059 .cfi_offset 14, -4 2060 0004 8BB0 sub sp, sp, #44 2061 .LCFI33: 2062 .cfi_def_cfa_offset 80 2063 0006 0546 mov r5, r0 2064 0008 0C46 mov r4, r1 2065 000a 1646 mov r6, r2 2066 000c 9B46 mov fp, r3 2067 000e DDF850A0 ldr r10, [sp, #80] 783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 2068 .loc 1 783 3 is_stmt 1 view .LVU720 784:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t tickstart = HAL_GetTick(); 2069 .loc 1 784 3 view .LVU721 785:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count, data, dataremaining; 2070 .loc 1 785 3 view .LVU722 785:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t count, data, dataremaining; 2071 .loc 1 785 24 is_stmt 0 view .LVU723 2072 0012 FFF7FEFF bl HAL_GetTick 2073 .LVL185: 786:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t add = BlockAdd; 2074 .loc 1 786 3 is_stmt 1 view .LVU724 ARM GAS /tmp/ccME1oKf.s page 105 787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint8_t *tempbuff = pData; 2075 .loc 1 787 3 view .LVU725 788:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2076 .loc 1 788 3 view .LVU726 790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2077 .loc 1 790 3 view .LVU727 790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2078 .loc 1 790 5 is_stmt 0 view .LVU728 2079 0016 002C cmp r4, #0 2080 0018 37D0 beq .L152 2081 001a 8046 mov r8, r0 796:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2082 .loc 1 796 3 is_stmt 1 view .LVU729 796:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2083 .loc 1 796 9 is_stmt 0 view .LVU730 2084 001c 95F83470 ldrb r7, [r5, #52] @ zero_extendqisi2 2085 0020 FFB2 uxtb r7, r7 796:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2086 .loc 1 796 5 view .LVU731 2087 0022 012F cmp r7, #1 2088 0024 40F0E180 bne .L135 798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2089 .loc 1 798 5 is_stmt 1 view .LVU732 798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2090 .loc 1 798 20 is_stmt 0 view .LVU733 2091 0028 0023 movs r3, #0 2092 002a AB63 str r3, [r5, #56] 800:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2093 .loc 1 800 5 is_stmt 1 view .LVU734 800:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2094 .loc 1 800 13 is_stmt 0 view .LVU735 2095 002c 06EB0B03 add r3, r6, fp 800:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2096 .loc 1 800 45 view .LVU736 2097 0030 EA6D ldr r2, [r5, #92] 800:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2098 .loc 1 800 7 view .LVU737 2099 0032 9342 cmp r3, r2 2100 0034 2FD8 bhi .L153 806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2101 .loc 1 806 5 is_stmt 1 view .LVU738 806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2102 .loc 1 806 16 is_stmt 0 view .LVU739 2103 0036 0323 movs r3, #3 2104 0038 85F83430 strb r3, [r5, #52] 809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2105 .loc 1 809 5 is_stmt 1 view .LVU740 809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2106 .loc 1 809 8 is_stmt 0 view .LVU741 2107 003c 2B68 ldr r3, [r5] 809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2108 .loc 1 809 26 view .LVU742 2109 003e 0022 movs r2, #0 2110 0040 DA62 str r2, [r3, #44] 811:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2111 .loc 1 811 5 is_stmt 1 view .LVU743 811:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { ARM GAS /tmp/ccME1oKf.s page 106 2112 .loc 1 811 19 is_stmt 0 view .LVU744 2113 0042 6B6C ldr r3, [r5, #68] 811:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2114 .loc 1 811 7 view .LVU745 2115 0044 012B cmp r3, #1 2116 0046 00D0 beq .L137 813:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2117 .loc 1 813 7 is_stmt 1 view .LVU746 813:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2118 .loc 1 813 11 is_stmt 0 view .LVU747 2119 0048 7602 lsls r6, r6, #9 2120 .LVL186: 2121 .L137: 817:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = NumberOfBlocks * BLOCKSIZE; 2122 .loc 1 817 5 is_stmt 1 view .LVU748 817:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = NumberOfBlocks * BLOCKSIZE; 2123 .loc 1 817 26 is_stmt 0 view .LVU749 2124 004a 4FF0FF33 mov r3, #-1 2125 004e 0493 str r3, [sp, #16] 818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 2126 .loc 1 818 5 is_stmt 1 view .LVU750 818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 2127 .loc 1 818 43 is_stmt 0 view .LVU751 2128 0050 4FEA4B23 lsl r3, fp, #9 818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 2129 .loc 1 818 26 view .LVU752 2130 0054 0593 str r3, [sp, #20] 819:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD; 2131 .loc 1 819 5 is_stmt 1 view .LVU753 819:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD; 2132 .loc 1 819 26 is_stmt 0 view .LVU754 2133 0056 9023 movs r3, #144 2134 0058 0693 str r3, [sp, #24] 820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 2135 .loc 1 820 5 is_stmt 1 view .LVU755 820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 2136 .loc 1 820 26 is_stmt 0 view .LVU756 2137 005a 0023 movs r3, #0 2138 005c 0793 str r3, [sp, #28] 821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE; 2139 .loc 1 821 5 is_stmt 1 view .LVU757 821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE; 2140 .loc 1 821 26 is_stmt 0 view .LVU758 2141 005e 0893 str r3, [sp, #32] 822:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config); 2142 .loc 1 822 5 is_stmt 1 view .LVU759 822:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config); 2143 .loc 1 822 26 is_stmt 0 view .LVU760 2144 0060 0123 movs r3, #1 2145 0062 0993 str r3, [sp, #36] 823:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2146 .loc 1 823 5 is_stmt 1 view .LVU761 823:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2147 .loc 1 823 11 is_stmt 0 view .LVU762 2148 0064 04A9 add r1, sp, #16 2149 0066 2868 ldr r0, [r5] 2150 .LVL187: ARM GAS /tmp/ccME1oKf.s page 107 823:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2151 .loc 1 823 11 view .LVU763 2152 0068 FFF7FEFF bl SDMMC_ConfigData 2153 .LVL188: 826:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2154 .loc 1 826 5 is_stmt 1 view .LVU764 826:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2155 .loc 1 826 7 is_stmt 0 view .LVU765 2156 006c BBF1010F cmp fp, #1 2157 0070 16D9 bls .L138 828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2158 .loc 1 828 7 is_stmt 1 view .LVU766 828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2159 .loc 1 828 20 is_stmt 0 view .LVU767 2160 0072 2023 movs r3, #32 2161 0074 2B63 str r3, [r5, #48] 831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2162 .loc 1 831 7 is_stmt 1 view .LVU768 831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2163 .loc 1 831 20 is_stmt 0 view .LVU769 2164 0076 3146 mov r1, r6 2165 0078 2868 ldr r0, [r5] 2166 007a FFF7FEFF bl SDMMC_CmdWriteMultiBlock 2167 .LVL189: 2168 007e 0190 str r0, [sp, #4] 2169 .LVL190: 2170 .L139: 840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2171 .loc 1 840 5 is_stmt 1 view .LVU770 840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2172 .loc 1 840 7 is_stmt 0 view .LVU771 2173 0080 019B ldr r3, [sp, #4] 2174 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 | 2175 .loc 1 851 5 is_stmt 1 view .LVU772 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 | 2176 .loc 1 851 19 is_stmt 0 view .LVU773 2177 0084 DDF81490 ldr r9, [sp, #20] 2178 .LVL191: 852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2179 .loc 1 852 5 is_stmt 1 view .LVU774 852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2180 .loc 1 852 10 is_stmt 0 view .LVU775 2181 0088 40E0 b .L141 2182 .LVL192: 2183 .L152: 792:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2184 .loc 1 792 5 is_stmt 1 view .LVU776 792:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2185 .loc 1 792 20 is_stmt 0 view .LVU777 2186 008a AB6B ldr r3, [r5, #56] 2187 008c 43F00063 orr r3, r3, #134217728 2188 0090 AB63 str r3, [r5, #56] 793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2189 .loc 1 793 5 is_stmt 1 view .LVU778 793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2190 .loc 1 793 12 is_stmt 0 view .LVU779 ARM GAS /tmp/ccME1oKf.s page 108 2191 0092 0127 movs r7, #1 2192 0094 AEE0 b .L134 2193 .L153: 802:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2194 .loc 1 802 7 is_stmt 1 view .LVU780 802:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2195 .loc 1 802 22 is_stmt 0 view .LVU781 2196 0096 AB6B ldr r3, [r5, #56] 2197 0098 43F00073 orr r3, r3, #33554432 2198 009c AB63 str r3, [r5, #56] 803:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2199 .loc 1 803 7 is_stmt 1 view .LVU782 803:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2200 .loc 1 803 14 is_stmt 0 view .LVU783 2201 009e A9E0 b .L134 2202 .LVL193: 2203 .L138: 835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2204 .loc 1 835 7 is_stmt 1 view .LVU784 835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2205 .loc 1 835 20 is_stmt 0 view .LVU785 2206 00a0 1023 movs r3, #16 2207 00a2 2B63 str r3, [r5, #48] 838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2208 .loc 1 838 7 is_stmt 1 view .LVU786 838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2209 .loc 1 838 20 is_stmt 0 view .LVU787 2210 00a4 3146 mov r1, r6 2211 00a6 2868 ldr r0, [r5] 2212 00a8 FFF7FEFF bl SDMMC_CmdWriteSingleBlock 2213 .LVL194: 2214 00ac 0190 str r0, [sp, #4] 2215 .LVL195: 838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2216 .loc 1 838 20 view .LVU788 2217 00ae E7E7 b .L139 2218 .LVL196: 2219 .L154: 843:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 2220 .loc 1 843 7 is_stmt 1 view .LVU789 2221 00b0 2B68 ldr r3, [r5] 2222 .LVL197: 843:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 2223 .loc 1 843 7 is_stmt 0 view .LVU790 2224 00b2 524A ldr r2, .L159 2225 00b4 9A63 str r2, [r3, #56] 844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2226 .loc 1 844 7 is_stmt 1 view .LVU791 844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2227 .loc 1 844 22 is_stmt 0 view .LVU792 2228 00b6 A86B ldr r0, [r5, #56] 2229 00b8 019B ldr r3, [sp, #4] 2230 00ba 1843 orrs r0, r0, r3 2231 00bc A863 str r0, [r5, #56] 845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2232 .loc 1 845 7 is_stmt 1 view .LVU793 845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; ARM GAS /tmp/ccME1oKf.s page 109 2233 .loc 1 845 18 is_stmt 0 view .LVU794 2234 00be 0123 movs r3, #1 2235 00c0 85F83430 strb r3, [r5, #52] 846:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2236 .loc 1 846 7 is_stmt 1 view .LVU795 846:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2237 .loc 1 846 20 is_stmt 0 view .LVU796 2238 00c4 0023 movs r3, #0 2239 00c6 2B63 str r3, [r5, #48] 847:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2240 .loc 1 847 7 is_stmt 1 view .LVU797 847:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2241 .loc 1 847 14 is_stmt 0 view .LVU798 2242 00c8 94E0 b .L134 2243 .LVL198: 2244 .L144: 859:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 2245 .loc 1 859 11 is_stmt 1 discriminator 3 view .LVU799 859:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 2246 .loc 1 859 29 is_stmt 0 discriminator 3 view .LVU800 2247 00ca 2378 ldrb r3, [r4] @ zero_extendqisi2 859:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 2248 .loc 1 859 16 discriminator 3 view .LVU801 2249 00cc 0393 str r3, [sp, #12] 860:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 2250 .loc 1 860 11 is_stmt 1 discriminator 3 view .LVU802 2251 .LVL199: 861:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data |= ((uint32_t)(*tempbuff) << 8U); 2252 .loc 1 861 11 discriminator 3 view .LVU803 862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 2253 .loc 1 862 11 discriminator 3 view .LVU804 862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 2254 .loc 1 862 31 is_stmt 0 discriminator 3 view .LVU805 2255 00ce 6278 ldrb r2, [r4, #1] @ zero_extendqisi2 862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 2256 .loc 1 862 16 discriminator 3 view .LVU806 2257 00d0 43EA0223 orr r3, r3, r2, lsl #8 2258 00d4 0393 str r3, [sp, #12] 863:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 2259 .loc 1 863 11 is_stmt 1 discriminator 3 view .LVU807 2260 .LVL200: 864:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data |= ((uint32_t)(*tempbuff) << 16U); 2261 .loc 1 864 11 discriminator 3 view .LVU808 865:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 2262 .loc 1 865 11 discriminator 3 view .LVU809 865:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 2263 .loc 1 865 31 is_stmt 0 discriminator 3 view .LVU810 2264 00d6 A278 ldrb r2, [r4, #2] @ zero_extendqisi2 865:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 2265 .loc 1 865 16 discriminator 3 view .LVU811 2266 00d8 43EA0243 orr r3, r3, r2, lsl #16 2267 00dc 0393 str r3, [sp, #12] 866:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 2268 .loc 1 866 11 is_stmt 1 discriminator 3 view .LVU812 2269 .LVL201: 867:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** data |= ((uint32_t)(*tempbuff) << 24U); 2270 .loc 1 867 11 discriminator 3 view .LVU813 ARM GAS /tmp/ccME1oKf.s page 110 868:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 2271 .loc 1 868 11 discriminator 3 view .LVU814 868:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 2272 .loc 1 868 31 is_stmt 0 discriminator 3 view .LVU815 2273 00de E278 ldrb r2, [r4, #3] @ zero_extendqisi2 868:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** tempbuff++; 2274 .loc 1 868 16 discriminator 3 view .LVU816 2275 00e0 43EA0263 orr r3, r3, r2, lsl #24 2276 00e4 0393 str r3, [sp, #12] 869:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 2277 .loc 1 869 11 is_stmt 1 discriminator 3 view .LVU817 869:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** dataremaining--; 2278 .loc 1 869 19 is_stmt 0 discriminator 3 view .LVU818 2279 00e6 0434 adds r4, r4, #4 2280 .LVL202: 870:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_WriteFIFO(hsd->Instance, &data); 2281 .loc 1 870 11 is_stmt 1 discriminator 3 view .LVU819 870:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_WriteFIFO(hsd->Instance, &data); 2282 .loc 1 870 24 is_stmt 0 discriminator 3 view .LVU820 2283 00e8 A9F10409 sub r9, r9, #4 2284 .LVL203: 871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2285 .loc 1 871 11 is_stmt 1 discriminator 3 view .LVU821 871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2286 .loc 1 871 17 is_stmt 0 discriminator 3 view .LVU822 2287 00ec 03A9 add r1, sp, #12 2288 00ee 2868 ldr r0, [r5] 2289 00f0 FFF7FEFF bl SDMMC_WriteFIFO 2290 .LVL204: 857:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2291 .loc 1 857 37 is_stmt 1 discriminator 3 view .LVU823 857:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2292 .loc 1 857 42 is_stmt 0 discriminator 3 view .LVU824 2293 00f4 0136 adds r6, r6, #1 2294 .LVL205: 2295 .L143: 857:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2296 .loc 1 857 25 is_stmt 1 discriminator 1 view .LVU825 857:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2297 .loc 1 857 9 is_stmt 0 discriminator 1 view .LVU826 2298 00f6 072E cmp r6, #7 2299 00f8 E7D9 bls .L144 2300 .LVL206: 2301 .L142: 875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2302 .loc 1 875 7 is_stmt 1 view .LVU827 875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2303 .loc 1 875 12 is_stmt 0 view .LVU828 2304 00fa FFF7FEFF bl HAL_GetTick 2305 .LVL207: 875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2306 .loc 1 875 25 view .LVU829 2307 00fe A0EB0800 sub r0, r0, r8 875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2308 .loc 1 875 9 view .LVU830 2309 0102 5045 cmp r0, r10 2310 0104 0FD2 bcs .L145 ARM GAS /tmp/ccME1oKf.s page 111 875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2311 .loc 1 875 50 discriminator 1 view .LVU831 2312 0106 BAF1000F cmp r10, #0 2313 010a 0CD0 beq .L145 2314 .L141: 852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2315 .loc 1 852 10 is_stmt 1 view .LVU832 852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2316 .loc 1 852 12 is_stmt 0 view .LVU833 2317 010c 2868 ldr r0, [r5] 2318 010e 466B ldr r6, [r0, #52] 852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2319 .loc 1 852 10 view .LVU834 2320 0110 16F48D76 ands r6, r6, #282 2321 0114 15D1 bne .L155 854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2322 .loc 1 854 7 is_stmt 1 view .LVU835 854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2323 .loc 1 854 10 is_stmt 0 view .LVU836 2324 0116 436B ldr r3, [r0, #52] 854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2325 .loc 1 854 9 view .LVU837 2326 0118 13F4804F tst r3, #16384 2327 011c EDD0 beq .L142 854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2328 .loc 1 854 54 discriminator 1 view .LVU838 2329 011e B9F1000F cmp r9, #0 2330 0122 EAD0 beq .L142 2331 0124 E7E7 b .L143 2332 .L145: 878:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 2333 .loc 1 878 9 is_stmt 1 view .LVU839 2334 0126 2B68 ldr r3, [r5] 2335 0128 344A ldr r2, .L159 2336 012a 9A63 str r2, [r3, #56] 879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2337 .loc 1 879 9 view .LVU840 879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2338 .loc 1 879 24 is_stmt 0 view .LVU841 2339 012c A86B ldr r0, [r5, #56] 2340 012e 019B ldr r3, [sp, #4] 2341 0130 1843 orrs r0, r0, r3 2342 0132 A863 str r0, [r5, #56] 880:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2343 .loc 1 880 9 is_stmt 1 view .LVU842 880:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2344 .loc 1 880 20 is_stmt 0 view .LVU843 2345 0134 0123 movs r3, #1 2346 0136 85F83430 strb r3, [r5, #52] 881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_TIMEOUT; 2347 .loc 1 881 9 is_stmt 1 view .LVU844 881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_TIMEOUT; 2348 .loc 1 881 22 is_stmt 0 view .LVU845 2349 013a 0023 movs r3, #0 2350 013c 2B63 str r3, [r5, #48] 882:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2351 .loc 1 882 9 is_stmt 1 view .LVU846 ARM GAS /tmp/ccME1oKf.s page 112 882:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2352 .loc 1 882 16 is_stmt 0 view .LVU847 2353 013e 0327 movs r7, #3 2354 0140 58E0 b .L134 2355 .L155: 887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2356 .loc 1 887 5 is_stmt 1 view .LVU848 887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2357 .loc 1 887 8 is_stmt 0 view .LVU849 2358 0142 436B ldr r3, [r0, #52] 887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2359 .loc 1 887 7 view .LVU850 2360 0144 13F4807F tst r3, #256 2361 0148 05D0 beq .L147 887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2362 .loc 1 887 51 discriminator 1 view .LVU851 2363 014a BBF1010F cmp fp, #1 2364 014e 02D9 bls .L147 889:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2365 .loc 1 889 7 is_stmt 1 view .LVU852 889:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2366 .loc 1 889 21 is_stmt 0 view .LVU853 2367 0150 6B6C ldr r3, [r5, #68] 889:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2368 .loc 1 889 9 view .LVU854 2369 0152 032B cmp r3, #3 2370 0154 18D1 bne .L156 2371 .LVL208: 2372 .L147: 906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2373 .loc 1 906 5 is_stmt 1 view .LVU855 906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2374 .loc 1 906 8 is_stmt 0 view .LVU856 2375 0156 2B68 ldr r3, [r5] 2376 0158 5A6B ldr r2, [r3, #52] 906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2377 .loc 1 906 7 view .LVU857 2378 015a 12F0080F tst r2, #8 2379 015e 24D1 bne .L157 915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2380 .loc 1 915 10 is_stmt 1 view .LVU858 915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2381 .loc 1 915 13 is_stmt 0 view .LVU859 2382 0160 5A6B ldr r2, [r3, #52] 915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2383 .loc 1 915 12 view .LVU860 2384 0162 12F0020F tst r2, #2 2385 0166 2CD1 bne .L158 924:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2386 .loc 1 924 10 is_stmt 1 view .LVU861 924:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2387 .loc 1 924 13 is_stmt 0 view .LVU862 2388 0168 5A6B ldr r2, [r3, #52] 924:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2389 .loc 1 924 12 view .LVU863 2390 016a 12F0100F tst r2, #16 2391 016e 34D0 beq .L150 ARM GAS /tmp/ccME1oKf.s page 113 927:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_TX_UNDERRUN; 2392 .loc 1 927 7 is_stmt 1 view .LVU864 2393 0170 224A ldr r2, .L159 2394 0172 9A63 str r2, [r3, #56] 928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2395 .loc 1 928 7 view .LVU865 928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2396 .loc 1 928 22 is_stmt 0 view .LVU866 2397 0174 AB6B ldr r3, [r5, #56] 2398 0176 43F01003 orr r3, r3, #16 2399 017a AB63 str r3, [r5, #56] 929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2400 .loc 1 929 7 is_stmt 1 view .LVU867 929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2401 .loc 1 929 18 is_stmt 0 view .LVU868 2402 017c 0123 movs r3, #1 2403 017e 85F83430 strb r3, [r5, #52] 930:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2404 .loc 1 930 7 is_stmt 1 view .LVU869 930:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2405 .loc 1 930 20 is_stmt 0 view .LVU870 2406 0182 0023 movs r3, #0 2407 0184 2B63 str r3, [r5, #48] 931:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2408 .loc 1 931 7 is_stmt 1 view .LVU871 931:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2409 .loc 1 931 14 is_stmt 0 view .LVU872 2410 0186 35E0 b .L134 2411 .LVL209: 2412 .L156: 892:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2413 .loc 1 892 9 is_stmt 1 view .LVU873 892:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2414 .loc 1 892 22 is_stmt 0 view .LVU874 2415 0188 FFF7FEFF bl SDMMC_CmdStopTransfer 2416 .LVL210: 893:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2417 .loc 1 893 9 is_stmt 1 view .LVU875 893:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2418 .loc 1 893 11 is_stmt 0 view .LVU876 2419 018c 0346 mov r3, r0 2420 018e 0028 cmp r0, #0 2421 0190 E1D0 beq .L147 896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 2422 .loc 1 896 11 is_stmt 1 view .LVU877 2423 0192 2A68 ldr r2, [r5] 2424 0194 1949 ldr r1, .L159 2425 0196 9163 str r1, [r2, #56] 897:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2426 .loc 1 897 11 view .LVU878 897:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2427 .loc 1 897 26 is_stmt 0 view .LVU879 2428 0198 AA6B ldr r2, [r5, #56] 2429 019a 1343 orrs r3, r3, r2 2430 019c AB63 str r3, [r5, #56] 898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2431 .loc 1 898 11 is_stmt 1 view .LVU880 ARM GAS /tmp/ccME1oKf.s page 114 898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2432 .loc 1 898 22 is_stmt 0 view .LVU881 2433 019e 0123 movs r3, #1 2434 01a0 85F83430 strb r3, [r5, #52] 899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2435 .loc 1 899 11 is_stmt 1 view .LVU882 899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2436 .loc 1 899 24 is_stmt 0 view .LVU883 2437 01a4 0023 movs r3, #0 2438 01a6 2B63 str r3, [r5, #48] 900:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2439 .loc 1 900 11 is_stmt 1 view .LVU884 900:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2440 .loc 1 900 18 is_stmt 0 view .LVU885 2441 01a8 24E0 b .L134 2442 .LVL211: 2443 .L157: 909:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_TIMEOUT; 2444 .loc 1 909 7 is_stmt 1 view .LVU886 2445 01aa 144A ldr r2, .L159 2446 01ac 9A63 str r2, [r3, #56] 910:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2447 .loc 1 910 7 view .LVU887 910:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2448 .loc 1 910 22 is_stmt 0 view .LVU888 2449 01ae AB6B ldr r3, [r5, #56] 2450 01b0 43F00803 orr r3, r3, #8 2451 01b4 AB63 str r3, [r5, #56] 911:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2452 .loc 1 911 7 is_stmt 1 view .LVU889 911:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2453 .loc 1 911 18 is_stmt 0 view .LVU890 2454 01b6 0123 movs r3, #1 2455 01b8 85F83430 strb r3, [r5, #52] 912:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2456 .loc 1 912 7 is_stmt 1 view .LVU891 912:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2457 .loc 1 912 20 is_stmt 0 view .LVU892 2458 01bc 0023 movs r3, #0 2459 01be 2B63 str r3, [r5, #48] 913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2460 .loc 1 913 7 is_stmt 1 view .LVU893 913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2461 .loc 1 913 14 is_stmt 0 view .LVU894 2462 01c0 18E0 b .L134 2463 .L158: 918:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_CRC_FAIL; 2464 .loc 1 918 7 is_stmt 1 view .LVU895 2465 01c2 0E4A ldr r2, .L159 2466 01c4 9A63 str r2, [r3, #56] 919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2467 .loc 1 919 7 view .LVU896 919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2468 .loc 1 919 22 is_stmt 0 view .LVU897 2469 01c6 AB6B ldr r3, [r5, #56] 2470 01c8 43F00203 orr r3, r3, #2 2471 01cc AB63 str r3, [r5, #56] ARM GAS /tmp/ccME1oKf.s page 115 920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2472 .loc 1 920 7 is_stmt 1 view .LVU898 920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2473 .loc 1 920 18 is_stmt 0 view .LVU899 2474 01ce 0123 movs r3, #1 2475 01d0 85F83430 strb r3, [r5, #52] 921:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2476 .loc 1 921 7 is_stmt 1 view .LVU900 921:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2477 .loc 1 921 20 is_stmt 0 view .LVU901 2478 01d4 0023 movs r3, #0 2479 01d6 2B63 str r3, [r5, #48] 922:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2480 .loc 1 922 7 is_stmt 1 view .LVU902 922:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2481 .loc 1 922 14 is_stmt 0 view .LVU903 2482 01d8 0CE0 b .L134 2483 .L150: 936:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2484 .loc 1 936 5 is_stmt 1 view .LVU904 939:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2485 .loc 1 939 5 view .LVU905 2486 01da 40F23A52 movw r2, #1338 2487 01de 9A63 str r2, [r3, #56] 941:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2488 .loc 1 941 5 view .LVU906 941:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2489 .loc 1 941 16 is_stmt 0 view .LVU907 2490 01e0 0123 movs r3, #1 2491 01e2 85F83430 strb r3, [r5, #52] 943:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2492 .loc 1 943 5 is_stmt 1 view .LVU908 943:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2493 .loc 1 943 12 is_stmt 0 view .LVU909 2494 01e6 0027 movs r7, #0 2495 01e8 04E0 b .L134 2496 .LVL212: 2497 .L135: 947:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2498 .loc 1 947 5 is_stmt 1 view .LVU910 947:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2499 .loc 1 947 20 is_stmt 0 view .LVU911 2500 01ea AB6B ldr r3, [r5, #56] 2501 01ec 43F00053 orr r3, r3, #536870912 2502 01f0 AB63 str r3, [r5, #56] 948:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2503 .loc 1 948 5 is_stmt 1 view .LVU912 948:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2504 .loc 1 948 12 is_stmt 0 view .LVU913 2505 01f2 0127 movs r7, #1 2506 .LVL213: 2507 .L134: 950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2508 .loc 1 950 1 view .LVU914 2509 01f4 3846 mov r0, r7 2510 01f6 0BB0 add sp, sp, #44 2511 .LCFI34: ARM GAS /tmp/ccME1oKf.s page 116 2512 .cfi_def_cfa_offset 36 2513 @ sp needed 2514 01f8 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 2515 .LVL214: 2516 .L160: 950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2517 .loc 1 950 1 view .LVU915 2518 .align 2 2519 .L159: 2520 01fc FF054000 .word 4195839 2521 .cfi_endproc 2522 .LFE147: 2524 .section .text.HAL_SD_ReadBlocks_IT,"ax",%progbits 2525 .align 1 2526 .global HAL_SD_ReadBlocks_IT 2527 .syntax unified 2528 .thumb 2529 .thumb_func 2530 .fpu fpv5-d16 2532 HAL_SD_ReadBlocks_IT: 2533 .LVL215: 2534 .LFB148: 966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config; 2535 .loc 1 966 1 is_stmt 1 view -0 2536 .cfi_startproc 2537 @ args = 0, pretend = 0, frame = 24 2538 @ frame_needed = 0, uses_anonymous_args = 0 966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config; 2539 .loc 1 966 1 is_stmt 0 view .LVU917 2540 0000 F0B5 push {r4, r5, r6, r7, lr} 2541 .LCFI35: 2542 .cfi_def_cfa_offset 20 2543 .cfi_offset 4, -20 2544 .cfi_offset 5, -16 2545 .cfi_offset 6, -12 2546 .cfi_offset 7, -8 2547 .cfi_offset 14, -4 2548 0002 87B0 sub sp, sp, #28 2549 .LCFI36: 2550 .cfi_def_cfa_offset 48 2551 0004 0446 mov r4, r0 967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 2552 .loc 1 967 3 is_stmt 1 view .LVU918 968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t add = BlockAdd; 2553 .loc 1 968 3 view .LVU919 969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2554 .loc 1 969 3 view .LVU920 2555 .LVL216: 971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2556 .loc 1 971 3 view .LVU921 971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2557 .loc 1 971 5 is_stmt 0 view .LVU922 2558 0006 0029 cmp r1, #0 2559 0008 45D0 beq .L171 2560 000a 1646 mov r6, r2 2561 000c 1F46 mov r7, r3 2562 000e 0A46 mov r2, r1 ARM GAS /tmp/ccME1oKf.s page 117 2563 .LVL217: 977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2564 .loc 1 977 3 is_stmt 1 view .LVU923 977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2565 .loc 1 977 9 is_stmt 0 view .LVU924 2566 0010 90F83450 ldrb r5, [r0, #52] @ zero_extendqisi2 2567 0014 EDB2 uxtb r5, r5 977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2568 .loc 1 977 5 view .LVU925 2569 0016 012D cmp r5, #1 2570 0018 4FD1 bne .L168 979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2571 .loc 1 979 5 is_stmt 1 view .LVU926 979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2572 .loc 1 979 20 is_stmt 0 view .LVU927 2573 001a 0023 movs r3, #0 2574 .LVL218: 979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2575 .loc 1 979 20 view .LVU928 2576 001c 8363 str r3, [r0, #56] 981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2577 .loc 1 981 5 is_stmt 1 view .LVU929 981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2578 .loc 1 981 13 is_stmt 0 view .LVU930 2579 001e F319 adds r3, r6, r7 981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2580 .loc 1 981 45 view .LVU931 2581 0020 C16D ldr r1, [r0, #92] 2582 .LVL219: 981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2583 .loc 1 981 7 view .LVU932 2584 0022 8B42 cmp r3, r1 2585 0024 3DD8 bhi .L172 987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2586 .loc 1 987 5 is_stmt 1 view .LVU933 987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2587 .loc 1 987 16 is_stmt 0 view .LVU934 2588 0026 0323 movs r3, #3 2589 0028 80F83430 strb r3, [r0, #52] 990:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2590 .loc 1 990 5 is_stmt 1 view .LVU935 990:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2591 .loc 1 990 8 is_stmt 0 view .LVU936 2592 002c 0368 ldr r3, [r0] 990:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2593 .loc 1 990 26 view .LVU937 2594 002e 0021 movs r1, #0 2595 0030 D962 str r1, [r3, #44] 992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->RxXferSize = BLOCKSIZE * NumberOfBlocks; 2596 .loc 1 992 5 is_stmt 1 view .LVU938 992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->RxXferSize = BLOCKSIZE * NumberOfBlocks; 2597 .loc 1 992 21 is_stmt 0 view .LVU939 2598 0032 8262 str r2, [r0, #40] 993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2599 .loc 1 993 5 is_stmt 1 view .LVU940 993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2600 .loc 1 993 33 is_stmt 0 view .LVU941 ARM GAS /tmp/ccME1oKf.s page 118 2601 0034 7A02 lsls r2, r7, #9 2602 .LVL220: 993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2603 .loc 1 993 21 view .LVU942 2604 0036 C262 str r2, [r0, #44] 995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2605 .loc 1 995 5 is_stmt 1 view .LVU943 2606 0038 0168 ldr r1, [r0] 2607 003a C86B ldr r0, [r1, #60] 2608 .LVL221: 995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2609 .loc 1 995 5 is_stmt 0 view .LVU944 2610 003c 48F22A13 movw r3, #33066 2611 0040 0343 orrs r3, r3, r0 2612 0042 CB63 str r3, [r1, #60] 2613 .LVL222: 997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2614 .loc 1 997 5 is_stmt 1 view .LVU945 997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2615 .loc 1 997 19 is_stmt 0 view .LVU946 2616 0044 636C ldr r3, [r4, #68] 997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2617 .loc 1 997 7 view .LVU947 2618 0046 012B cmp r3, #1 2619 0048 00D0 beq .L165 999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2620 .loc 1 999 7 is_stmt 1 view .LVU948 999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2621 .loc 1 999 11 is_stmt 0 view .LVU949 2622 004a 7602 lsls r6, r6, #9 2623 .LVL223: 2624 .L165: 1003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks; 2625 .loc 1 1003 5 is_stmt 1 view .LVU950 1003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks; 2626 .loc 1 1003 26 is_stmt 0 view .LVU951 2627 004c 4FF0FF33 mov r3, #-1 2628 0050 0093 str r3, [sp] 1004:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 2629 .loc 1 1004 5 is_stmt 1 view .LVU952 1004:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 2630 .loc 1 1004 26 is_stmt 0 view .LVU953 2631 0052 0192 str r2, [sp, #4] 1005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; 2632 .loc 1 1005 5 is_stmt 1 view .LVU954 1005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; 2633 .loc 1 1005 26 is_stmt 0 view .LVU955 2634 0054 9023 movs r3, #144 2635 0056 0293 str r3, [sp, #8] 1006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 2636 .loc 1 1006 5 is_stmt 1 view .LVU956 1006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 2637 .loc 1 1006 26 is_stmt 0 view .LVU957 2638 0058 0223 movs r3, #2 2639 005a 0393 str r3, [sp, #12] 1007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE; 2640 .loc 1 1007 5 is_stmt 1 view .LVU958 ARM GAS /tmp/ccME1oKf.s page 119 1007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE; 2641 .loc 1 1007 26 is_stmt 0 view .LVU959 2642 005c 0023 movs r3, #0 2643 005e 0493 str r3, [sp, #16] 1008:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config); 2644 .loc 1 1008 5 is_stmt 1 view .LVU960 1008:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config); 2645 .loc 1 1008 26 is_stmt 0 view .LVU961 2646 0060 0123 movs r3, #1 2647 0062 0593 str r3, [sp, #20] 1009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2648 .loc 1 1009 5 is_stmt 1 view .LVU962 1009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2649 .loc 1 1009 11 is_stmt 0 view .LVU963 2650 0064 6946 mov r1, sp 2651 0066 2068 ldr r0, [r4] 2652 0068 FFF7FEFF bl SDMMC_ConfigData 2653 .LVL224: 1012:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2654 .loc 1 1012 5 is_stmt 1 view .LVU964 1012:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2655 .loc 1 1012 7 is_stmt 0 view .LVU965 2656 006c 012F cmp r7, #1 2657 006e 1DD9 bls .L166 1014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2658 .loc 1 1014 7 is_stmt 1 view .LVU966 1014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2659 .loc 1 1014 20 is_stmt 0 view .LVU967 2660 0070 0A23 movs r3, #10 2661 0072 2363 str r3, [r4, #48] 1017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2662 .loc 1 1017 7 is_stmt 1 view .LVU968 1017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2663 .loc 1 1017 20 is_stmt 0 view .LVU969 2664 0074 3146 mov r1, r6 2665 0076 2068 ldr r0, [r4] 2666 0078 FFF7FEFF bl SDMMC_CmdReadMultiBlock 2667 .LVL225: 2668 .L167: 1026:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2669 .loc 1 1026 5 is_stmt 1 view .LVU970 1026:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2670 .loc 1 1026 7 is_stmt 0 view .LVU971 2671 007c 08B3 cbz r0, .L169 1029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 2672 .loc 1 1029 7 is_stmt 1 view .LVU972 2673 007e 2368 ldr r3, [r4] 2674 0080 114A ldr r2, .L173 2675 0082 9A63 str r2, [r3, #56] 1030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2676 .loc 1 1030 7 view .LVU973 1030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2677 .loc 1 1030 22 is_stmt 0 view .LVU974 2678 0084 A36B ldr r3, [r4, #56] 2679 0086 1843 orrs r0, r0, r3 2680 .LVL226: 1030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; ARM GAS /tmp/ccME1oKf.s page 120 2681 .loc 1 1030 22 view .LVU975 2682 0088 A063 str r0, [r4, #56] 1031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2683 .loc 1 1031 7 is_stmt 1 view .LVU976 1031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2684 .loc 1 1031 18 is_stmt 0 view .LVU977 2685 008a 0123 movs r3, #1 2686 008c 84F83430 strb r3, [r4, #52] 1032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2687 .loc 1 1032 7 is_stmt 1 view .LVU978 1032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2688 .loc 1 1032 20 is_stmt 0 view .LVU979 2689 0090 0023 movs r3, #0 2690 0092 2363 str r3, [r4, #48] 1033:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2691 .loc 1 1033 7 is_stmt 1 view .LVU980 1033:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2692 .loc 1 1033 14 is_stmt 0 view .LVU981 2693 0094 12E0 b .L163 2694 .LVL227: 2695 .L171: 973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2696 .loc 1 973 5 is_stmt 1 view .LVU982 973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2697 .loc 1 973 20 is_stmt 0 view .LVU983 2698 0096 836B ldr r3, [r0, #56] 2699 .LVL228: 973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2700 .loc 1 973 20 view .LVU984 2701 0098 43F00063 orr r3, r3, #134217728 2702 009c 8363 str r3, [r0, #56] 974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2703 .loc 1 974 5 is_stmt 1 view .LVU985 974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2704 .loc 1 974 12 is_stmt 0 view .LVU986 2705 009e 0125 movs r5, #1 2706 00a0 0CE0 b .L163 2707 .LVL229: 2708 .L172: 983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2709 .loc 1 983 7 is_stmt 1 view .LVU987 983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2710 .loc 1 983 22 is_stmt 0 view .LVU988 2711 00a2 836B ldr r3, [r0, #56] 2712 00a4 43F00073 orr r3, r3, #33554432 2713 00a8 8363 str r3, [r0, #56] 984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2714 .loc 1 984 7 is_stmt 1 view .LVU989 984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2715 .loc 1 984 14 is_stmt 0 view .LVU990 2716 00aa 07E0 b .L163 2717 .LVL230: 2718 .L166: 1021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2719 .loc 1 1021 7 is_stmt 1 view .LVU991 1021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2720 .loc 1 1021 20 is_stmt 0 view .LVU992 ARM GAS /tmp/ccME1oKf.s page 121 2721 00ac 0923 movs r3, #9 2722 00ae 2363 str r3, [r4, #48] 1024:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2723 .loc 1 1024 7 is_stmt 1 view .LVU993 1024:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2724 .loc 1 1024 20 is_stmt 0 view .LVU994 2725 00b0 3146 mov r1, r6 2726 00b2 2068 ldr r0, [r4] 2727 00b4 FFF7FEFF bl SDMMC_CmdReadSingleBlock 2728 .LVL231: 1024:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2729 .loc 1 1024 20 view .LVU995 2730 00b8 E0E7 b .L167 2731 .LVL232: 2732 .L168: 1040:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2733 .loc 1 1040 12 view .LVU996 2734 00ba 0225 movs r5, #2 2735 .LVL233: 2736 .L163: 1042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2737 .loc 1 1042 1 view .LVU997 2738 00bc 2846 mov r0, r5 2739 00be 07B0 add sp, sp, #28 2740 .LCFI37: 2741 .cfi_remember_state 2742 .cfi_def_cfa_offset 20 2743 @ sp needed 2744 00c0 F0BD pop {r4, r5, r6, r7, pc} 2745 .LVL234: 2746 .L169: 2747 .LCFI38: 2748 .cfi_restore_state 1036:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2749 .loc 1 1036 12 view .LVU998 2750 00c2 0025 movs r5, #0 2751 00c4 FAE7 b .L163 2752 .L174: 2753 00c6 00BF .align 2 2754 .L173: 2755 00c8 FF054000 .word 4195839 2756 .cfi_endproc 2757 .LFE148: 2759 .section .text.HAL_SD_WriteBlocks_IT,"ax",%progbits 2760 .align 1 2761 .global HAL_SD_WriteBlocks_IT 2762 .syntax unified 2763 .thumb 2764 .thumb_func 2765 .fpu fpv5-d16 2767 HAL_SD_WriteBlocks_IT: 2768 .LVL235: 2769 .LFB149: 1058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config; 2770 .loc 1 1058 1 is_stmt 1 view -0 2771 .cfi_startproc 2772 @ args = 0, pretend = 0, frame = 24 ARM GAS /tmp/ccME1oKf.s page 122 2773 @ frame_needed = 0, uses_anonymous_args = 0 1058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config; 2774 .loc 1 1058 1 is_stmt 0 view .LVU1000 2775 0000 F0B5 push {r4, r5, r6, r7, lr} 2776 .LCFI39: 2777 .cfi_def_cfa_offset 20 2778 .cfi_offset 4, -20 2779 .cfi_offset 5, -16 2780 .cfi_offset 6, -12 2781 .cfi_offset 7, -8 2782 .cfi_offset 14, -4 2783 0002 87B0 sub sp, sp, #28 2784 .LCFI40: 2785 .cfi_def_cfa_offset 48 2786 0004 0446 mov r4, r0 1059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 2787 .loc 1 1059 3 is_stmt 1 view .LVU1001 1060:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t add = BlockAdd; 2788 .loc 1 1060 3 view .LVU1002 1061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2789 .loc 1 1061 3 view .LVU1003 2790 .LVL236: 1063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2791 .loc 1 1063 3 view .LVU1004 1063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2792 .loc 1 1063 5 is_stmt 0 view .LVU1005 2793 0006 0029 cmp r1, #0 2794 0008 33D0 beq .L185 2795 000a 0846 mov r0, r1 2796 .LVL237: 1069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2797 .loc 1 1069 3 is_stmt 1 view .LVU1006 1069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2798 .loc 1 1069 9 is_stmt 0 view .LVU1007 2799 000c 94F83450 ldrb r5, [r4, #52] @ zero_extendqisi2 2800 0010 EDB2 uxtb r5, r5 1069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2801 .loc 1 1069 5 view .LVU1008 2802 0012 012D cmp r5, #1 2803 0014 4FD1 bne .L183 1071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2804 .loc 1 1071 5 is_stmt 1 view .LVU1009 1071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2805 .loc 1 1071 20 is_stmt 0 view .LVU1010 2806 0016 0021 movs r1, #0 2807 .LVL238: 1071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2808 .loc 1 1071 20 view .LVU1011 2809 0018 A163 str r1, [r4, #56] 1073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2810 .loc 1 1073 5 is_stmt 1 view .LVU1012 1073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2811 .loc 1 1073 13 is_stmt 0 view .LVU1013 2812 001a D118 adds r1, r2, r3 1073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2813 .loc 1 1073 45 view .LVU1014 2814 001c E66D ldr r6, [r4, #92] ARM GAS /tmp/ccME1oKf.s page 123 1073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2815 .loc 1 1073 7 view .LVU1015 2816 001e B142 cmp r1, r6 2817 0020 2DD8 bhi .L186 1079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2818 .loc 1 1079 5 is_stmt 1 view .LVU1016 1079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2819 .loc 1 1079 16 is_stmt 0 view .LVU1017 2820 0022 0321 movs r1, #3 2821 0024 84F83410 strb r1, [r4, #52] 1082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2822 .loc 1 1082 5 is_stmt 1 view .LVU1018 1082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2823 .loc 1 1082 8 is_stmt 0 view .LVU1019 2824 0028 2168 ldr r1, [r4] 1082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2825 .loc 1 1082 26 view .LVU1020 2826 002a 0026 movs r6, #0 2827 002c CE62 str r6, [r1, #44] 1084:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->TxXferSize = BLOCKSIZE * NumberOfBlocks; 2828 .loc 1 1084 5 is_stmt 1 view .LVU1021 1084:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->TxXferSize = BLOCKSIZE * NumberOfBlocks; 2829 .loc 1 1084 21 is_stmt 0 view .LVU1022 2830 002e 2062 str r0, [r4, #32] 1085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2831 .loc 1 1085 5 is_stmt 1 view .LVU1023 1085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2832 .loc 1 1085 33 is_stmt 0 view .LVU1024 2833 0030 5E02 lsls r6, r3, #9 1085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2834 .loc 1 1085 21 view .LVU1025 2835 0032 6662 str r6, [r4, #36] 1088:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2836 .loc 1 1088 5 is_stmt 1 view .LVU1026 2837 0034 2068 ldr r0, [r4] 2838 .LVL239: 1088:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2839 .loc 1 1088 5 is_stmt 0 view .LVU1027 2840 0036 C76B ldr r7, [r0, #60] 2841 0038 44F21A11 movw r1, #16666 2842 003c 3943 orrs r1, r1, r7 2843 003e C163 str r1, [r0, #60] 2844 .LVL240: 1090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2845 .loc 1 1090 5 is_stmt 1 view .LVU1028 1090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2846 .loc 1 1090 19 is_stmt 0 view .LVU1029 2847 0040 616C ldr r1, [r4, #68] 1090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2848 .loc 1 1090 7 view .LVU1030 2849 0042 0129 cmp r1, #1 2850 0044 00D0 beq .L179 1092:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2851 .loc 1 1092 7 is_stmt 1 view .LVU1031 1092:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2852 .loc 1 1092 11 is_stmt 0 view .LVU1032 2853 0046 5202 lsls r2, r2, #9 ARM GAS /tmp/ccME1oKf.s page 124 2854 .LVL241: 2855 .L179: 1096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2856 .loc 1 1096 5 is_stmt 1 view .LVU1033 1096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2857 .loc 1 1096 7 is_stmt 0 view .LVU1034 2858 0048 012B cmp r3, #1 2859 004a 1DD9 bls .L180 1098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2860 .loc 1 1098 7 is_stmt 1 view .LVU1035 1098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2861 .loc 1 1098 20 is_stmt 0 view .LVU1036 2862 004c 2823 movs r3, #40 2863 .LVL242: 1098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2864 .loc 1 1098 20 view .LVU1037 2865 004e 2363 str r3, [r4, #48] 1101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2866 .loc 1 1101 7 is_stmt 1 view .LVU1038 1101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2867 .loc 1 1101 20 is_stmt 0 view .LVU1039 2868 0050 1146 mov r1, r2 2869 0052 2068 ldr r0, [r4] 2870 0054 FFF7FEFF bl SDMMC_CmdWriteMultiBlock 2871 .LVL243: 2872 .L181: 1110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2873 .loc 1 1110 5 is_stmt 1 view .LVU1040 1110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 2874 .loc 1 1110 7 is_stmt 0 view .LVU1041 2875 0058 E8B1 cbz r0, .L182 1113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 2876 .loc 1 1113 7 is_stmt 1 view .LVU1042 2877 005a 2368 ldr r3, [r4] 2878 005c 184A ldr r2, .L187 2879 005e 9A63 str r2, [r3, #56] 1114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2880 .loc 1 1114 7 view .LVU1043 1114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2881 .loc 1 1114 22 is_stmt 0 view .LVU1044 2882 0060 A36B ldr r3, [r4, #56] 2883 0062 1843 orrs r0, r0, r3 2884 .LVL244: 1114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2885 .loc 1 1114 22 view .LVU1045 2886 0064 A063 str r0, [r4, #56] 1115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2887 .loc 1 1115 7 is_stmt 1 view .LVU1046 1115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2888 .loc 1 1115 18 is_stmt 0 view .LVU1047 2889 0066 0123 movs r3, #1 2890 0068 84F83430 strb r3, [r4, #52] 1116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2891 .loc 1 1116 7 is_stmt 1 view .LVU1048 1116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2892 .loc 1 1116 20 is_stmt 0 view .LVU1049 2893 006c 0023 movs r3, #0 ARM GAS /tmp/ccME1oKf.s page 125 2894 006e 2363 str r3, [r4, #48] 1117:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2895 .loc 1 1117 7 is_stmt 1 view .LVU1050 1117:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2896 .loc 1 1117 14 is_stmt 0 view .LVU1051 2897 0070 22E0 b .L177 2898 .LVL245: 2899 .L185: 1065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2900 .loc 1 1065 5 is_stmt 1 view .LVU1052 1065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2901 .loc 1 1065 20 is_stmt 0 view .LVU1053 2902 0072 836B ldr r3, [r0, #56] 2903 .LVL246: 1065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2904 .loc 1 1065 20 view .LVU1054 2905 0074 43F00063 orr r3, r3, #134217728 2906 0078 8363 str r3, [r0, #56] 1066:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2907 .loc 1 1066 5 is_stmt 1 view .LVU1055 1066:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2908 .loc 1 1066 12 is_stmt 0 view .LVU1056 2909 007a 0125 movs r5, #1 2910 007c 1CE0 b .L177 2911 .LVL247: 2912 .L186: 1075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2913 .loc 1 1075 7 is_stmt 1 view .LVU1057 1075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2914 .loc 1 1075 22 is_stmt 0 view .LVU1058 2915 007e A36B ldr r3, [r4, #56] 2916 .LVL248: 1075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 2917 .loc 1 1075 22 view .LVU1059 2918 0080 43F00073 orr r3, r3, #33554432 2919 0084 A363 str r3, [r4, #56] 1076:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2920 .loc 1 1076 7 is_stmt 1 view .LVU1060 1076:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2921 .loc 1 1076 14 is_stmt 0 view .LVU1061 2922 0086 17E0 b .L177 2923 .LVL249: 2924 .L180: 1105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2925 .loc 1 1105 7 is_stmt 1 view .LVU1062 1105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2926 .loc 1 1105 20 is_stmt 0 view .LVU1063 2927 0088 1823 movs r3, #24 2928 .LVL250: 1105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2929 .loc 1 1105 20 view .LVU1064 2930 008a 2363 str r3, [r4, #48] 1108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2931 .loc 1 1108 7 is_stmt 1 view .LVU1065 1108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2932 .loc 1 1108 20 is_stmt 0 view .LVU1066 2933 008c 1146 mov r1, r2 ARM GAS /tmp/ccME1oKf.s page 126 2934 008e 2068 ldr r0, [r4] 2935 0090 FFF7FEFF bl SDMMC_CmdWriteSingleBlock 2936 .LVL251: 1108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2937 .loc 1 1108 20 view .LVU1067 2938 0094 E0E7 b .L181 2939 .L182: 1121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks; 2940 .loc 1 1121 5 is_stmt 1 view .LVU1068 1121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks; 2941 .loc 1 1121 26 is_stmt 0 view .LVU1069 2942 0096 4FF0FF33 mov r3, #-1 2943 009a 0093 str r3, [sp] 1122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 2944 .loc 1 1122 5 is_stmt 1 view .LVU1070 1122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 2945 .loc 1 1122 26 is_stmt 0 view .LVU1071 2946 009c 0196 str r6, [sp, #4] 1123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD; 2947 .loc 1 1123 5 is_stmt 1 view .LVU1072 1123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD; 2948 .loc 1 1123 26 is_stmt 0 view .LVU1073 2949 009e 9023 movs r3, #144 2950 00a0 0293 str r3, [sp, #8] 1124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 2951 .loc 1 1124 5 is_stmt 1 view .LVU1074 1124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 2952 .loc 1 1124 26 is_stmt 0 view .LVU1075 2953 00a2 0025 movs r5, #0 2954 00a4 0395 str r5, [sp, #12] 1125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE; 2955 .loc 1 1125 5 is_stmt 1 view .LVU1076 1125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE; 2956 .loc 1 1125 26 is_stmt 0 view .LVU1077 2957 00a6 0495 str r5, [sp, #16] 1126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config); 2958 .loc 1 1126 5 is_stmt 1 view .LVU1078 1126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config); 2959 .loc 1 1126 26 is_stmt 0 view .LVU1079 2960 00a8 0123 movs r3, #1 2961 00aa 0593 str r3, [sp, #20] 1127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2962 .loc 1 1127 5 is_stmt 1 view .LVU1080 1127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2963 .loc 1 1127 11 is_stmt 0 view .LVU1081 2964 00ac 6946 mov r1, sp 2965 00ae 2068 ldr r0, [r4] 2966 .LVL252: 1127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2967 .loc 1 1127 11 view .LVU1082 2968 00b0 FFF7FEFF bl SDMMC_ConfigData 2969 .LVL253: 1129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2970 .loc 1 1129 5 is_stmt 1 view .LVU1083 1129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2971 .loc 1 1129 12 is_stmt 0 view .LVU1084 2972 00b4 00E0 b .L177 ARM GAS /tmp/ccME1oKf.s page 127 2973 .LVL254: 2974 .L183: 1133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 2975 .loc 1 1133 12 view .LVU1085 2976 00b6 0225 movs r5, #2 2977 .LVL255: 2978 .L177: 1135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2979 .loc 1 1135 1 view .LVU1086 2980 00b8 2846 mov r0, r5 2981 00ba 07B0 add sp, sp, #28 2982 .LCFI41: 2983 .cfi_def_cfa_offset 20 2984 @ sp needed 2985 00bc F0BD pop {r4, r5, r6, r7, pc} 2986 .LVL256: 2987 .L188: 1135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 2988 .loc 1 1135 1 view .LVU1087 2989 00be 00BF .align 2 2990 .L187: 2991 00c0 FF054000 .word 4195839 2992 .cfi_endproc 2993 .LFE149: 2995 .section .text.HAL_SD_ReadBlocks_DMA,"ax",%progbits 2996 .align 1 2997 .global HAL_SD_ReadBlocks_DMA 2998 .syntax unified 2999 .thumb 3000 .thumb_func 3001 .fpu fpv5-d16 3003 HAL_SD_ReadBlocks_DMA: 3004 .LVL257: 3005 .LFB150: 1151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config; 3006 .loc 1 1151 1 is_stmt 1 view -0 3007 .cfi_startproc 3008 @ args = 0, pretend = 0, frame = 24 3009 @ frame_needed = 0, uses_anonymous_args = 0 1151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config; 3010 .loc 1 1151 1 is_stmt 0 view .LVU1089 3011 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} 3012 .LCFI42: 3013 .cfi_def_cfa_offset 28 3014 .cfi_offset 4, -28 3015 .cfi_offset 5, -24 3016 .cfi_offset 6, -20 3017 .cfi_offset 7, -16 3018 .cfi_offset 8, -12 3019 .cfi_offset 9, -8 3020 .cfi_offset 14, -4 3021 0004 87B0 sub sp, sp, #28 3022 .LCFI43: 3023 .cfi_def_cfa_offset 56 3024 0006 0446 mov r4, r0 1152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 3025 .loc 1 1152 3 is_stmt 1 view .LVU1090 ARM GAS /tmp/ccME1oKf.s page 128 1153:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t add = BlockAdd; 3026 .loc 1 1153 3 view .LVU1091 1154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3027 .loc 1 1154 3 view .LVU1092 3028 .LVL258: 1156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3029 .loc 1 1156 3 view .LVU1093 1156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3030 .loc 1 1156 5 is_stmt 0 view .LVU1094 3031 0008 91B1 cbz r1, .L200 3032 000a 1646 mov r6, r2 3033 000c 1F46 mov r7, r3 3034 000e 0A46 mov r2, r1 3035 .LVL259: 1162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3036 .loc 1 1162 3 is_stmt 1 view .LVU1095 1162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3037 .loc 1 1162 9 is_stmt 0 view .LVU1096 3038 0010 90F83450 ldrb r5, [r0, #52] @ zero_extendqisi2 3039 0014 EDB2 uxtb r5, r5 1162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3040 .loc 1 1162 5 view .LVU1097 3041 0016 012D cmp r5, #1 3042 0018 7FD1 bne .L197 1164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3043 .loc 1 1164 5 is_stmt 1 view .LVU1098 1164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3044 .loc 1 1164 20 is_stmt 0 view .LVU1099 3045 001a 0023 movs r3, #0 3046 .LVL260: 1164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3047 .loc 1 1164 20 view .LVU1100 3048 001c 8363 str r3, [r0, #56] 1166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3049 .loc 1 1166 5 is_stmt 1 view .LVU1101 1166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3050 .loc 1 1166 13 is_stmt 0 view .LVU1102 3051 001e F019 adds r0, r6, r7 3052 .LVL261: 1166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3053 .loc 1 1166 45 view .LVU1103 3054 0020 E36D ldr r3, [r4, #92] 1166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3055 .loc 1 1166 7 view .LVU1104 3056 0022 9842 cmp r0, r3 3057 0024 0AD9 bls .L192 1168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3058 .loc 1 1168 7 is_stmt 1 view .LVU1105 1168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3059 .loc 1 1168 22 is_stmt 0 view .LVU1106 3060 0026 A36B ldr r3, [r4, #56] 3061 0028 43F00073 orr r3, r3, #33554432 3062 002c A363 str r3, [r4, #56] 1169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3063 .loc 1 1169 7 is_stmt 1 view .LVU1107 1169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3064 .loc 1 1169 14 is_stmt 0 view .LVU1108 ARM GAS /tmp/ccME1oKf.s page 129 3065 002e 75E0 b .L191 3066 .LVL262: 3067 .L200: 1158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3068 .loc 1 1158 5 is_stmt 1 view .LVU1109 1158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3069 .loc 1 1158 20 is_stmt 0 view .LVU1110 3070 0030 836B ldr r3, [r0, #56] 3071 .LVL263: 1158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3072 .loc 1 1158 20 view .LVU1111 3073 0032 43F00063 orr r3, r3, #134217728 3074 0036 8363 str r3, [r0, #56] 1159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3075 .loc 1 1159 5 is_stmt 1 view .LVU1112 1159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3076 .loc 1 1159 12 is_stmt 0 view .LVU1113 3077 0038 0125 movs r5, #1 3078 003a 6FE0 b .L191 3079 .LVL264: 3080 .L192: 1172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3081 .loc 1 1172 5 is_stmt 1 view .LVU1114 1172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3082 .loc 1 1172 16 is_stmt 0 view .LVU1115 3083 003c 0323 movs r3, #3 3084 003e 84F83430 strb r3, [r4, #52] 1175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3085 .loc 1 1175 5 is_stmt 1 view .LVU1116 1175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3086 .loc 1 1175 8 is_stmt 0 view .LVU1117 3087 0042 2168 ldr r1, [r4] 3088 .LVL265: 1175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3089 .loc 1 1175 26 view .LVU1118 3090 0044 0023 movs r3, #0 3091 0046 CB62 str r3, [r1, #44] 1177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3092 .loc 1 1177 5 is_stmt 1 view .LVU1119 3093 0048 2068 ldr r0, [r4] 3094 004a C16B ldr r1, [r0, #60] 3095 004c 41F49571 orr r1, r1, #298 3096 0050 C163 str r1, [r0, #60] 1180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3097 .loc 1 1180 5 view .LVU1120 1180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3098 .loc 1 1180 8 is_stmt 0 view .LVU1121 3099 0052 216C ldr r1, [r4, #64] 1180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3100 .loc 1 1180 35 view .LVU1122 3101 0054 3448 ldr r0, .L202 3102 0056 C863 str r0, [r1, #60] 1183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3103 .loc 1 1183 5 is_stmt 1 view .LVU1123 1183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3104 .loc 1 1183 8 is_stmt 0 view .LVU1124 3105 0058 216C ldr r1, [r4, #64] ARM GAS /tmp/ccME1oKf.s page 130 1183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3106 .loc 1 1183 36 view .LVU1125 3107 005a 3448 ldr r0, .L202+4 3108 005c C864 str r0, [r1, #76] 1186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3109 .loc 1 1186 5 is_stmt 1 view .LVU1126 1186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3110 .loc 1 1186 8 is_stmt 0 view .LVU1127 3111 005e 216C ldr r1, [r4, #64] 1186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3112 .loc 1 1186 36 view .LVU1128 3113 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); 3114 .loc 1 1189 5 is_stmt 1 view .LVU1129 1189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** MODIFY_REG(hsd->hdmarx->Instance->CR, DMA_SxCR_DIR, hsd->hdmarx->Init.Direction); 3115 .loc 1 1189 8 is_stmt 0 view .LVU1130 3116 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); 3117 .loc 1 1189 33 view .LVU1131 3118 0064 8B60 str r3, [r1, #8] 1190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3119 .loc 1 1190 5 is_stmt 1 view .LVU1132 3120 0066 206C ldr r0, [r4, #64] 3121 0068 0168 ldr r1, [r0] 3122 006a 0B68 ldr r3, [r1] 3123 006c 23F0C003 bic r3, r3, #192 3124 0070 8068 ldr r0, [r0, #8] 3125 0072 0343 orrs r3, r3, r0 3126 0074 0B60 str r3, [r1] 1193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3127 .loc 1 1193 5 view .LVU1133 1193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3128 .loc 1 1193 52 is_stmt 0 view .LVU1134 3129 0076 2168 ldr r1, [r4] 1193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3130 .loc 1 1193 87 view .LVU1135 3131 0078 4FEA4729 lsl r9, r7, #9 1193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3132 .loc 1 1193 8 view .LVU1136 3133 007c 4FEA9903 lsr r3, r9, #2 3134 0080 8031 adds r1, r1, #128 3135 0082 206C ldr r0, [r4, #64] 3136 0084 FFF7FEFF bl HAL_DMA_Start_IT 3137 .LVL266: 1193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3138 .loc 1 1193 7 view .LVU1137 3139 0088 8046 mov r8, r0 3140 008a 0028 cmp r0, #0 3141 008c 2ED1 bne .L201 1204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3142 .loc 1 1204 7 is_stmt 1 view .LVU1138 3143 008e 2268 ldr r2, [r4] 3144 0090 D36A ldr r3, [r2, #44] 3145 0092 43F00803 orr r3, r3, #8 3146 0096 D362 str r3, [r2, #44] 1206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3147 .loc 1 1206 7 view .LVU1139 ARM GAS /tmp/ccME1oKf.s page 131 1206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3148 .loc 1 1206 21 is_stmt 0 view .LVU1140 3149 0098 636C ldr r3, [r4, #68] 1206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3150 .loc 1 1206 9 view .LVU1141 3151 009a 012B cmp r3, #1 3152 009c 00D0 beq .L194 1208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3153 .loc 1 1208 9 is_stmt 1 view .LVU1142 1208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3154 .loc 1 1208 13 is_stmt 0 view .LVU1143 3155 009e 7602 lsls r6, r6, #9 3156 .LVL267: 3157 .L194: 1212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks; 3158 .loc 1 1212 7 is_stmt 1 view .LVU1144 1212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks; 3159 .loc 1 1212 28 is_stmt 0 view .LVU1145 3160 00a0 4FF0FF33 mov r3, #-1 3161 00a4 0093 str r3, [sp] 1213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 3162 .loc 1 1213 7 is_stmt 1 view .LVU1146 1213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 3163 .loc 1 1213 28 is_stmt 0 view .LVU1147 3164 00a6 CDF80490 str r9, [sp, #4] 1214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; 3165 .loc 1 1214 7 is_stmt 1 view .LVU1148 1214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; 3166 .loc 1 1214 28 is_stmt 0 view .LVU1149 3167 00aa 9023 movs r3, #144 3168 00ac 0293 str r3, [sp, #8] 1215:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 3169 .loc 1 1215 7 is_stmt 1 view .LVU1150 1215:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 3170 .loc 1 1215 28 is_stmt 0 view .LVU1151 3171 00ae 0223 movs r3, #2 3172 00b0 0393 str r3, [sp, #12] 1216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE; 3173 .loc 1 1216 7 is_stmt 1 view .LVU1152 1216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE; 3174 .loc 1 1216 28 is_stmt 0 view .LVU1153 3175 00b2 0023 movs r3, #0 3176 00b4 0493 str r3, [sp, #16] 1217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config); 3177 .loc 1 1217 7 is_stmt 1 view .LVU1154 1217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config); 3178 .loc 1 1217 28 is_stmt 0 view .LVU1155 3179 00b6 0123 movs r3, #1 3180 00b8 0593 str r3, [sp, #20] 1218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3181 .loc 1 1218 7 is_stmt 1 view .LVU1156 1218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3182 .loc 1 1218 13 is_stmt 0 view .LVU1157 3183 00ba 6946 mov r1, sp 3184 00bc 2068 ldr r0, [r4] 3185 00be FFF7FEFF bl SDMMC_ConfigData 3186 .LVL268: ARM GAS /tmp/ccME1oKf.s page 132 1221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3187 .loc 1 1221 7 is_stmt 1 view .LVU1158 1221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3188 .loc 1 1221 9 is_stmt 0 view .LVU1159 3189 00c2 012F cmp r7, #1 3190 00c4 22D9 bls .L195 1223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3191 .loc 1 1223 9 is_stmt 1 view .LVU1160 1223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3192 .loc 1 1223 22 is_stmt 0 view .LVU1161 3193 00c6 8223 movs r3, #130 3194 00c8 2363 str r3, [r4, #48] 1226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3195 .loc 1 1226 9 is_stmt 1 view .LVU1162 1226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3196 .loc 1 1226 22 is_stmt 0 view .LVU1163 3197 00ca 3146 mov r1, r6 3198 00cc 2068 ldr r0, [r4] 3199 00ce FFF7FEFF bl SDMMC_CmdReadMultiBlock 3200 .LVL269: 3201 .L196: 1235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3202 .loc 1 1235 7 is_stmt 1 view .LVU1164 1235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3203 .loc 1 1235 9 is_stmt 0 view .LVU1165 3204 00d2 38B3 cbz r0, .L198 1238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 3205 .loc 1 1238 9 is_stmt 1 view .LVU1166 3206 00d4 2368 ldr r3, [r4] 3207 00d6 164A ldr r2, .L202+8 3208 00d8 9A63 str r2, [r3, #56] 1239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 3209 .loc 1 1239 9 view .LVU1167 1239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 3210 .loc 1 1239 24 is_stmt 0 view .LVU1168 3211 00da A36B ldr r3, [r4, #56] 3212 00dc 1843 orrs r0, r0, r3 3213 .LVL270: 1239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 3214 .loc 1 1239 24 view .LVU1169 3215 00de A063 str r0, [r4, #56] 1240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 3216 .loc 1 1240 9 is_stmt 1 view .LVU1170 1240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 3217 .loc 1 1240 20 is_stmt 0 view .LVU1171 3218 00e0 0123 movs r3, #1 3219 00e2 84F83430 strb r3, [r4, #52] 1241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3220 .loc 1 1241 9 is_stmt 1 view .LVU1172 1241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3221 .loc 1 1241 22 is_stmt 0 view .LVU1173 3222 00e6 0023 movs r3, #0 3223 00e8 2363 str r3, [r4, #48] 1242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3224 .loc 1 1242 9 is_stmt 1 view .LVU1174 1242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3225 .loc 1 1242 16 is_stmt 0 view .LVU1175 ARM GAS /tmp/ccME1oKf.s page 133 3226 00ea 17E0 b .L191 3227 .LVL271: 3228 .L201: 1195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 3229 .loc 1 1195 7 is_stmt 1 view .LVU1176 3230 00ec 2268 ldr r2, [r4] 3231 00ee D36B ldr r3, [r2, #60] 3232 00f0 23F49573 bic r3, r3, #298 3233 00f4 D363 str r3, [r2, #60] 1196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DMA; 3234 .loc 1 1196 7 view .LVU1177 3235 00f6 2368 ldr r3, [r4] 3236 00f8 0D4A ldr r2, .L202+8 3237 00fa 9A63 str r2, [r3, #56] 1197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 3238 .loc 1 1197 7 view .LVU1178 1197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 3239 .loc 1 1197 22 is_stmt 0 view .LVU1179 3240 00fc A36B ldr r3, [r4, #56] 3241 00fe 43F08043 orr r3, r3, #1073741824 3242 0102 A363 str r3, [r4, #56] 1198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3243 .loc 1 1198 7 is_stmt 1 view .LVU1180 1198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3244 .loc 1 1198 18 is_stmt 0 view .LVU1181 3245 0104 0123 movs r3, #1 3246 0106 84F83430 strb r3, [r4, #52] 1199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3247 .loc 1 1199 7 is_stmt 1 view .LVU1182 1199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3248 .loc 1 1199 14 is_stmt 0 view .LVU1183 3249 010a 07E0 b .L191 3250 .LVL272: 3251 .L195: 1230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3252 .loc 1 1230 9 is_stmt 1 view .LVU1184 1230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3253 .loc 1 1230 22 is_stmt 0 view .LVU1185 3254 010c 8123 movs r3, #129 3255 010e 2363 str r3, [r4, #48] 1233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3256 .loc 1 1233 9 is_stmt 1 view .LVU1186 1233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3257 .loc 1 1233 22 is_stmt 0 view .LVU1187 3258 0110 3146 mov r1, r6 3259 0112 2068 ldr r0, [r4] 3260 0114 FFF7FEFF bl SDMMC_CmdReadSingleBlock 3261 .LVL273: 1233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3262 .loc 1 1233 22 view .LVU1188 3263 0118 DBE7 b .L196 3264 .LVL274: 3265 .L197: 1250:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3266 .loc 1 1250 12 view .LVU1189 3267 011a 0225 movs r5, #2 3268 .LVL275: ARM GAS /tmp/ccME1oKf.s page 134 3269 .L191: 1252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3270 .loc 1 1252 1 view .LVU1190 3271 011c 2846 mov r0, r5 3272 011e 07B0 add sp, sp, #28 3273 .LCFI44: 3274 .cfi_remember_state 3275 .cfi_def_cfa_offset 28 3276 @ sp needed 3277 0120 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 3278 .LVL276: 3279 .L198: 3280 .LCFI45: 3281 .cfi_restore_state 1245:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3282 .loc 1 1245 14 view .LVU1191 3283 0124 4546 mov r5, r8 3284 0126 F9E7 b .L191 3285 .L203: 3286 .align 2 3287 .L202: 3288 0128 00000000 .word SD_DMAReceiveCplt 3289 012c 00000000 .word SD_DMAError 3290 0130 FF054000 .word 4195839 3291 .cfi_endproc 3292 .LFE150: 3294 .section .text.HAL_SD_WriteBlocks_DMA,"ax",%progbits 3295 .align 1 3296 .global HAL_SD_WriteBlocks_DMA 3297 .syntax unified 3298 .thumb 3299 .thumb_func 3300 .fpu fpv5-d16 3302 HAL_SD_WriteBlocks_DMA: 3303 .LVL277: 3304 .LFB151: 1268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config; 3305 .loc 1 1268 1 is_stmt 1 view -0 3306 .cfi_startproc 3307 @ args = 0, pretend = 0, frame = 24 3308 @ frame_needed = 0, uses_anonymous_args = 0 1268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_DataInitTypeDef config; 3309 .loc 1 1268 1 is_stmt 0 view .LVU1193 3310 0000 F0B5 push {r4, r5, r6, r7, lr} 3311 .LCFI46: 3312 .cfi_def_cfa_offset 20 3313 .cfi_offset 4, -20 3314 .cfi_offset 5, -16 3315 .cfi_offset 6, -12 3316 .cfi_offset 7, -8 3317 .cfi_offset 14, -4 3318 0002 87B0 sub sp, sp, #28 3319 .LCFI47: 3320 .cfi_def_cfa_offset 48 3321 0004 0446 mov r4, r0 1269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 3322 .loc 1 1269 3 is_stmt 1 view .LVU1194 ARM GAS /tmp/ccME1oKf.s page 135 1270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t add = BlockAdd; 3323 .loc 1 1270 3 view .LVU1195 1271:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3324 .loc 1 1271 3 view .LVU1196 3325 .LVL278: 1273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3326 .loc 1 1273 3 view .LVU1197 1273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3327 .loc 1 1273 5 is_stmt 0 view .LVU1198 3328 0006 0029 cmp r1, #0 3329 0008 39D0 beq .L215 3330 000a 1E46 mov r6, r3 3331 000c 0F46 mov r7, r1 1279:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3332 .loc 1 1279 3 is_stmt 1 view .LVU1199 1279:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3333 .loc 1 1279 9 is_stmt 0 view .LVU1200 3334 000e 90F83450 ldrb r5, [r0, #52] @ zero_extendqisi2 3335 0012 EDB2 uxtb r5, r5 1279:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3336 .loc 1 1279 5 view .LVU1201 3337 0014 012D cmp r5, #1 3338 0016 40F08180 bne .L213 1281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3339 .loc 1 1281 5 is_stmt 1 view .LVU1202 1281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3340 .loc 1 1281 20 is_stmt 0 view .LVU1203 3341 001a 0023 movs r3, #0 3342 .LVL279: 1281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3343 .loc 1 1281 20 view .LVU1204 3344 001c 8363 str r3, [r0, #56] 1283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3345 .loc 1 1283 5 is_stmt 1 view .LVU1205 1283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3346 .loc 1 1283 13 is_stmt 0 view .LVU1206 3347 001e 9319 adds r3, r2, r6 1283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3348 .loc 1 1283 45 view .LVU1207 3349 0020 C16D ldr r1, [r0, #92] 3350 .LVL280: 1283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3351 .loc 1 1283 7 view .LVU1208 3352 0022 8B42 cmp r3, r1 3353 0024 31D8 bhi .L216 1289:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3354 .loc 1 1289 5 is_stmt 1 view .LVU1209 1289:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3355 .loc 1 1289 16 is_stmt 0 view .LVU1210 3356 0026 0323 movs r3, #3 3357 0028 80F83430 strb r3, [r0, #52] 1292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3358 .loc 1 1292 5 is_stmt 1 view .LVU1211 1292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3359 .loc 1 1292 8 is_stmt 0 view .LVU1212 3360 002c 0368 ldr r3, [r0] 1292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ARM GAS /tmp/ccME1oKf.s page 136 3361 .loc 1 1292 26 view .LVU1213 3362 002e 0021 movs r1, #0 3363 0030 D962 str r1, [r3, #44] 1295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3364 .loc 1 1295 5 is_stmt 1 view .LVU1214 3365 0032 0068 ldr r0, [r0] 3366 .LVL281: 1295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3367 .loc 1 1295 5 is_stmt 0 view .LVU1215 3368 0034 C36B ldr r3, [r0, #60] 3369 0036 43F01A03 orr r3, r3, #26 3370 003a C363 str r3, [r0, #60] 1298:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3371 .loc 1 1298 5 is_stmt 1 view .LVU1216 1298:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3372 .loc 1 1298 8 is_stmt 0 view .LVU1217 3373 003c E36B ldr r3, [r4, #60] 1298:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3374 .loc 1 1298 35 view .LVU1218 3375 003e 3948 ldr r0, .L217 3376 0040 D863 str r0, [r3, #60] 1301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3377 .loc 1 1301 5 is_stmt 1 view .LVU1219 1301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3378 .loc 1 1301 8 is_stmt 0 view .LVU1220 3379 0042 E36B ldr r3, [r4, #60] 1301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3380 .loc 1 1301 36 view .LVU1221 3381 0044 3848 ldr r0, .L217+4 3382 0046 D864 str r0, [r3, #76] 1304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3383 .loc 1 1304 5 is_stmt 1 view .LVU1222 1304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3384 .loc 1 1304 8 is_stmt 0 view .LVU1223 3385 0048 E36B ldr r3, [r4, #60] 1304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3386 .loc 1 1304 36 view .LVU1224 3387 004a 1965 str r1, [r3, #80] 1306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3388 .loc 1 1306 5 is_stmt 1 view .LVU1225 1306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3389 .loc 1 1306 19 is_stmt 0 view .LVU1226 3390 004c 636C ldr r3, [r4, #68] 1306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3391 .loc 1 1306 7 view .LVU1227 3392 004e 012B cmp r3, #1 3393 0050 00D0 beq .L208 1308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3394 .loc 1 1308 7 is_stmt 1 view .LVU1228 1308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3395 .loc 1 1308 11 is_stmt 0 view .LVU1229 3396 0052 5202 lsls r2, r2, #9 3397 .LVL282: 3398 .L208: 1312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3399 .loc 1 1312 5 is_stmt 1 view .LVU1230 1312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { ARM GAS /tmp/ccME1oKf.s page 137 3400 .loc 1 1312 7 is_stmt 0 view .LVU1231 3401 0054 012E cmp r6, #1 3402 0056 1DD9 bls .L209 1314:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3403 .loc 1 1314 7 is_stmt 1 view .LVU1232 1314:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3404 .loc 1 1314 20 is_stmt 0 view .LVU1233 3405 0058 A023 movs r3, #160 3406 005a 2363 str r3, [r4, #48] 1317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3407 .loc 1 1317 7 is_stmt 1 view .LVU1234 1317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3408 .loc 1 1317 20 is_stmt 0 view .LVU1235 3409 005c 1146 mov r1, r2 3410 005e 2068 ldr r0, [r4] 3411 0060 FFF7FEFF bl SDMMC_CmdWriteMultiBlock 3412 .LVL283: 3413 .L210: 1326:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3414 .loc 1 1326 5 is_stmt 1 view .LVU1236 1326:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3415 .loc 1 1326 7 is_stmt 0 view .LVU1237 3416 0064 E8B1 cbz r0, .L211 1329:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 3417 .loc 1 1329 7 is_stmt 1 view .LVU1238 3418 0066 2368 ldr r3, [r4] 3419 0068 304A ldr r2, .L217+8 3420 006a 9A63 str r2, [r3, #56] 1330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 3421 .loc 1 1330 7 view .LVU1239 1330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 3422 .loc 1 1330 22 is_stmt 0 view .LVU1240 3423 006c A36B ldr r3, [r4, #56] 3424 006e 1843 orrs r0, r0, r3 3425 .LVL284: 1330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 3426 .loc 1 1330 22 view .LVU1241 3427 0070 A063 str r0, [r4, #56] 1331:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 3428 .loc 1 1331 7 is_stmt 1 view .LVU1242 1331:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 3429 .loc 1 1331 18 is_stmt 0 view .LVU1243 3430 0072 0123 movs r3, #1 3431 0074 84F83430 strb r3, [r4, #52] 1332:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3432 .loc 1 1332 7 is_stmt 1 view .LVU1244 1332:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3433 .loc 1 1332 20 is_stmt 0 view .LVU1245 3434 0078 0023 movs r3, #0 3435 007a 2363 str r3, [r4, #48] 1333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3436 .loc 1 1333 7 is_stmt 1 view .LVU1246 1333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3437 .loc 1 1333 14 is_stmt 0 view .LVU1247 3438 007c 4FE0 b .L206 3439 .LVL285: 3440 .L215: ARM GAS /tmp/ccME1oKf.s page 138 1275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3441 .loc 1 1275 5 is_stmt 1 view .LVU1248 1275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3442 .loc 1 1275 20 is_stmt 0 view .LVU1249 3443 007e 836B ldr r3, [r0, #56] 3444 .LVL286: 1275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3445 .loc 1 1275 20 view .LVU1250 3446 0080 43F00063 orr r3, r3, #134217728 3447 0084 8363 str r3, [r0, #56] 1276:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3448 .loc 1 1276 5 is_stmt 1 view .LVU1251 1276:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3449 .loc 1 1276 12 is_stmt 0 view .LVU1252 3450 0086 0125 movs r5, #1 3451 0088 49E0 b .L206 3452 .LVL287: 3453 .L216: 1285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3454 .loc 1 1285 7 is_stmt 1 view .LVU1253 1285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3455 .loc 1 1285 22 is_stmt 0 view .LVU1254 3456 008a 836B ldr r3, [r0, #56] 3457 008c 43F00073 orr r3, r3, #33554432 3458 0090 8363 str r3, [r0, #56] 1286:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3459 .loc 1 1286 7 is_stmt 1 view .LVU1255 1286:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3460 .loc 1 1286 14 is_stmt 0 view .LVU1256 3461 0092 44E0 b .L206 3462 .LVL288: 3463 .L209: 1321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3464 .loc 1 1321 7 is_stmt 1 view .LVU1257 1321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3465 .loc 1 1321 20 is_stmt 0 view .LVU1258 3466 0094 9023 movs r3, #144 3467 0096 2363 str r3, [r4, #48] 1324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3468 .loc 1 1324 7 is_stmt 1 view .LVU1259 1324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3469 .loc 1 1324 20 is_stmt 0 view .LVU1260 3470 0098 1146 mov r1, r2 3471 009a 2068 ldr r0, [r4] 3472 009c FFF7FEFF bl SDMMC_CmdWriteSingleBlock 3473 .LVL289: 1324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3474 .loc 1 1324 20 view .LVU1261 3475 00a0 E0E7 b .L210 3476 .L211: 1337:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3477 .loc 1 1337 5 is_stmt 1 view .LVU1262 3478 00a2 2268 ldr r2, [r4] 3479 00a4 D36A ldr r3, [r2, #44] 3480 00a6 43F00803 orr r3, r3, #8 3481 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); ARM GAS /tmp/ccME1oKf.s page 139 3482 .loc 1 1340 5 view .LVU1263 1340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** MODIFY_REG(hsd->hdmatx->Instance->CR, DMA_SxCR_DIR, hsd->hdmatx->Init.Direction); 3483 .loc 1 1340 8 is_stmt 0 view .LVU1264 3484 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); 3485 .loc 1 1340 33 view .LVU1265 3486 00ae 4022 movs r2, #64 3487 00b0 9A60 str r2, [r3, #8] 1341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3488 .loc 1 1341 5 is_stmt 1 view .LVU1266 3489 00b2 E16B ldr r1, [r4, #60] 3490 00b4 0A68 ldr r2, [r1] 3491 00b6 1368 ldr r3, [r2] 3492 00b8 23F0C003 bic r3, r3, #192 3493 00bc 8968 ldr r1, [r1, #8] 3494 00be 0B43 orrs r3, r3, r1 3495 00c0 1360 str r3, [r2] 1344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3496 .loc 1 1344 5 view .LVU1267 1344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3497 .loc 1 1344 69 is_stmt 0 view .LVU1268 3498 00c2 2268 ldr r2, [r4] 1344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3499 .loc 1 1344 87 view .LVU1269 3500 00c4 7602 lsls r6, r6, #9 3501 .LVL290: 1344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3502 .loc 1 1344 8 view .LVU1270 3503 00c6 B308 lsrs r3, r6, #2 3504 00c8 8032 adds r2, r2, #128 3505 00ca 3946 mov r1, r7 3506 00cc E06B ldr r0, [r4, #60] 3507 .LVL291: 1344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3508 .loc 1 1344 8 view .LVU1271 3509 00ce FFF7FEFF bl HAL_DMA_Start_IT 3510 .LVL292: 1344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3511 .loc 1 1344 7 view .LVU1272 3512 00d2 0746 mov r7, r0 3513 .LVL293: 1344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3514 .loc 1 1344 7 view .LVU1273 3515 00d4 88B1 cbz r0, .L212 1346:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 3516 .loc 1 1346 7 is_stmt 1 view .LVU1274 3517 00d6 2268 ldr r2, [r4] 3518 00d8 D36B ldr r3, [r2, #60] 3519 00da 23F01A03 bic r3, r3, #26 3520 00de D363 str r3, [r2, #60] 1347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DMA; 3521 .loc 1 1347 7 view .LVU1275 3522 00e0 2368 ldr r3, [r4] 3523 00e2 124A ldr r2, .L217+8 3524 00e4 9A63 str r2, [r3, #56] 1348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 3525 .loc 1 1348 7 view .LVU1276 ARM GAS /tmp/ccME1oKf.s page 140 1348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 3526 .loc 1 1348 22 is_stmt 0 view .LVU1277 3527 00e6 A36B ldr r3, [r4, #56] 3528 00e8 43F08043 orr r3, r3, #1073741824 3529 00ec A363 str r3, [r4, #56] 1349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 3530 .loc 1 1349 7 is_stmt 1 view .LVU1278 1349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 3531 .loc 1 1349 18 is_stmt 0 view .LVU1279 3532 00ee 0123 movs r3, #1 3533 00f0 84F83430 strb r3, [r4, #52] 1350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3534 .loc 1 1350 7 is_stmt 1 view .LVU1280 1350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3535 .loc 1 1350 20 is_stmt 0 view .LVU1281 3536 00f4 0023 movs r3, #0 3537 00f6 2363 str r3, [r4, #48] 1351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3538 .loc 1 1351 7 is_stmt 1 view .LVU1282 1351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3539 .loc 1 1351 14 is_stmt 0 view .LVU1283 3540 00f8 11E0 b .L206 3541 .L212: 1356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks; 3542 .loc 1 1356 7 is_stmt 1 view .LVU1284 1356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks; 3543 .loc 1 1356 28 is_stmt 0 view .LVU1285 3544 00fa 4FF0FF33 mov r3, #-1 3545 00fe 0093 str r3, [sp] 1357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 3546 .loc 1 1357 7 is_stmt 1 view .LVU1286 1357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 3547 .loc 1 1357 28 is_stmt 0 view .LVU1287 3548 0100 0196 str r6, [sp, #4] 1358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD; 3549 .loc 1 1358 7 is_stmt 1 view .LVU1288 1358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD; 3550 .loc 1 1358 28 is_stmt 0 view .LVU1289 3551 0102 9023 movs r3, #144 3552 0104 0293 str r3, [sp, #8] 1359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 3553 .loc 1 1359 7 is_stmt 1 view .LVU1290 1359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 3554 .loc 1 1359 28 is_stmt 0 view .LVU1291 3555 0106 0023 movs r3, #0 3556 0108 0393 str r3, [sp, #12] 1360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE; 3557 .loc 1 1360 7 is_stmt 1 view .LVU1292 1360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** config.DPSM = SDMMC_DPSM_ENABLE; 3558 .loc 1 1360 28 is_stmt 0 view .LVU1293 3559 010a 0493 str r3, [sp, #16] 1361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config); 3560 .loc 1 1361 7 is_stmt 1 view .LVU1294 1361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_ConfigData(hsd->Instance, &config); 3561 .loc 1 1361 28 is_stmt 0 view .LVU1295 3562 010c 0123 movs r3, #1 3563 010e 0593 str r3, [sp, #20] ARM GAS /tmp/ccME1oKf.s page 141 1362:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3564 .loc 1 1362 7 is_stmt 1 view .LVU1296 1362:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3565 .loc 1 1362 13 is_stmt 0 view .LVU1297 3566 0110 6946 mov r1, sp 3567 0112 2068 ldr r0, [r4] 3568 0114 FFF7FEFF bl SDMMC_ConfigData 3569 .LVL294: 1364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3570 .loc 1 1364 7 is_stmt 1 view .LVU1298 1364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3571 .loc 1 1364 14 is_stmt 0 view .LVU1299 3572 0118 3D46 mov r5, r7 3573 011a 00E0 b .L206 3574 .LVL295: 3575 .L213: 1369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3576 .loc 1 1369 12 view .LVU1300 3577 011c 0225 movs r5, #2 3578 .LVL296: 3579 .L206: 1371:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3580 .loc 1 1371 1 view .LVU1301 3581 011e 2846 mov r0, r5 3582 0120 07B0 add sp, sp, #28 3583 .LCFI48: 3584 .cfi_def_cfa_offset 20 3585 @ sp needed 3586 0122 F0BD pop {r4, r5, r6, r7, pc} 3587 .LVL297: 3588 .L218: 1371:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3589 .loc 1 1371 1 view .LVU1302 3590 .align 2 3591 .L217: 3592 0124 00000000 .word SD_DMATransmitCplt 3593 0128 00000000 .word SD_DMAError 3594 012c FF054000 .word 4195839 3595 .cfi_endproc 3596 .LFE151: 3598 .section .text.HAL_SD_Erase,"ax",%progbits 3599 .align 1 3600 .global HAL_SD_Erase 3601 .syntax unified 3602 .thumb 3603 .thumb_func 3604 .fpu fpv5-d16 3606 HAL_SD_Erase: 3607 .LVL298: 3608 .LFB152: 1383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 3609 .loc 1 1383 1 is_stmt 1 view -0 3610 .cfi_startproc 3611 @ args = 0, pretend = 0, frame = 0 3612 @ frame_needed = 0, uses_anonymous_args = 0 1383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 3613 .loc 1 1383 1 is_stmt 0 view .LVU1304 ARM GAS /tmp/ccME1oKf.s page 142 3614 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 3615 .LCFI49: 3616 .cfi_def_cfa_offset 24 3617 .cfi_offset 3, -24 3618 .cfi_offset 4, -20 3619 .cfi_offset 5, -16 3620 .cfi_offset 6, -12 3621 .cfi_offset 7, -8 3622 .cfi_offset 14, -4 1384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t start_add = BlockStartAdd; 3623 .loc 1 1384 3 is_stmt 1 view .LVU1305 1385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t end_add = BlockEndAdd; 3624 .loc 1 1385 3 view .LVU1306 3625 .LVL299: 1386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3626 .loc 1 1386 3 view .LVU1307 1388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3627 .loc 1 1388 3 view .LVU1308 1388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3628 .loc 1 1388 9 is_stmt 0 view .LVU1309 3629 0002 90F83450 ldrb r5, [r0, #52] @ zero_extendqisi2 3630 0006 EDB2 uxtb r5, r5 1388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3631 .loc 1 1388 5 view .LVU1310 3632 0008 012D cmp r5, #1 3633 000a 6FD1 bne .L229 3634 000c 0446 mov r4, r0 3635 000e 0F46 mov r7, r1 3636 0010 1646 mov r6, r2 1390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3637 .loc 1 1390 5 is_stmt 1 view .LVU1311 1390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3638 .loc 1 1390 20 is_stmt 0 view .LVU1312 3639 0012 0023 movs r3, #0 3640 0014 8363 str r3, [r0, #56] 1392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3641 .loc 1 1392 5 is_stmt 1 view .LVU1313 1392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3642 .loc 1 1392 7 is_stmt 0 view .LVU1314 3643 0016 9142 cmp r1, r2 3644 0018 14D8 bhi .L231 1398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3645 .loc 1 1398 5 is_stmt 1 view .LVU1315 1398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3646 .loc 1 1398 30 is_stmt 0 view .LVU1316 3647 001a C36D ldr r3, [r0, #92] 1398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3648 .loc 1 1398 7 view .LVU1317 3649 001c 9342 cmp r3, r2 3650 001e 16D3 bcc .L232 1404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3651 .loc 1 1404 5 is_stmt 1 view .LVU1318 1404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3652 .loc 1 1404 16 is_stmt 0 view .LVU1319 3653 0020 0323 movs r3, #3 3654 0022 80F83430 strb r3, [r0, #52] 1407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { ARM GAS /tmp/ccME1oKf.s page 143 3655 .loc 1 1407 5 is_stmt 1 view .LVU1320 1407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3656 .loc 1 1407 21 is_stmt 0 view .LVU1321 3657 0026 C36C ldr r3, [r0, #76] 1407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3658 .loc 1 1407 7 view .LVU1322 3659 0028 13F0200F tst r3, #32 3660 002c 14D1 bne .L223 1410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; 3661 .loc 1 1410 7 is_stmt 1 view .LVU1323 3662 002e 0368 ldr r3, [r0] 3663 0030 304A ldr r2, .L235 3664 .LVL300: 1410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; 3665 .loc 1 1410 7 is_stmt 0 view .LVU1324 3666 0032 9A63 str r2, [r3, #56] 1411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 3667 .loc 1 1411 7 is_stmt 1 view .LVU1325 1411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 3668 .loc 1 1411 22 is_stmt 0 view .LVU1326 3669 0034 836B ldr r3, [r0, #56] 3670 0036 43F08063 orr r3, r3, #67108864 3671 003a 8363 str r3, [r0, #56] 1412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3672 .loc 1 1412 7 is_stmt 1 view .LVU1327 1412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3673 .loc 1 1412 18 is_stmt 0 view .LVU1328 3674 003c 0123 movs r3, #1 3675 003e 80F83430 strb r3, [r0, #52] 1413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3676 .loc 1 1413 7 is_stmt 1 view .LVU1329 1413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3677 .loc 1 1413 14 is_stmt 0 view .LVU1330 3678 0042 54E0 b .L220 3679 .LVL301: 3680 .L231: 1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3681 .loc 1 1394 7 is_stmt 1 view .LVU1331 1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3682 .loc 1 1394 22 is_stmt 0 view .LVU1332 3683 0044 836B ldr r3, [r0, #56] 3684 0046 43F00063 orr r3, r3, #134217728 3685 004a 8363 str r3, [r0, #56] 1395:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3686 .loc 1 1395 7 is_stmt 1 view .LVU1333 1395:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3687 .loc 1 1395 14 is_stmt 0 view .LVU1334 3688 004c 4FE0 b .L220 3689 .L232: 1400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3690 .loc 1 1400 7 is_stmt 1 view .LVU1335 1400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3691 .loc 1 1400 22 is_stmt 0 view .LVU1336 3692 004e 836B ldr r3, [r0, #56] 3693 0050 43F00073 orr r3, r3, #33554432 3694 0054 8363 str r3, [r0, #56] 1401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } ARM GAS /tmp/ccME1oKf.s page 144 3695 .loc 1 1401 7 is_stmt 1 view .LVU1337 1401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3696 .loc 1 1401 14 is_stmt 0 view .LVU1338 3697 0056 4AE0 b .L220 3698 .L223: 1416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3699 .loc 1 1416 5 is_stmt 1 view .LVU1339 1416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3700 .loc 1 1416 9 is_stmt 0 view .LVU1340 3701 0058 0021 movs r1, #0 3702 .LVL302: 1416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3703 .loc 1 1416 9 view .LVU1341 3704 005a 0068 ldr r0, [r0] 3705 .LVL303: 1416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3706 .loc 1 1416 9 view .LVU1342 3707 005c FFF7FEFF bl SDMMC_GetResponse 3708 .LVL304: 1416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3709 .loc 1 1416 7 view .LVU1343 3710 0060 10F0007F tst r0, #33554432 3711 0064 15D1 bne .L233 1426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3712 .loc 1 1426 5 is_stmt 1 view .LVU1344 1426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3713 .loc 1 1426 19 is_stmt 0 view .LVU1345 3714 0066 636C ldr r3, [r4, #68] 1426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3715 .loc 1 1426 7 view .LVU1346 3716 0068 012B cmp r3, #1 3717 006a 01D0 beq .L225 1428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** end_add *= 512U; 3718 .loc 1 1428 7 is_stmt 1 view .LVU1347 1428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** end_add *= 512U; 3719 .loc 1 1428 17 is_stmt 0 view .LVU1348 3720 006c 7F02 lsls r7, r7, #9 3721 .LVL305: 1429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3722 .loc 1 1429 7 is_stmt 1 view .LVU1349 1429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3723 .loc 1 1429 17 is_stmt 0 view .LVU1350 3724 006e 7602 lsls r6, r6, #9 3725 .LVL306: 3726 .L225: 1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3727 .loc 1 1433 5 is_stmt 1 view .LVU1351 1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3728 .loc 1 1433 7 is_stmt 0 view .LVU1352 3729 0070 032B cmp r3, #3 3730 0072 1ED0 beq .L226 1436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 3731 .loc 1 1436 7 is_stmt 1 view .LVU1353 1436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 3732 .loc 1 1436 20 is_stmt 0 view .LVU1354 3733 0074 3946 mov r1, r7 3734 0076 2068 ldr r0, [r4] ARM GAS /tmp/ccME1oKf.s page 145 3735 0078 FFF7FEFF bl SDMMC_CmdSDEraseStartAdd 3736 .LVL307: 1437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3737 .loc 1 1437 7 is_stmt 1 view .LVU1355 1437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3738 .loc 1 1437 9 is_stmt 0 view .LVU1356 3739 007c A0B1 cbz r0, .L227 1440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 3740 .loc 1 1440 9 is_stmt 1 view .LVU1357 3741 007e 2368 ldr r3, [r4] 3742 0080 1C49 ldr r1, .L235 3743 0082 9963 str r1, [r3, #56] 1441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 3744 .loc 1 1441 9 view .LVU1358 1441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 3745 .loc 1 1441 24 is_stmt 0 view .LVU1359 3746 0084 A36B ldr r3, [r4, #56] 3747 0086 0343 orrs r3, r3, r0 3748 0088 A363 str r3, [r4, #56] 1442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3749 .loc 1 1442 9 is_stmt 1 view .LVU1360 1442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3750 .loc 1 1442 20 is_stmt 0 view .LVU1361 3751 008a 0123 movs r3, #1 3752 008c 84F83430 strb r3, [r4, #52] 1443:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3753 .loc 1 1443 9 is_stmt 1 view .LVU1362 1443:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3754 .loc 1 1443 16 is_stmt 0 view .LVU1363 3755 0090 2DE0 b .L220 3756 .LVL308: 3757 .L233: 1419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_LOCK_UNLOCK_FAILED; 3758 .loc 1 1419 7 is_stmt 1 view .LVU1364 3759 0092 2368 ldr r3, [r4] 3760 0094 174A ldr r2, .L235 3761 0096 9A63 str r2, [r3, #56] 1420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 3762 .loc 1 1420 7 view .LVU1365 1420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 3763 .loc 1 1420 22 is_stmt 0 view .LVU1366 3764 0098 A36B ldr r3, [r4, #56] 3765 009a 43F40063 orr r3, r3, #2048 3766 009e A363 str r3, [r4, #56] 1421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3767 .loc 1 1421 7 is_stmt 1 view .LVU1367 1421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3768 .loc 1 1421 18 is_stmt 0 view .LVU1368 3769 00a0 0123 movs r3, #1 3770 00a2 84F83430 strb r3, [r4, #52] 1422:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3771 .loc 1 1422 7 is_stmt 1 view .LVU1369 1422:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3772 .loc 1 1422 14 is_stmt 0 view .LVU1370 3773 00a6 22E0 b .L220 3774 .LVL309: 3775 .L227: ARM GAS /tmp/ccME1oKf.s page 146 1447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 3776 .loc 1 1447 7 is_stmt 1 view .LVU1371 1447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 3777 .loc 1 1447 20 is_stmt 0 view .LVU1372 3778 00a8 3146 mov r1, r6 3779 00aa 2068 ldr r0, [r4] 3780 .LVL310: 1447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 3781 .loc 1 1447 20 view .LVU1373 3782 00ac FFF7FEFF bl SDMMC_CmdSDEraseEndAdd 3783 .LVL311: 1448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3784 .loc 1 1448 7 is_stmt 1 view .LVU1374 1448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3785 .loc 1 1448 9 is_stmt 0 view .LVU1375 3786 00b0 68B9 cbnz r0, .L234 3787 .LVL312: 3788 .L226: 1459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 3789 .loc 1 1459 5 is_stmt 1 view .LVU1376 1459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 3790 .loc 1 1459 18 is_stmt 0 view .LVU1377 3791 00b2 2068 ldr r0, [r4] 3792 00b4 FFF7FEFF bl SDMMC_CmdErase 3793 .LVL313: 1460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3794 .loc 1 1460 5 is_stmt 1 view .LVU1378 1460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3795 .loc 1 1460 7 is_stmt 0 view .LVU1379 3796 00b8 98B1 cbz r0, .L228 1463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 3797 .loc 1 1463 7 is_stmt 1 view .LVU1380 3798 00ba 2368 ldr r3, [r4] 3799 00bc 0D49 ldr r1, .L235 3800 00be 9963 str r1, [r3, #56] 1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 3801 .loc 1 1464 7 view .LVU1381 1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 3802 .loc 1 1464 22 is_stmt 0 view .LVU1382 3803 00c0 A36B ldr r3, [r4, #56] 3804 00c2 0343 orrs r3, r3, r0 3805 00c4 A363 str r3, [r4, #56] 1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3806 .loc 1 1465 7 is_stmt 1 view .LVU1383 1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3807 .loc 1 1465 18 is_stmt 0 view .LVU1384 3808 00c6 0123 movs r3, #1 3809 00c8 84F83430 strb r3, [r4, #52] 1466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3810 .loc 1 1466 7 is_stmt 1 view .LVU1385 1466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3811 .loc 1 1466 14 is_stmt 0 view .LVU1386 3812 00cc 0FE0 b .L220 3813 .L234: 1451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 3814 .loc 1 1451 9 is_stmt 1 view .LVU1387 3815 00ce 2368 ldr r3, [r4] ARM GAS /tmp/ccME1oKf.s page 147 3816 00d0 0849 ldr r1, .L235 3817 00d2 9963 str r1, [r3, #56] 1452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 3818 .loc 1 1452 9 view .LVU1388 1452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 3819 .loc 1 1452 24 is_stmt 0 view .LVU1389 3820 00d4 A36B ldr r3, [r4, #56] 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 .LVU1390 1453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 3824 .loc 1 1453 20 is_stmt 0 view .LVU1391 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 .LVU1392 1454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3828 .loc 1 1454 16 is_stmt 0 view .LVU1393 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 .LVU1394 1469:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3832 .loc 1 1469 16 is_stmt 0 view .LVU1395 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 .LVU1396 1471:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3836 .loc 1 1471 12 is_stmt 0 view .LVU1397 3837 00e8 0025 movs r5, #0 3838 00ea 00E0 b .L220 3839 .LVL314: 3840 .L229: 1475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3841 .loc 1 1475 12 view .LVU1398 3842 00ec 0225 movs r5, #2 3843 .LVL315: 3844 .L220: 1477:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3845 .loc 1 1477 1 view .LVU1399 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 3861 .fpu fpv5-d16 ARM GAS /tmp/ccME1oKf.s page 148 3863 HAL_SD_GetState: 3864 .LVL316: 3865 .LFB154: 1676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return hsd->State; 3866 .loc 1 1676 1 is_stmt 1 view -0 3867 .cfi_startproc 3868 @ args = 0, pretend = 0, frame = 0 3869 @ frame_needed = 0, uses_anonymous_args = 0 3870 @ link register save eliminated. 1677:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3871 .loc 1 1677 3 view .LVU1401 1677:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3872 .loc 1 1677 13 is_stmt 0 view .LVU1402 3873 0000 90F83400 ldrb r0, [r0, #52] @ zero_extendqisi2 3874 .LVL317: 1678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3875 .loc 1 1678 1 view .LVU1403 3876 0004 7047 bx lr 3877 .cfi_endproc 3878 .LFE154: 3880 .section .text.HAL_SD_GetError,"ax",%progbits 3881 .align 1 3882 .global HAL_SD_GetError 3883 .syntax unified 3884 .thumb 3885 .thumb_func 3886 .fpu fpv5-d16 3888 HAL_SD_GetError: 3889 .LVL318: 3890 .LFB155: 1687:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return hsd->ErrorCode; 3891 .loc 1 1687 1 is_stmt 1 view -0 3892 .cfi_startproc 3893 @ args = 0, pretend = 0, frame = 0 3894 @ frame_needed = 0, uses_anonymous_args = 0 3895 @ link register save eliminated. 1688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3896 .loc 1 1688 3 view .LVU1405 1688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 3897 .loc 1 1688 13 is_stmt 0 view .LVU1406 3898 0000 806B ldr r0, [r0, #56] 3899 .LVL319: 1689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3900 .loc 1 1689 1 view .LVU1407 3901 0002 7047 bx lr 3902 .cfi_endproc 3903 .LFE155: 3905 .section .text.HAL_SD_TxCpltCallback,"ax",%progbits 3906 .align 1 3907 .weak HAL_SD_TxCpltCallback 3908 .syntax unified 3909 .thumb 3910 .thumb_func 3911 .fpu fpv5-d16 3913 HAL_SD_TxCpltCallback: 3914 .LVL320: 3915 .LFB156: ARM GAS /tmp/ccME1oKf.s page 149 1697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */ 3916 .loc 1 1697 1 is_stmt 1 view -0 3917 .cfi_startproc 3918 @ args = 0, pretend = 0, frame = 0 3919 @ frame_needed = 0, uses_anonymous_args = 0 3920 @ link register save eliminated. 1699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3921 .loc 1 1699 3 view .LVU1409 1704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3922 .loc 1 1704 1 is_stmt 0 view .LVU1410 3923 0000 7047 bx lr 3924 .cfi_endproc 3925 .LFE156: 3927 .section .text.HAL_SD_RxCpltCallback,"ax",%progbits 3928 .align 1 3929 .weak HAL_SD_RxCpltCallback 3930 .syntax unified 3931 .thumb 3932 .thumb_func 3933 .fpu fpv5-d16 3935 HAL_SD_RxCpltCallback: 3936 .LVL321: 3937 .LFB157: 1712:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */ 3938 .loc 1 1712 1 is_stmt 1 view -0 3939 .cfi_startproc 3940 @ args = 0, pretend = 0, frame = 0 3941 @ frame_needed = 0, uses_anonymous_args = 0 3942 @ link register save eliminated. 1714:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3943 .loc 1 1714 3 view .LVU1412 1719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3944 .loc 1 1719 1 is_stmt 0 view .LVU1413 3945 0000 7047 bx lr 3946 .cfi_endproc 3947 .LFE157: 3949 .section .text.HAL_SD_ErrorCallback,"ax",%progbits 3950 .align 1 3951 .weak HAL_SD_ErrorCallback 3952 .syntax unified 3953 .thumb 3954 .thumb_func 3955 .fpu fpv5-d16 3957 HAL_SD_ErrorCallback: 3958 .LVL322: 3959 .LFB158: 1727:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */ 3960 .loc 1 1727 1 is_stmt 1 view -0 3961 .cfi_startproc 3962 @ args = 0, pretend = 0, frame = 0 3963 @ frame_needed = 0, uses_anonymous_args = 0 3964 @ link register save eliminated. 1729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3965 .loc 1 1729 3 view .LVU1415 1734:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3966 .loc 1 1734 1 is_stmt 0 view .LVU1416 3967 0000 7047 bx lr ARM GAS /tmp/ccME1oKf.s page 150 3968 .cfi_endproc 3969 .LFE158: 3971 .section .text.SD_DMAReceiveCplt,"ax",%progbits 3972 .align 1 3973 .syntax unified 3974 .thumb 3975 .thumb_func 3976 .fpu fpv5-d16 3978 SD_DMAReceiveCplt: 3979 .LVL323: 3980 .LFB169: 2454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 3981 .loc 1 2454 1 is_stmt 1 view -0 3982 .cfi_startproc 3983 @ args = 0, pretend = 0, frame = 0 3984 @ frame_needed = 0, uses_anonymous_args = 0 2454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 3985 .loc 1 2454 1 is_stmt 0 view .LVU1418 3986 0000 10B5 push {r4, lr} 3987 .LCFI50: 3988 .cfi_def_cfa_offset 8 3989 .cfi_offset 4, -8 3990 .cfi_offset 14, -4 2455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 3991 .loc 1 2455 3 is_stmt 1 view .LVU1419 2455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 3992 .loc 1 2455 21 is_stmt 0 view .LVU1420 3993 0002 846B ldr r4, [r0, #56] 3994 .LVL324: 2456:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 3995 .loc 1 2456 3 is_stmt 1 view .LVU1421 2459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3996 .loc 1 2459 3 view .LVU1422 2459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3997 .loc 1 2459 9 is_stmt 0 view .LVU1423 3998 0004 236B ldr r3, [r4, #48] 2459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 3999 .loc 1 2459 5 view .LVU1424 4000 0006 822B cmp r3, #130 4001 0008 11D0 beq .L245 4002 .LVL325: 4003 .L243: 2475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4004 .loc 1 2475 3 is_stmt 1 view .LVU1425 2475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4005 .loc 1 2475 6 is_stmt 0 view .LVU1426 4006 000a 2268 ldr r2, [r4] 2475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4007 .loc 1 2475 24 view .LVU1427 4008 000c D36A ldr r3, [r2, #44] 4009 000e 23F00803 bic r3, r3, #8 4010 0012 D362 str r3, [r2, #44] 2478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4011 .loc 1 2478 3 is_stmt 1 view .LVU1428 4012 0014 2368 ldr r3, [r4] 4013 0016 40F23A52 movw r2, #1338 4014 001a 9A63 str r2, [r3, #56] ARM GAS /tmp/ccME1oKf.s page 151 2480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 4015 .loc 1 2480 3 view .LVU1429 2480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 4016 .loc 1 2480 14 is_stmt 0 view .LVU1430 4017 001c 0123 movs r3, #1 4018 001e 84F83430 strb r3, [r4, #52] 2481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4019 .loc 1 2481 3 is_stmt 1 view .LVU1431 2481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4020 .loc 1 2481 16 is_stmt 0 view .LVU1432 4021 0022 0023 movs r3, #0 4022 0024 2363 str r3, [r4, #48] 2486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif 4023 .loc 1 2486 3 is_stmt 1 view .LVU1433 4024 0026 2046 mov r0, r4 4025 0028 FFF7FEFF bl HAL_SD_RxCpltCallback 4026 .LVL326: 2488:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4027 .loc 1 2488 1 is_stmt 0 view .LVU1434 4028 002c 10BD pop {r4, pc} 4029 .LVL327: 4030 .L245: 2461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 4031 .loc 1 2461 5 is_stmt 1 view .LVU1435 2461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 4032 .loc 1 2461 18 is_stmt 0 view .LVU1436 4033 002e 2068 ldr r0, [r4] 4034 .LVL328: 2461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 4035 .loc 1 2461 18 view .LVU1437 4036 0030 FFF7FEFF bl SDMMC_CmdStopTransfer 4037 .LVL329: 2462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4038 .loc 1 2462 5 is_stmt 1 view .LVU1438 2462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4039 .loc 1 2462 7 is_stmt 0 view .LVU1439 4040 0034 0346 mov r3, r0 4041 0036 0028 cmp r0, #0 4042 0038 E7D0 beq .L243 2464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) 4043 .loc 1 2464 7 is_stmt 1 view .LVU1440 2464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) 4044 .loc 1 2464 22 is_stmt 0 view .LVU1441 4045 003a A26B ldr r2, [r4, #56] 4046 003c 1343 orrs r3, r3, r2 4047 003e A363 str r3, [r4, #56] 2468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif 4048 .loc 1 2468 7 is_stmt 1 view .LVU1442 4049 0040 2046 mov r0, r4 4050 .LVL330: 2468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif 4051 .loc 1 2468 7 is_stmt 0 view .LVU1443 4052 0042 FFF7FEFF bl HAL_SD_ErrorCallback 4053 .LVL331: 4054 0046 E0E7 b .L243 4055 .cfi_endproc 4056 .LFE169: ARM GAS /tmp/ccME1oKf.s page 152 4058 .section .text.HAL_SD_AbortCallback,"ax",%progbits 4059 .align 1 4060 .weak HAL_SD_AbortCallback 4061 .syntax unified 4062 .thumb 4063 .thumb_func 4064 .fpu fpv5-d16 4066 HAL_SD_AbortCallback: 4067 .LVL332: 4068 .LFB159: 1742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */ 4069 .loc 1 1742 1 is_stmt 1 view -0 4070 .cfi_startproc 4071 @ args = 0, pretend = 0, frame = 0 4072 @ frame_needed = 0, uses_anonymous_args = 0 4073 @ link register save eliminated. 1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4074 .loc 1 1744 3 view .LVU1445 1749:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4075 .loc 1 1749 1 is_stmt 0 view .LVU1446 4076 0000 7047 bx lr 4077 .cfi_endproc 4078 .LFE159: 4080 .section .text.HAL_SD_GetCardCID,"ax",%progbits 4081 .align 1 4082 .global HAL_SD_GetCardCID 4083 .syntax unified 4084 .thumb 4085 .thumb_func 4086 .fpu fpv5-d16 4088 HAL_SD_GetCardCID: 4089 .LVL333: 4090 .LFB160: 1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCID->ManufacturerID = (uint8_t)((hsd->CID[0] & 0xFF000000U) >> 24U); 4091 .loc 1 1953 1 is_stmt 1 view -0 4092 .cfi_startproc 4093 @ args = 0, pretend = 0, frame = 0 4094 @ frame_needed = 0, uses_anonymous_args = 0 4095 @ link register save eliminated. 1954:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4096 .loc 1 1954 3 view .LVU1448 1954:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4097 .loc 1 1954 26 is_stmt 0 view .LVU1449 4098 0000 90F87730 ldrb r3, [r0, #119] @ zero_extendqisi2 1954:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4099 .loc 1 1954 24 view .LVU1450 4100 0004 0B70 strb r3, [r1] 1956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4101 .loc 1 1956 3 is_stmt 1 view .LVU1451 1956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4102 .loc 1 1956 43 is_stmt 0 view .LVU1452 4103 0006 436F ldr r3, [r0, #116] 1956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4104 .loc 1 1956 23 view .LVU1453 4105 0008 C3F30F23 ubfx r3, r3, #8, #16 1956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4106 .loc 1 1956 21 view .LVU1454 ARM GAS /tmp/ccME1oKf.s page 153 4107 000c 4B80 strh r3, [r1, #2] @ movhi 1958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4108 .loc 1 1958 3 is_stmt 1 view .LVU1455 1958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4109 .loc 1 1958 32 is_stmt 0 view .LVU1456 4110 000e 426F ldr r2, [r0, #116] 1958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4111 .loc 1 1958 71 view .LVU1457 4112 0010 836F ldr r3, [r0, #120] 1958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4113 .loc 1 1958 90 view .LVU1458 4114 0012 1B0A lsrs r3, r3, #8 1958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4115 .loc 1 1958 59 view .LVU1459 4116 0014 43EA0263 orr r3, r3, r2, lsl #24 1958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4117 .loc 1 1958 19 view .LVU1460 4118 0018 4B60 str r3, [r1, #4] 1960:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4119 .loc 1 1960 3 is_stmt 1 view .LVU1461 1960:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4120 .loc 1 1960 21 is_stmt 0 view .LVU1462 4121 001a 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2 1960:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4122 .loc 1 1960 19 view .LVU1463 4123 001e 0B72 strb r3, [r1, #8] 1962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4124 .loc 1 1962 3 is_stmt 1 view .LVU1464 1962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4125 .loc 1 1962 19 is_stmt 0 view .LVU1465 4126 0020 90F87F30 ldrb r3, [r0, #127] @ zero_extendqisi2 1962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4127 .loc 1 1962 17 view .LVU1466 4128 0024 4B72 strb r3, [r1, #9] 1964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4129 .loc 1 1964 3 is_stmt 1 view .LVU1467 1964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4130 .loc 1 1964 29 is_stmt 0 view .LVU1468 4131 0026 C26F ldr r2, [r0, #124] 1964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4132 .loc 1 1964 86 view .LVU1469 4133 0028 90F88330 ldrb r3, [r0, #131] @ zero_extendqisi2 1964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4134 .loc 1 1964 55 view .LVU1470 4135 002c 43EA0223 orr r3, r3, r2, lsl #8 1964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4136 .loc 1 1964 16 view .LVU1471 4137 0030 CB60 str r3, [r1, #12] 1966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4138 .loc 1 1966 3 is_stmt 1 view .LVU1472 1966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4139 .loc 1 1966 40 is_stmt 0 view .LVU1473 4140 0032 D0F88030 ldr r3, [r0, #128] 1966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4141 .loc 1 1966 21 view .LVU1474 4142 0036 C3F30353 ubfx r3, r3, #20, #4 1966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ARM GAS /tmp/ccME1oKf.s page 154 4143 .loc 1 1966 19 view .LVU1475 4144 003a 0B74 strb r3, [r1, #16] 1968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4145 .loc 1 1968 3 is_stmt 1 view .LVU1476 1968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4146 .loc 1 1968 44 is_stmt 0 view .LVU1477 4147 003c D0F88030 ldr r3, [r0, #128] 1968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4148 .loc 1 1968 24 view .LVU1478 4149 0040 C3F30B23 ubfx r3, r3, #8, #12 1968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4150 .loc 1 1968 22 view .LVU1479 4151 0044 4B82 strh r3, [r1, #18] @ movhi 1970:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4152 .loc 1 1970 3 is_stmt 1 view .LVU1480 1970:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4153 .loc 1 1970 38 is_stmt 0 view .LVU1481 4154 0046 D0F88030 ldr r3, [r0, #128] 1970:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4155 .loc 1 1970 19 view .LVU1482 4156 004a C3F34603 ubfx r3, r3, #1, #7 1970:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4157 .loc 1 1970 17 view .LVU1483 4158 004e 0B75 strb r3, [r1, #20] 1972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4159 .loc 1 1972 3 is_stmt 1 view .LVU1484 1972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4160 .loc 1 1972 19 is_stmt 0 view .LVU1485 4161 0050 0123 movs r3, #1 4162 0052 4B75 strb r3, [r1, #21] 1974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4163 .loc 1 1974 3 is_stmt 1 view .LVU1486 1975:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4164 .loc 1 1975 1 is_stmt 0 view .LVU1487 4165 0054 0020 movs r0, #0 4166 .LVL334: 1975:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4167 .loc 1 1975 1 view .LVU1488 4168 0056 7047 bx lr 4169 .cfi_endproc 4170 .LFE160: 4172 .section .text.HAL_SD_GetCardCSD,"ax",%progbits 4173 .align 1 4174 .global HAL_SD_GetCardCSD 4175 .syntax unified 4176 .thumb 4177 .thumb_func 4178 .fpu fpv5-d16 4180 HAL_SD_GetCardCSD: 4181 .LVL335: 4182 .LFB161: 1986:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCSD->CSDStruct = (uint8_t)((hsd->CSD[0] & 0xC0000000U) >> 30U); 4183 .loc 1 1986 1 is_stmt 1 view -0 4184 .cfi_startproc 4185 @ args = 0, pretend = 0, frame = 0 4186 @ frame_needed = 0, uses_anonymous_args = 0 4187 @ link register save eliminated. ARM GAS /tmp/ccME1oKf.s page 155 1987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4188 .loc 1 1987 3 view .LVU1490 1987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4189 .loc 1 1987 40 is_stmt 0 view .LVU1491 4190 0000 436E ldr r3, [r0, #100] 1987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4191 .loc 1 1987 21 view .LVU1492 4192 0002 9B0F lsrs r3, r3, #30 1987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4193 .loc 1 1987 19 view .LVU1493 4194 0004 0B70 strb r3, [r1] 1989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4195 .loc 1 1989 3 is_stmt 1 view .LVU1494 1989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4196 .loc 1 1989 45 is_stmt 0 view .LVU1495 4197 0006 436E ldr r3, [r0, #100] 1989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4198 .loc 1 1989 26 view .LVU1496 4199 0008 C3F38363 ubfx r3, r3, #26, #4 1989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4200 .loc 1 1989 24 view .LVU1497 4201 000c 4B70 strb r3, [r1, #1] 1991:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4202 .loc 1 1991 3 is_stmt 1 view .LVU1498 1991:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4203 .loc 1 1991 59 is_stmt 0 view .LVU1499 4204 000e 90F86730 ldrb r3, [r0, #103] @ zero_extendqisi2 1991:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4205 .loc 1 1991 21 view .LVU1500 4206 0012 03F00303 and r3, r3, #3 1991:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4207 .loc 1 1991 19 view .LVU1501 4208 0016 8B70 strb r3, [r1, #2] 1993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4209 .loc 1 1993 3 is_stmt 1 view .LVU1502 1993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4210 .loc 1 1993 16 is_stmt 0 view .LVU1503 4211 0018 90F86630 ldrb r3, [r0, #102] @ zero_extendqisi2 1993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4212 .loc 1 1993 14 view .LVU1504 4213 001c CB70 strb r3, [r1, #3] 1995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4214 .loc 1 1995 3 is_stmt 1 view .LVU1505 1995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4215 .loc 1 1995 16 is_stmt 0 view .LVU1506 4216 001e 90F86530 ldrb r3, [r0, #101] @ zero_extendqisi2 1995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4217 .loc 1 1995 14 view .LVU1507 4218 0022 0B71 strb r3, [r1, #4] 1997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4219 .loc 1 1997 3 is_stmt 1 view .LVU1508 1997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4220 .loc 1 1997 25 is_stmt 0 view .LVU1509 4221 0024 90F86430 ldrb r3, [r0, #100] @ zero_extendqisi2 1997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4222 .loc 1 1997 23 view .LVU1510 4223 0028 4B71 strb r3, [r1, #5] ARM GAS /tmp/ccME1oKf.s page 156 1999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4224 .loc 1 1999 3 is_stmt 1 view .LVU1511 1999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4225 .loc 1 1999 47 is_stmt 0 view .LVU1512 4226 002a 836E ldr r3, [r0, #104] 1999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4227 .loc 1 1999 27 view .LVU1513 4228 002c 1B0D lsrs r3, r3, #20 1999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4229 .loc 1 1999 25 view .LVU1514 4230 002e CB80 strh r3, [r1, #6] @ movhi 2001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4231 .loc 1 2001 3 is_stmt 1 view .LVU1515 2001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4232 .loc 1 2001 60 is_stmt 0 view .LVU1516 4233 0030 B0F86A30 ldrh r3, [r0, #106] 2001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4234 .loc 1 2001 22 view .LVU1517 4235 0034 03F00F03 and r3, r3, #15 2001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4236 .loc 1 2001 20 view .LVU1518 4237 0038 0B72 strb r3, [r1, #8] 2003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4238 .loc 1 2003 3 is_stmt 1 view .LVU1519 2003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4239 .loc 1 2003 46 is_stmt 0 view .LVU1520 4240 003a 836E ldr r3, [r0, #104] 2003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4241 .loc 1 2003 27 view .LVU1521 4242 003c C3F3C033 ubfx r3, r3, #15, #1 2003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4243 .loc 1 2003 25 view .LVU1522 4244 0040 4B72 strb r3, [r1, #9] 2005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4245 .loc 1 2005 3 is_stmt 1 view .LVU1523 2005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4246 .loc 1 2005 46 is_stmt 0 view .LVU1524 4247 0042 836E ldr r3, [r0, #104] 2005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4248 .loc 1 2005 27 view .LVU1525 4249 0044 C3F38033 ubfx r3, r3, #14, #1 2005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4250 .loc 1 2005 25 view .LVU1526 4251 0048 8B72 strb r3, [r1, #10] 2007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4252 .loc 1 2007 3 is_stmt 1 view .LVU1527 2007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4253 .loc 1 2007 46 is_stmt 0 view .LVU1528 4254 004a 836E ldr r3, [r0, #104] 2007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4255 .loc 1 2007 27 view .LVU1529 4256 004c C3F34033 ubfx r3, r3, #13, #1 2007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4257 .loc 1 2007 25 view .LVU1530 4258 0050 CB72 strb r3, [r1, #11] 2009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4259 .loc 1 2009 3 is_stmt 1 view .LVU1531 ARM GAS /tmp/ccME1oKf.s page 157 2009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4260 .loc 1 2009 38 is_stmt 0 view .LVU1532 4261 0052 836E ldr r3, [r0, #104] 2009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4262 .loc 1 2009 19 view .LVU1533 4263 0054 C3F30033 ubfx r3, r3, #12, #1 2009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4264 .loc 1 2009 17 view .LVU1534 4265 0058 0B73 strb r3, [r1, #12] 2011:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4266 .loc 1 2011 3 is_stmt 1 view .LVU1535 2011:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4267 .loc 1 2011 19 is_stmt 0 view .LVU1536 4268 005a 0023 movs r3, #0 4269 005c 4B73 strb r3, [r1, #13] 2013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4270 .loc 1 2013 3 is_stmt 1 view .LVU1537 2013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4271 .loc 1 2013 17 is_stmt 0 view .LVU1538 4272 005e 436C ldr r3, [r0, #68] 2013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4273 .loc 1 2013 5 view .LVU1539 4274 0060 002B cmp r3, #0 4275 0062 40F08680 bne .L249 2015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4276 .loc 1 2015 5 is_stmt 1 view .LVU1540 2015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4277 .loc 1 2015 35 is_stmt 0 view .LVU1541 4278 0066 826E ldr r2, [r0, #104] 2015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4279 .loc 1 2015 54 view .LVU1542 4280 0068 40F6FC73 movw r3, #4092 4281 006c 03EA8203 and r3, r3, r2, lsl #2 2015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4282 .loc 1 2015 73 view .LVU1543 4283 0070 C26E ldr r2, [r0, #108] 2015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4284 .loc 1 2015 61 view .LVU1544 4285 0072 43EA9273 orr r3, r3, r2, lsr #30 2015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4286 .loc 1 2015 22 view .LVU1545 4287 0076 0B61 str r3, [r1, #16] 2017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4288 .loc 1 2017 5 is_stmt 1 view .LVU1546 2017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4289 .loc 1 2017 51 is_stmt 0 view .LVU1547 4290 0078 C36E ldr r3, [r0, #108] 2017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4291 .loc 1 2017 32 view .LVU1548 4292 007a C3F3C263 ubfx r3, r3, #27, #3 2017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4293 .loc 1 2017 30 view .LVU1549 4294 007e 0B75 strb r3, [r1, #20] 2019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4295 .loc 1 2019 5 is_stmt 1 view .LVU1550 2019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4296 .loc 1 2019 70 is_stmt 0 view .LVU1551 ARM GAS /tmp/ccME1oKf.s page 158 4297 0080 90F86F30 ldrb r3, [r0, #111] @ zero_extendqisi2 2019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4298 .loc 1 2019 32 view .LVU1552 4299 0084 03F00703 and r3, r3, #7 2019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4300 .loc 1 2019 30 view .LVU1553 4301 0088 4B75 strb r3, [r1, #21] 2021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4302 .loc 1 2021 5 is_stmt 1 view .LVU1554 2021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4303 .loc 1 2021 51 is_stmt 0 view .LVU1555 4304 008a C36E ldr r3, [r0, #108] 2021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4305 .loc 1 2021 32 view .LVU1556 4306 008c C3F34253 ubfx r3, r3, #21, #3 2021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4307 .loc 1 2021 30 view .LVU1557 4308 0090 8B75 strb r3, [r1, #22] 2023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4309 .loc 1 2023 5 is_stmt 1 view .LVU1558 2023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4310 .loc 1 2023 51 is_stmt 0 view .LVU1559 4311 0092 C36E ldr r3, [r0, #108] 2023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4312 .loc 1 2023 32 view .LVU1560 4313 0094 C3F38243 ubfx r3, r3, #18, #3 2023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4314 .loc 1 2023 30 view .LVU1561 4315 0098 CB75 strb r3, [r1, #23] 2025:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4316 .loc 1 2025 5 is_stmt 1 view .LVU1562 2025:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4317 .loc 1 2025 46 is_stmt 0 view .LVU1563 4318 009a C36E ldr r3, [r0, #108] 2025:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4319 .loc 1 2025 27 view .LVU1564 4320 009c C3F3C233 ubfx r3, r3, #15, #3 2025:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4321 .loc 1 2025 25 view .LVU1565 4322 00a0 0B76 strb r3, [r1, #24] 2027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockNbr *= (1UL << ((pCSD->DeviceSizeMul & 0x07U) + 2U)); 4323 .loc 1 2027 5 is_stmt 1 view .LVU1566 2027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockNbr *= (1UL << ((pCSD->DeviceSizeMul & 0x07U) + 2U)); 4324 .loc 1 2027 34 is_stmt 0 view .LVU1567 4325 00a2 0B69 ldr r3, [r1, #16] 2027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockNbr *= (1UL << ((pCSD->DeviceSizeMul & 0x07U) + 2U)); 4326 .loc 1 2027 47 view .LVU1568 4327 00a4 0133 adds r3, r3, #1 2027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockNbr *= (1UL << ((pCSD->DeviceSizeMul & 0x07U) + 2U)); 4328 .loc 1 2027 27 view .LVU1569 4329 00a6 4365 str r3, [r0, #84] 2028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockSize = (1UL << (pCSD->RdBlockLen & 0x0FU)); 4330 .loc 1 2028 5 is_stmt 1 view .LVU1570 2028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockSize = (1UL << (pCSD->RdBlockLen & 0x0FU)); 4331 .loc 1 2028 43 is_stmt 0 view .LVU1571 4332 00a8 0A7E ldrb r2, [r1, #24] @ zero_extendqisi2 2028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockSize = (1UL << (pCSD->RdBlockLen & 0x0FU)); ARM GAS /tmp/ccME1oKf.s page 159 4333 .loc 1 2028 59 view .LVU1572 4334 00aa 02F00702 and r2, r2, #7 2028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockSize = (1UL << (pCSD->RdBlockLen & 0x0FU)); 4335 .loc 1 2028 68 view .LVU1573 4336 00ae 0232 adds r2, r2, #2 2028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockSize = (1UL << (pCSD->RdBlockLen & 0x0FU)); 4337 .loc 1 2028 26 view .LVU1574 4338 00b0 9340 lsls r3, r3, r2 4339 00b2 4365 str r3, [r0, #84] 2029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4340 .loc 1 2029 5 is_stmt 1 view .LVU1575 2029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4341 .loc 1 2029 42 is_stmt 0 view .LVU1576 4342 00b4 0A7A ldrb r2, [r1, #8] @ zero_extendqisi2 2029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4343 .loc 1 2029 55 view .LVU1577 4344 00b6 02F00F0C and ip, r2, #15 2029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4345 .loc 1 2029 34 view .LVU1578 4346 00ba 0122 movs r2, #1 4347 00bc 02FA0CF2 lsl r2, r2, ip 2029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4348 .loc 1 2029 27 view .LVU1579 4349 00c0 8265 str r2, [r0, #88] 2031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockSize = 512U; 4350 .loc 1 2031 5 is_stmt 1 view .LVU1580 2031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockSize = 512U; 4351 .loc 1 2031 82 is_stmt 0 view .LVU1581 4352 00c2 520A lsrs r2, r2, #9 2031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockSize = 512U; 4353 .loc 1 2031 55 view .LVU1582 4354 00c4 02FB03F3 mul r3, r2, r3 2031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockSize = 512U; 4355 .loc 1 2031 29 view .LVU1583 4356 00c8 C365 str r3, [r0, #92] 2032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4357 .loc 1 2032 5 is_stmt 1 view .LVU1584 2032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4358 .loc 1 2032 30 is_stmt 0 view .LVU1585 4359 00ca 4FF40073 mov r3, #512 4360 00ce 0366 str r3, [r0, #96] 4361 .L250: 2053:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4362 .loc 1 2053 3 is_stmt 1 view .LVU1586 2053:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4363 .loc 1 2053 42 is_stmt 0 view .LVU1587 4364 00d0 C36E ldr r3, [r0, #108] 2053:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4365 .loc 1 2053 23 view .LVU1588 4366 00d2 C3F38033 ubfx r3, r3, #14, #1 2053:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4367 .loc 1 2053 21 view .LVU1589 4368 00d6 4B76 strb r3, [r1, #25] 2055:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4369 .loc 1 2055 3 is_stmt 1 view .LVU1590 2055:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4370 .loc 1 2055 41 is_stmt 0 view .LVU1591 ARM GAS /tmp/ccME1oKf.s page 160 4371 00d8 C36E ldr r3, [r0, #108] 2055:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4372 .loc 1 2055 22 view .LVU1592 4373 00da C3F3C613 ubfx r3, r3, #7, #7 2055:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4374 .loc 1 2055 20 view .LVU1593 4375 00de 8B76 strb r3, [r1, #26] 2057:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4376 .loc 1 2057 3 is_stmt 1 view .LVU1594 2057:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4377 .loc 1 2057 45 is_stmt 0 view .LVU1595 4378 00e0 C36E ldr r3, [r0, #108] 2057:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4379 .loc 1 2057 27 view .LVU1596 4380 00e2 03F07F03 and r3, r3, #127 2057:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4381 .loc 1 2057 25 view .LVU1597 4382 00e6 CB76 strb r3, [r1, #27] 2059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4383 .loc 1 2059 3 is_stmt 1 view .LVU1598 2059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4384 .loc 1 2059 48 is_stmt 0 view .LVU1599 4385 00e8 036F ldr r3, [r0, #112] 2059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4386 .loc 1 2059 29 view .LVU1600 4387 00ea DB0F lsrs r3, r3, #31 2059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4388 .loc 1 2059 27 view .LVU1601 4389 00ec 0B77 strb r3, [r1, #28] 2061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4390 .loc 1 2061 3 is_stmt 1 view .LVU1602 2061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4391 .loc 1 2061 41 is_stmt 0 view .LVU1603 4392 00ee 036F ldr r3, [r0, #112] 2061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4393 .loc 1 2061 22 view .LVU1604 4394 00f0 C3F34173 ubfx r3, r3, #29, #2 2061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4395 .loc 1 2061 20 view .LVU1605 4396 00f4 4B77 strb r3, [r1, #29] 2063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4397 .loc 1 2063 3 is_stmt 1 view .LVU1606 2063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4398 .loc 1 2063 42 is_stmt 0 view .LVU1607 4399 00f6 036F ldr r3, [r0, #112] 2063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4400 .loc 1 2063 23 view .LVU1608 4401 00f8 C3F38263 ubfx r3, r3, #26, #3 2063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4402 .loc 1 2063 21 view .LVU1609 4403 00fc 8B77 strb r3, [r1, #30] 2065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4404 .loc 1 2065 3 is_stmt 1 view .LVU1610 2065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4405 .loc 1 2065 43 is_stmt 0 view .LVU1611 4406 00fe 036F ldr r3, [r0, #112] 2065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ARM GAS /tmp/ccME1oKf.s page 161 4407 .loc 1 2065 24 view .LVU1612 4408 0100 C3F38353 ubfx r3, r3, #22, #4 2065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4409 .loc 1 2065 22 view .LVU1613 4410 0104 CB77 strb r3, [r1, #31] 2067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4411 .loc 1 2067 3 is_stmt 1 view .LVU1614 2067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4412 .loc 1 2067 50 is_stmt 0 view .LVU1615 4413 0106 036F ldr r3, [r0, #112] 2067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4414 .loc 1 2067 31 view .LVU1616 4415 0108 C3F34053 ubfx r3, r3, #21, #1 2067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4416 .loc 1 2067 29 view .LVU1617 4417 010c 81F82030 strb r3, [r1, #32] 2069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4418 .loc 1 2069 3 is_stmt 1 view .LVU1618 2069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4419 .loc 1 2069 19 is_stmt 0 view .LVU1619 4420 0110 0023 movs r3, #0 4421 0112 81F82130 strb r3, [r1, #33] 2071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4422 .loc 1 2071 3 is_stmt 1 view .LVU1620 2071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4423 .loc 1 2071 69 is_stmt 0 view .LVU1621 4424 0116 B0F87220 ldrh r2, [r0, #114] 2071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4425 .loc 1 2071 31 view .LVU1622 4426 011a 02F00102 and r2, r2, #1 2071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4427 .loc 1 2071 29 view .LVU1623 4428 011e 81F82220 strb r2, [r1, #34] 2073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4429 .loc 1 2073 3 is_stmt 1 view .LVU1624 2073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4430 .loc 1 2073 46 is_stmt 0 view .LVU1625 4431 0122 026F ldr r2, [r0, #112] 2073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4432 .loc 1 2073 27 view .LVU1626 4433 0124 C2F3C032 ubfx r2, r2, #15, #1 2073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4434 .loc 1 2073 25 view .LVU1627 4435 0128 81F82320 strb r2, [r1, #35] 2075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4436 .loc 1 2075 3 is_stmt 1 view .LVU1628 2075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4437 .loc 1 2075 39 is_stmt 0 view .LVU1629 4438 012c 026F ldr r2, [r0, #112] 2075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4439 .loc 1 2075 20 view .LVU1630 4440 012e C2F38032 ubfx r2, r2, #14, #1 2075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4441 .loc 1 2075 18 view .LVU1631 4442 0132 81F82420 strb r2, [r1, #36] 2077:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4443 .loc 1 2077 3 is_stmt 1 view .LVU1632 ARM GAS /tmp/ccME1oKf.s page 162 2077:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4444 .loc 1 2077 44 is_stmt 0 view .LVU1633 4445 0136 026F ldr r2, [r0, #112] 2077:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4446 .loc 1 2077 25 view .LVU1634 4447 0138 C2F34032 ubfx r2, r2, #13, #1 2077:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4448 .loc 1 2077 23 view .LVU1635 4449 013c 81F82520 strb r2, [r1, #37] 2079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4450 .loc 1 2079 3 is_stmt 1 view .LVU1636 2079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4451 .loc 1 2079 44 is_stmt 0 view .LVU1637 4452 0140 026F ldr r2, [r0, #112] 2079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4453 .loc 1 2079 25 view .LVU1638 4454 0142 C2F30032 ubfx r2, r2, #12, #1 2079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4455 .loc 1 2079 23 view .LVU1639 4456 0146 81F82620 strb r2, [r1, #38] 2081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4457 .loc 1 2081 3 is_stmt 1 view .LVU1640 2081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4458 .loc 1 2081 41 is_stmt 0 view .LVU1641 4459 014a 026F ldr r2, [r0, #112] 2081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4460 .loc 1 2081 22 view .LVU1642 4461 014c C2F38122 ubfx r2, r2, #10, #2 2081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4462 .loc 1 2081 20 view .LVU1643 4463 0150 81F82720 strb r2, [r1, #39] 2083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4464 .loc 1 2083 3 is_stmt 1 view .LVU1644 2083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4465 .loc 1 2083 33 is_stmt 0 view .LVU1645 4466 0154 026F ldr r2, [r0, #112] 2083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4467 .loc 1 2083 14 view .LVU1646 4468 0156 C2F30122 ubfx r2, r2, #8, #2 2083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4469 .loc 1 2083 12 view .LVU1647 4470 015a 81F82820 strb r2, [r1, #40] 2085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4471 .loc 1 2085 3 is_stmt 1 view .LVU1648 2085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4472 .loc 1 2085 38 is_stmt 0 view .LVU1649 4473 015e 026F ldr r2, [r0, #112] 2085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4474 .loc 1 2085 19 view .LVU1650 4475 0160 C2F34602 ubfx r2, r2, #1, #7 2085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4476 .loc 1 2085 17 view .LVU1651 4477 0164 81F82920 strb r2, [r1, #41] 2087:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4478 .loc 1 2087 3 is_stmt 1 view .LVU1652 2087:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4479 .loc 1 2087 19 is_stmt 0 view .LVU1653 ARM GAS /tmp/ccME1oKf.s page 163 4480 0168 0122 movs r2, #1 4481 016a 81F82A20 strb r2, [r1, #42] 2089:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4482 .loc 1 2089 3 is_stmt 1 view .LVU1654 2089:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4483 .loc 1 2089 10 is_stmt 0 view .LVU1655 4484 016e 1846 mov r0, r3 4485 .LVL336: 2090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4486 .loc 1 2090 1 view .LVU1656 4487 0170 7047 bx lr 4488 .LVL337: 4489 .L249: 2034:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4490 .loc 1 2034 8 is_stmt 1 view .LVU1657 2034:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4491 .loc 1 2034 10 is_stmt 0 view .LVU1658 4492 0172 012B cmp r3, #1 4493 0174 11D1 bne .L251 2037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4494 .loc 1 2037 5 is_stmt 1 view .LVU1659 2037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4495 .loc 1 2037 35 is_stmt 0 view .LVU1660 4496 0176 836E ldr r3, [r0, #104] 2037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4497 .loc 1 2037 54 view .LVU1661 4498 0178 1B04 lsls r3, r3, #16 4499 017a 03F47C13 and r3, r3, #4128768 2037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4500 .loc 1 2037 93 view .LVU1662 4501 017e B0F86E20 ldrh r2, [r0, #110] 2037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4502 .loc 1 2037 62 view .LVU1663 4503 0182 1343 orrs r3, r3, r2 2037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4504 .loc 1 2037 22 view .LVU1664 4505 0184 0B61 str r3, [r1, #16] 2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockNbr = hsd->SdCard.BlockNbr; 4506 .loc 1 2039 5 is_stmt 1 view .LVU1665 2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockNbr = hsd->SdCard.BlockNbr; 4507 .loc 1 2039 34 is_stmt 0 view .LVU1666 4508 0186 0B69 ldr r3, [r1, #16] 2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockNbr = hsd->SdCard.BlockNbr; 4509 .loc 1 2039 47 view .LVU1667 4510 0188 0133 adds r3, r3, #1 2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockNbr = hsd->SdCard.BlockNbr; 4511 .loc 1 2039 53 view .LVU1668 4512 018a 9B02 lsls r3, r3, #10 2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockNbr = hsd->SdCard.BlockNbr; 4513 .loc 1 2039 26 view .LVU1669 4514 018c 4365 str r3, [r0, #84] 2040:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockSize = 512U; 4515 .loc 1 2040 5 is_stmt 1 view .LVU1670 2040:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.BlockSize = 512U; 4516 .loc 1 2040 29 is_stmt 0 view .LVU1671 4517 018e C365 str r3, [r0, #92] 2041:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockSize = hsd->SdCard.BlockSize; ARM GAS /tmp/ccME1oKf.s page 164 4518 .loc 1 2041 5 is_stmt 1 view .LVU1672 2041:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->SdCard.LogBlockSize = hsd->SdCard.BlockSize; 4519 .loc 1 2041 27 is_stmt 0 view .LVU1673 4520 0190 4FF40073 mov r3, #512 4521 0194 8365 str r3, [r0, #88] 2042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4522 .loc 1 2042 5 is_stmt 1 view .LVU1674 2042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4523 .loc 1 2042 30 is_stmt 0 view .LVU1675 4524 0196 0366 str r3, [r0, #96] 4525 0198 9AE7 b .L250 4526 .L251: 2047:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE; 4527 .loc 1 2047 5 is_stmt 1 view .LVU1676 4528 019a 0368 ldr r3, [r0] 4529 019c 054A ldr r2, .L253 4530 019e 9A63 str r2, [r3, #56] 2048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 4531 .loc 1 2048 5 view .LVU1677 2048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 4532 .loc 1 2048 20 is_stmt 0 view .LVU1678 4533 01a0 836B ldr r3, [r0, #56] 4534 01a2 43F08053 orr r3, r3, #268435456 4535 01a6 8363 str r3, [r0, #56] 2049:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 4536 .loc 1 2049 5 is_stmt 1 view .LVU1679 2049:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 4537 .loc 1 2049 16 is_stmt 0 view .LVU1680 4538 01a8 0123 movs r3, #1 4539 01aa 80F83430 strb r3, [r0, #52] 2050:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4540 .loc 1 2050 5 is_stmt 1 view .LVU1681 2050:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4541 .loc 1 2050 12 is_stmt 0 view .LVU1682 4542 01ae 1846 mov r0, r3 4543 .LVL338: 2050:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4544 .loc 1 2050 12 view .LVU1683 4545 01b0 7047 bx lr 4546 .L254: 4547 01b2 00BF .align 2 4548 .L253: 4549 01b4 FF054000 .word 4195839 4550 .cfi_endproc 4551 .LFE161: 4553 .section .text.SD_InitCard,"ax",%progbits 4554 .align 1 4555 .syntax unified 4556 .thumb 4557 .thumb_func 4558 .fpu fpv5-d16 4560 SD_InitCard: 4561 .LVL339: 4562 .LFB173: 2618:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardCSDTypeDef CSD; 4563 .loc 1 2618 1 is_stmt 1 view -0 4564 .cfi_startproc ARM GAS /tmp/ccME1oKf.s page 165 4565 @ args = 0, pretend = 0, frame = 48 4566 @ frame_needed = 0, uses_anonymous_args = 0 2618:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardCSDTypeDef CSD; 4567 .loc 1 2618 1 is_stmt 0 view .LVU1685 4568 0000 70B5 push {r4, r5, r6, lr} 4569 .LCFI51: 4570 .cfi_def_cfa_offset 16 4571 .cfi_offset 4, -16 4572 .cfi_offset 5, -12 4573 .cfi_offset 6, -8 4574 .cfi_offset 14, -4 4575 0002 90B0 sub sp, sp, #64 4576 .LCFI52: 4577 .cfi_def_cfa_offset 80 4578 0004 0446 mov r4, r0 2619:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 4579 .loc 1 2619 3 is_stmt 1 view .LVU1686 2620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint16_t sd_rca = 1U; 4580 .loc 1 2620 3 view .LVU1687 2621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4581 .loc 1 2621 3 view .LVU1688 2621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4582 .loc 1 2621 12 is_stmt 0 view .LVU1689 4583 0006 0123 movs r3, #1 4584 0008 ADF81230 strh r3, [sp, #18] @ movhi 2624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4585 .loc 1 2624 3 is_stmt 1 view .LVU1690 2624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4586 .loc 1 2624 6 is_stmt 0 view .LVU1691 4587 000c 0068 ldr r0, [r0] 4588 .LVL340: 2624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4589 .loc 1 2624 6 view .LVU1692 4590 000e FFF7FEFF bl SDMMC_GetPowerState 4591 .LVL341: 2624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4592 .loc 1 2624 5 view .LVU1693 4593 0012 0028 cmp r0, #0 4594 0014 6CD0 beq .L260 2630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4595 .loc 1 2630 3 is_stmt 1 view .LVU1694 2630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4596 .loc 1 2630 17 is_stmt 0 view .LVU1695 4597 0016 636C ldr r3, [r4, #68] 2630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4598 .loc 1 2630 5 view .LVU1696 4599 0018 032B cmp r3, #3 4600 001a 45D1 bne .L263 4601 .L257: 2648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4602 .loc 1 2648 3 is_stmt 1 view .LVU1697 2648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4603 .loc 1 2648 17 is_stmt 0 view .LVU1698 4604 001c 636C ldr r3, [r4, #68] 2648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4605 .loc 1 2648 5 view .LVU1699 4606 001e 032B cmp r3, #3 ARM GAS /tmp/ccME1oKf.s page 166 4607 0020 5DD1 bne .L264 4608 .L258: 2658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4609 .loc 1 2658 3 is_stmt 1 view .LVU1700 2658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4610 .loc 1 2658 17 is_stmt 0 view .LVU1701 4611 0022 636C ldr r3, [r4, #68] 2658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4612 .loc 1 2658 5 view .LVU1702 4613 0024 032B cmp r3, #3 4614 0026 1DD0 beq .L259 2661:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4615 .loc 1 2661 5 is_stmt 1 view .LVU1703 2661:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4616 .loc 1 2661 28 is_stmt 0 view .LVU1704 4617 0028 BDF81210 ldrh r1, [sp, #18] 4618 002c 2165 str r1, [r4, #80] 2664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 4619 .loc 1 2664 5 is_stmt 1 view .LVU1705 2664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 4620 .loc 1 2664 18 is_stmt 0 view .LVU1706 4621 002e 0904 lsls r1, r1, #16 4622 0030 2068 ldr r0, [r4] 4623 0032 FFF7FEFF bl SDMMC_CmdSendCSD 4624 .LVL342: 2665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4625 .loc 1 2665 5 is_stmt 1 view .LVU1707 2665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4626 .loc 1 2665 7 is_stmt 0 view .LVU1708 4627 0036 0546 mov r5, r0 4628 0038 0028 cmp r0, #0 4629 003a 5BD1 bne .L255 2672:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2); 4630 .loc 1 2672 7 is_stmt 1 view .LVU1709 2672:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2); 4631 .loc 1 2672 22 is_stmt 0 view .LVU1710 4632 003c 0021 movs r1, #0 4633 003e 2068 ldr r0, [r4] 4634 .LVL343: 2672:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2); 4635 .loc 1 2672 22 view .LVU1711 4636 0040 FFF7FEFF bl SDMMC_GetResponse 4637 .LVL344: 2672:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2); 4638 .loc 1 2672 20 view .LVU1712 4639 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); 4640 .loc 1 2673 7 is_stmt 1 view .LVU1713 2673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[2U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3); 4641 .loc 1 2673 22 is_stmt 0 view .LVU1714 4642 0046 0421 movs r1, #4 4643 0048 2068 ldr r0, [r4] 4644 004a FFF7FEFF bl SDMMC_GetResponse 4645 .LVL345: 2673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[2U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3); 4646 .loc 1 2673 20 view .LVU1715 4647 004e A066 str r0, [r4, #104] ARM GAS /tmp/ccME1oKf.s page 167 2674:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4); 4648 .loc 1 2674 7 is_stmt 1 view .LVU1716 2674:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4); 4649 .loc 1 2674 22 is_stmt 0 view .LVU1717 4650 0050 0821 movs r1, #8 4651 0052 2068 ldr r0, [r4] 4652 0054 FFF7FEFF bl SDMMC_GetResponse 4653 .LVL346: 2674:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CSD[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4); 4654 .loc 1 2674 20 view .LVU1718 4655 0058 E066 str r0, [r4, #108] 2675:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4656 .loc 1 2675 7 is_stmt 1 view .LVU1719 2675:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4657 .loc 1 2675 22 is_stmt 0 view .LVU1720 4658 005a 0C21 movs r1, #12 4659 005c 2068 ldr r0, [r4] 4660 005e FFF7FEFF bl SDMMC_GetResponse 4661 .LVL347: 2675:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4662 .loc 1 2675 20 view .LVU1721 4663 0062 2067 str r0, [r4, #112] 4664 .LVL348: 4665 .L259: 2680:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4666 .loc 1 2680 3 is_stmt 1 view .LVU1722 2680:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4667 .loc 1 2680 24 is_stmt 0 view .LVU1723 4668 0064 0421 movs r1, #4 4669 0066 2068 ldr r0, [r4] 4670 0068 FFF7FEFF bl SDMMC_GetResponse 4671 .LVL349: 2680:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4672 .loc 1 2680 70 view .LVU1724 4673 006c 000D lsrs r0, r0, #20 2680:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4674 .loc 1 2680 21 view .LVU1725 4675 006e E064 str r0, [r4, #76] 2683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4676 .loc 1 2683 3 is_stmt 1 view .LVU1726 2683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4677 .loc 1 2683 7 is_stmt 0 view .LVU1727 4678 0070 05A9 add r1, sp, #20 4679 0072 2046 mov r0, r4 4680 0074 FFF7FEFF bl HAL_SD_GetCardCSD 4681 .LVL350: 2683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4682 .loc 1 2683 6 view .LVU1728 4683 0078 0028 cmp r0, #0 4684 007a 3ED1 bne .L261 2689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 4685 .loc 1 2689 3 is_stmt 1 view .LVU1729 2689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 4686 .loc 1 2689 82 is_stmt 0 view .LVU1730 4687 007c 226D ldr r2, [r4, #80] 2689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 4688 .loc 1 2689 16 view .LVU1731 ARM GAS /tmp/ccME1oKf.s page 168 4689 007e 1204 lsls r2, r2, #16 4690 0080 0023 movs r3, #0 4691 0082 2068 ldr r0, [r4] 4692 0084 FFF7FEFF bl SDMMC_CmdSelDesel 4693 .LVL351: 2690:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4694 .loc 1 2690 3 is_stmt 1 view .LVU1732 2690:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4695 .loc 1 2690 5 is_stmt 0 view .LVU1733 4696 0088 0546 mov r5, r0 4697 008a 98BB cbnz r0, .L255 2696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4698 .loc 1 2696 3 is_stmt 1 view .LVU1734 2696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4699 .loc 1 2696 9 is_stmt 0 view .LVU1735 4700 008c 2346 mov r3, r4 4701 008e 53F8106B ldr r6, [r3], #16 4702 0092 93E80700 ldm r3, {r0, r1, r2} 4703 .LVL352: 2696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4704 .loc 1 2696 9 view .LVU1736 4705 0096 8DE80700 stm sp, {r0, r1, r2} 4706 009a 0434 adds r4, r4, #4 4707 .LVL353: 2696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4708 .loc 1 2696 9 view .LVU1737 4709 009c 94E80E00 ldm r4, {r1, r2, r3} 4710 00a0 3046 mov r0, r6 4711 00a2 FFF7FEFF bl SDMMC_Init 4712 .LVL354: 2699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4713 .loc 1 2699 3 is_stmt 1 view .LVU1738 2699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4714 .loc 1 2699 10 is_stmt 0 view .LVU1739 4715 00a6 25E0 b .L255 4716 .LVL355: 4717 .L263: 2633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 4718 .loc 1 2633 5 is_stmt 1 view .LVU1740 2633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 4719 .loc 1 2633 18 is_stmt 0 view .LVU1741 4720 00a8 2068 ldr r0, [r4] 4721 00aa FFF7FEFF bl SDMMC_CmdSendCID 4722 .LVL356: 2634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4723 .loc 1 2634 5 is_stmt 1 view .LVU1742 2634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4724 .loc 1 2634 7 is_stmt 0 view .LVU1743 4725 00ae 0546 mov r5, r0 4726 00b0 00BB cbnz r0, .L255 2641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2); 4727 .loc 1 2641 7 is_stmt 1 view .LVU1744 2641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2); 4728 .loc 1 2641 22 is_stmt 0 view .LVU1745 4729 00b2 0021 movs r1, #0 4730 00b4 2068 ldr r0, [r4] 4731 .LVL357: ARM GAS /tmp/ccME1oKf.s page 169 2641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2); 4732 .loc 1 2641 22 view .LVU1746 4733 00b6 FFF7FEFF bl SDMMC_GetResponse 4734 .LVL358: 2641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2); 4735 .loc 1 2641 20 view .LVU1747 4736 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); 4737 .loc 1 2642 7 is_stmt 1 view .LVU1748 2642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[2U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3); 4738 .loc 1 2642 22 is_stmt 0 view .LVU1749 4739 00bc 0421 movs r1, #4 4740 00be 2068 ldr r0, [r4] 4741 00c0 FFF7FEFF bl SDMMC_GetResponse 4742 .LVL359: 2642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[2U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3); 4743 .loc 1 2642 20 view .LVU1750 4744 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); 4745 .loc 1 2643 7 is_stmt 1 view .LVU1751 2643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4); 4746 .loc 1 2643 22 is_stmt 0 view .LVU1752 4747 00c6 0821 movs r1, #8 4748 00c8 2068 ldr r0, [r4] 4749 00ca FFF7FEFF bl SDMMC_GetResponse 4750 .LVL360: 2643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->CID[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4); 4751 .loc 1 2643 20 view .LVU1753 4752 00ce E067 str r0, [r4, #124] 2644:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4753 .loc 1 2644 7 is_stmt 1 view .LVU1754 2644:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4754 .loc 1 2644 22 is_stmt 0 view .LVU1755 4755 00d0 0C21 movs r1, #12 4756 00d2 2068 ldr r0, [r4] 4757 00d4 FFF7FEFF bl SDMMC_GetResponse 4758 .LVL361: 2644:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4759 .loc 1 2644 20 view .LVU1756 4760 00d8 C4F88000 str r0, [r4, #128] 4761 00dc 9EE7 b .L257 4762 .LVL362: 4763 .L264: 2652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 4764 .loc 1 2652 5 is_stmt 1 view .LVU1757 2652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 4765 .loc 1 2652 18 is_stmt 0 view .LVU1758 4766 00de 0DF11201 add r1, sp, #18 4767 00e2 2068 ldr r0, [r4] 4768 00e4 FFF7FEFF bl SDMMC_CmdSetRelAdd 4769 .LVL363: 2653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4770 .loc 1 2653 5 is_stmt 1 view .LVU1759 2653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4771 .loc 1 2653 7 is_stmt 0 view .LVU1760 4772 00e8 0546 mov r5, r0 4773 00ea 0028 cmp r0, #0 ARM GAS /tmp/ccME1oKf.s page 170 4774 00ec 99D0 beq .L258 4775 00ee 01E0 b .L255 4776 .LVL364: 4777 .L260: 2627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4778 .loc 1 2627 12 view .LVU1761 4779 00f0 4FF08065 mov r5, #67108864 4780 .LVL365: 4781 .L255: 2700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4782 .loc 1 2700 1 view .LVU1762 4783 00f4 2846 mov r0, r5 4784 00f6 10B0 add sp, sp, #64 4785 .LCFI53: 4786 .cfi_remember_state 4787 .cfi_def_cfa_offset 16 4788 @ sp needed 4789 00f8 70BD pop {r4, r5, r6, pc} 4790 .LVL366: 4791 .L261: 4792 .LCFI54: 4793 .cfi_restore_state 2685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4794 .loc 1 2685 12 view .LVU1763 4795 00fa 4FF08055 mov r5, #268435456 4796 00fe F9E7 b .L255 4797 .cfi_endproc 4798 .LFE173: 4800 .section .text.HAL_SD_InitCard,"ax",%progbits 4801 .align 1 4802 .global HAL_SD_InitCard 4803 .syntax unified 4804 .thumb 4805 .thumb_func 4806 .fpu fpv5-d16 4808 HAL_SD_InitCard: 4809 .LVL367: 4810 .LFB142: 404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 4811 .loc 1 404 1 is_stmt 1 view -0 4812 .cfi_startproc 4813 @ args = 0, pretend = 0, frame = 24 4814 @ frame_needed = 0, uses_anonymous_args = 0 404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 4815 .loc 1 404 1 is_stmt 0 view .LVU1765 4816 0000 30B5 push {r4, r5, lr} 4817 .LCFI55: 4818 .cfi_def_cfa_offset 12 4819 .cfi_offset 4, -12 4820 .cfi_offset 5, -8 4821 .cfi_offset 14, -4 4822 0002 8BB0 sub sp, sp, #44 4823 .LCFI56: 4824 .cfi_def_cfa_offset 56 4825 0004 0446 mov r4, r0 405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef status; 4826 .loc 1 405 3 is_stmt 1 view .LVU1766 ARM GAS /tmp/ccME1oKf.s page 171 406:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_InitTypeDef Init; 4827 .loc 1 406 3 view .LVU1767 407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4828 .loc 1 407 3 view .LVU1768 410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE; 4829 .loc 1 410 3 view .LVU1769 410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE; 4830 .loc 1 410 28 is_stmt 0 view .LVU1770 4831 0006 0023 movs r3, #0 4832 0008 0493 str r3, [sp, #16] 411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE; 4833 .loc 1 411 3 is_stmt 1 view .LVU1771 411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE; 4834 .loc 1 411 28 is_stmt 0 view .LVU1772 4835 000a 0593 str r3, [sp, #20] 412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.BusWide = SDMMC_BUS_WIDE_1B; 4836 .loc 1 412 3 is_stmt 1 view .LVU1773 412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.BusWide = SDMMC_BUS_WIDE_1B; 4837 .loc 1 412 28 is_stmt 0 view .LVU1774 4838 000c 0693 str r3, [sp, #24] 413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE; 4839 .loc 1 413 3 is_stmt 1 view .LVU1775 413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE; 4840 .loc 1 413 28 is_stmt 0 view .LVU1776 4841 000e 0793 str r3, [sp, #28] 414:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockDiv = SDMMC_INIT_CLK_DIV; 4842 .loc 1 414 3 is_stmt 1 view .LVU1777 414:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockDiv = SDMMC_INIT_CLK_DIV; 4843 .loc 1 414 28 is_stmt 0 view .LVU1778 4844 0010 0893 str r3, [sp, #32] 415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4845 .loc 1 415 3 is_stmt 1 view .LVU1779 415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4846 .loc 1 415 28 is_stmt 0 view .LVU1780 4847 0012 7623 movs r3, #118 4848 0014 0993 str r3, [sp, #36] 418:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(status != HAL_OK) 4849 .loc 1 418 3 is_stmt 1 view .LVU1781 418:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(status != HAL_OK) 4850 .loc 1 418 12 is_stmt 0 view .LVU1782 4851 0016 0AAB add r3, sp, #40 4852 0018 13E90700 ldmdb r3, {r0, r1, r2} 4853 .LVL368: 418:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(status != HAL_OK) 4854 .loc 1 418 12 view .LVU1783 4855 001c 8DE80700 stm sp, {r0, r1, r2} 4856 0020 04AB add r3, sp, #16 4857 0022 0ECB ldm r3, {r1, r2, r3} 4858 0024 2068 ldr r0, [r4] 4859 0026 FFF7FEFF bl SDMMC_Init 4860 .LVL369: 419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4861 .loc 1 419 3 is_stmt 1 view .LVU1784 419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4862 .loc 1 419 5 is_stmt 0 view .LVU1785 4863 002a 18B1 cbz r0, .L271 421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } ARM GAS /tmp/ccME1oKf.s page 172 4864 .loc 1 421 12 view .LVU1786 4865 002c 0125 movs r5, #1 4866 .LVL370: 4867 .L266: 466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4868 .loc 1 466 1 view .LVU1787 4869 002e 2846 mov r0, r5 4870 0030 0BB0 add sp, sp, #44 4871 .LCFI57: 4872 .cfi_remember_state 4873 .cfi_def_cfa_offset 12 4874 @ sp needed 4875 0032 30BD pop {r4, r5, pc} 4876 .LVL371: 4877 .L271: 4878 .LCFI58: 4879 .cfi_restore_state 466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4880 .loc 1 466 1 view .LVU1788 4881 0034 0546 mov r5, r0 425:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4882 .loc 1 425 3 is_stmt 1 view .LVU1789 4883 0036 2268 ldr r2, [r4] 4884 0038 5368 ldr r3, [r2, #4] 4885 003a 23F48073 bic r3, r3, #256 4886 003e 5360 str r3, [r2, #4] 428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4887 .loc 1 428 3 view .LVU1790 428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4888 .loc 1 428 9 is_stmt 0 view .LVU1791 4889 0040 2068 ldr r0, [r4] 4890 .LVL372: 428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4891 .loc 1 428 9 view .LVU1792 4892 0042 FFF7FEFF bl SDMMC_PowerState_ON 4893 .LVL373: 431:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4894 .loc 1 431 3 is_stmt 1 view .LVU1793 4895 0046 2268 ldr r2, [r4] 4896 0048 5368 ldr r3, [r2, #4] 4897 004a 43F48073 orr r3, r3, #256 4898 004e 5360 str r3, [r2, #4] 434:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 4899 .loc 1 434 3 view .LVU1794 4900 0050 0220 movs r0, #2 4901 0052 FFF7FEFF bl HAL_Delay 4902 .LVL374: 437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 4903 .loc 1 437 3 view .LVU1795 437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 4904 .loc 1 437 16 is_stmt 0 view .LVU1796 4905 0056 2046 mov r0, r4 4906 0058 FFF7FEFF bl SD_PowerON 4907 .LVL375: 438:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4908 .loc 1 438 3 is_stmt 1 view .LVU1797 438:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { ARM GAS /tmp/ccME1oKf.s page 173 4909 .loc 1 438 5 is_stmt 0 view .LVU1798 4910 005c 30B1 cbz r0, .L267 440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 4911 .loc 1 440 5 is_stmt 1 view .LVU1799 440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 4912 .loc 1 440 16 is_stmt 0 view .LVU1800 4913 005e 0125 movs r5, #1 4914 0060 84F83450 strb r5, [r4, #52] 441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 4915 .loc 1 441 5 is_stmt 1 view .LVU1801 441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 4916 .loc 1 441 20 is_stmt 0 view .LVU1802 4917 0064 A36B ldr r3, [r4, #56] 4918 0066 0343 orrs r3, r3, r0 4919 0068 A363 str r3, [r4, #56] 442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4920 .loc 1 442 5 is_stmt 1 view .LVU1803 442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4921 .loc 1 442 12 is_stmt 0 view .LVU1804 4922 006a E0E7 b .L266 4923 .L267: 446:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 4924 .loc 1 446 3 is_stmt 1 view .LVU1805 446:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 4925 .loc 1 446 16 is_stmt 0 view .LVU1806 4926 006c 2046 mov r0, r4 4927 .LVL376: 446:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 4928 .loc 1 446 16 view .LVU1807 4929 006e FFF7FEFF bl SD_InitCard 4930 .LVL377: 447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4931 .loc 1 447 3 is_stmt 1 view .LVU1808 447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4932 .loc 1 447 5 is_stmt 0 view .LVU1809 4933 0072 30B1 cbz r0, .L268 449:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 4934 .loc 1 449 5 is_stmt 1 view .LVU1810 449:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 4935 .loc 1 449 16 is_stmt 0 view .LVU1811 4936 0074 0125 movs r5, #1 4937 0076 84F83450 strb r5, [r4, #52] 450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 4938 .loc 1 450 5 is_stmt 1 view .LVU1812 450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 4939 .loc 1 450 20 is_stmt 0 view .LVU1813 4940 007a A36B ldr r3, [r4, #56] 4941 007c 0343 orrs r3, r3, r0 4942 007e A363 str r3, [r4, #56] 451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4943 .loc 1 451 5 is_stmt 1 view .LVU1814 451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4944 .loc 1 451 12 is_stmt 0 view .LVU1815 4945 0080 D5E7 b .L266 4946 .L268: 455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 4947 .loc 1 455 3 is_stmt 1 view .LVU1816 ARM GAS /tmp/ccME1oKf.s page 174 455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 4948 .loc 1 455 16 is_stmt 0 view .LVU1817 4949 0082 4FF40071 mov r1, #512 4950 0086 2068 ldr r0, [r4] 4951 .LVL378: 455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 4952 .loc 1 455 16 view .LVU1818 4953 0088 FFF7FEFF bl SDMMC_CmdBlockLength 4954 .LVL379: 456:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4955 .loc 1 456 3 is_stmt 1 view .LVU1819 456:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4956 .loc 1 456 5 is_stmt 0 view .LVU1820 4957 008c 0028 cmp r0, #0 4958 008e CED0 beq .L266 459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 4959 .loc 1 459 5 is_stmt 1 view .LVU1821 4960 0090 2368 ldr r3, [r4] 4961 0092 0449 ldr r1, .L272 4962 0094 9963 str r1, [r3, #56] 460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 4963 .loc 1 460 5 view .LVU1822 460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 4964 .loc 1 460 20 is_stmt 0 view .LVU1823 4965 0096 A36B ldr r3, [r4, #56] 4966 0098 0343 orrs r3, r3, r0 4967 009a A363 str r3, [r4, #56] 461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 4968 .loc 1 461 5 is_stmt 1 view .LVU1824 461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** return HAL_ERROR; 4969 .loc 1 461 16 is_stmt 0 view .LVU1825 4970 009c 0125 movs r5, #1 4971 009e 84F83450 strb r5, [r4, #52] 462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4972 .loc 1 462 5 is_stmt 1 view .LVU1826 462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 4973 .loc 1 462 12 is_stmt 0 view .LVU1827 4974 00a2 C4E7 b .L266 4975 .L273: 4976 .align 2 4977 .L272: 4978 00a4 FF054000 .word 4195839 4979 .cfi_endproc 4980 .LFE142: 4982 .section .text.HAL_SD_Init,"ax",%progbits 4983 .align 1 4984 .global HAL_SD_Init 4985 .syntax unified 4986 .thumb 4987 .thumb_func 4988 .fpu fpv5-d16 4990 HAL_SD_Init: 4991 .LVL380: 4992 .LFB141: 336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Check the SD handle allocation */ 4993 .loc 1 336 1 is_stmt 1 view -0 4994 .cfi_startproc ARM GAS /tmp/ccME1oKf.s page 175 4995 @ args = 0, pretend = 0, frame = 0 4996 @ frame_needed = 0, uses_anonymous_args = 0 338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4997 .loc 1 338 3 view .LVU1829 338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 4998 .loc 1 338 5 is_stmt 0 view .LVU1830 4999 0000 A8B1 cbz r0, .L277 336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Check the SD handle allocation */ 5000 .loc 1 336 1 view .LVU1831 5001 0002 10B5 push {r4, lr} 5002 .LCFI59: 5003 .cfi_def_cfa_offset 8 5004 .cfi_offset 4, -8 5005 .cfi_offset 14, -4 5006 0004 0446 mov r4, r0 344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_CLOCK_EDGE(hsd->Init.ClockEdge)); 5007 .loc 1 344 3 is_stmt 1 view .LVU1832 345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_CLOCK_BYPASS(hsd->Init.ClockBypass)); 5008 .loc 1 345 3 view .LVU1833 346:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_CLOCK_POWER_SAVE(hsd->Init.ClockPowerSave)); 5009 .loc 1 346 3 view .LVU1834 347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_BUS_WIDE(hsd->Init.BusWide)); 5010 .loc 1 347 3 view .LVU1835 348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_HARDWARE_FLOW_CONTROL(hsd->Init.HardwareFlowControl)); 5011 .loc 1 348 3 view .LVU1836 349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** assert_param(IS_SDMMC_CLKDIV(hsd->Init.ClockDiv)); 5012 .loc 1 349 3 view .LVU1837 350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5013 .loc 1 350 3 view .LVU1838 352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5014 .loc 1 352 3 view .LVU1839 352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5015 .loc 1 352 9 is_stmt 0 view .LVU1840 5016 0006 90F83430 ldrb r3, [r0, #52] @ zero_extendqisi2 352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5017 .loc 1 352 5 view .LVU1841 5018 000a 63B1 cbz r3, .L283 5019 .LVL381: 5020 .L276: 376:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5021 .loc 1 376 3 is_stmt 1 view .LVU1842 376:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5022 .loc 1 376 14 is_stmt 0 view .LVU1843 5023 000c 0323 movs r3, #3 5024 000e 84F83430 strb r3, [r4, #52] 379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5025 .loc 1 379 3 is_stmt 1 view .LVU1844 379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5026 .loc 1 379 7 is_stmt 0 view .LVU1845 5027 0012 2046 mov r0, r4 5028 0014 FFF7FEFF bl HAL_SD_InitCard 5029 .LVL382: 379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5030 .loc 1 379 6 view .LVU1846 5031 0018 58B9 cbnz r0, .L278 385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5032 .loc 1 385 3 is_stmt 1 view .LVU1847 ARM GAS /tmp/ccME1oKf.s page 176 385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5033 .loc 1 385 18 is_stmt 0 view .LVU1848 5034 001a A063 str r0, [r4, #56] 388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5035 .loc 1 388 3 is_stmt 1 view .LVU1849 388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5036 .loc 1 388 16 is_stmt 0 view .LVU1850 5037 001c 2063 str r0, [r4, #48] 391:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5038 .loc 1 391 3 is_stmt 1 view .LVU1851 391:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5039 .loc 1 391 14 is_stmt 0 view .LVU1852 5040 001e 0123 movs r3, #1 5041 0020 84F83430 strb r3, [r4, #52] 393:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5042 .loc 1 393 3 is_stmt 1 view .LVU1853 5043 .L275: 394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5044 .loc 1 394 1 is_stmt 0 view .LVU1854 5045 0024 10BD pop {r4, pc} 5046 .LVL383: 5047 .L283: 355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 5048 .loc 1 355 5 is_stmt 1 view .LVU1855 355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 5049 .loc 1 355 15 is_stmt 0 view .LVU1856 5050 0026 0377 strb r3, [r0, #28] 372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 5051 .loc 1 372 5 is_stmt 1 view .LVU1857 5052 0028 FFF7FEFF bl HAL_SD_MspInit 5053 .LVL384: 372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 5054 .loc 1 372 5 is_stmt 0 view .LVU1858 5055 002c EEE7 b .L276 5056 .LVL385: 5057 .L277: 5058 .LCFI60: 5059 .cfi_def_cfa_offset 0 5060 .cfi_restore 4 5061 .cfi_restore 14 340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5062 .loc 1 340 12 view .LVU1859 5063 002e 0120 movs r0, #1 5064 .LVL386: 394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5065 .loc 1 394 1 view .LVU1860 5066 0030 7047 bx lr 5067 .LVL387: 5068 .L278: 5069 .LCFI61: 5070 .cfi_def_cfa_offset 8 5071 .cfi_offset 4, -8 5072 .cfi_offset 14, -4 381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5073 .loc 1 381 12 view .LVU1861 5074 0032 0120 movs r0, #1 5075 0034 F6E7 b .L275 ARM GAS /tmp/ccME1oKf.s page 177 5076 .cfi_endproc 5077 .LFE141: 5079 .section .text.HAL_SD_GetCardStatus,"ax",%progbits 5080 .align 1 5081 .global HAL_SD_GetCardStatus 5082 .syntax unified 5083 .thumb 5084 .thumb_func 5085 .fpu fpv5-d16 5087 HAL_SD_GetCardStatus: 5088 .LVL388: 5089 .LFB162: 2100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t sd_status[16]; 5090 .loc 1 2100 1 is_stmt 1 view -0 5091 .cfi_startproc 5092 @ args = 0, pretend = 0, frame = 64 5093 @ frame_needed = 0, uses_anonymous_args = 0 2100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t sd_status[16]; 5094 .loc 1 2100 1 is_stmt 0 view .LVU1863 5095 0000 30B5 push {r4, r5, lr} 5096 .LCFI62: 5097 .cfi_def_cfa_offset 12 5098 .cfi_offset 4, -12 5099 .cfi_offset 5, -8 5100 .cfi_offset 14, -4 5101 0002 91B0 sub sp, sp, #68 5102 .LCFI63: 5103 .cfi_def_cfa_offset 80 5104 0004 0546 mov r5, r0 5105 0006 0C46 mov r4, r1 2101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 5106 .loc 1 2101 3 is_stmt 1 view .LVU1864 2102:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef status = HAL_OK; 5107 .loc 1 2102 3 view .LVU1865 2103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5108 .loc 1 2103 3 view .LVU1866 5109 .LVL389: 2105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 5110 .loc 1 2105 3 view .LVU1867 2105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 5111 .loc 1 2105 16 is_stmt 0 view .LVU1868 5112 0008 6946 mov r1, sp 5113 .LVL390: 2105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 5114 .loc 1 2105 16 view .LVU1869 5115 000a FFF7FEFF bl SD_SendSDStatus 5116 .LVL391: 2106:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5117 .loc 1 2106 3 is_stmt 1 view .LVU1870 2106:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5118 .loc 1 2106 5 is_stmt 0 view .LVU1871 5119 000e C0B1 cbz r0, .L285 2109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 5120 .loc 1 2109 5 is_stmt 1 view .LVU1872 5121 0010 2B68 ldr r3, [r5] 5122 0012 2549 ldr r1, .L289 5123 0014 9963 str r1, [r3, #56] ARM GAS /tmp/ccME1oKf.s page 178 2110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 5124 .loc 1 2110 5 view .LVU1873 2110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 5125 .loc 1 2110 20 is_stmt 0 view .LVU1874 5126 0016 AB6B ldr r3, [r5, #56] 5127 0018 0343 orrs r3, r3, r0 5128 001a AB63 str r3, [r5, #56] 2111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR; 5129 .loc 1 2111 5 is_stmt 1 view .LVU1875 2111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR; 5130 .loc 1 2111 16 is_stmt 0 view .LVU1876 5131 001c 0124 movs r4, #1 5132 .LVL392: 2111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR; 5133 .loc 1 2111 16 view .LVU1877 5134 001e 85F83440 strb r4, [r5, #52] 2112:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5135 .loc 1 2112 5 is_stmt 1 view .LVU1878 5136 .LVL393: 5137 .L286: 2139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 5138 .loc 1 2139 3 view .LVU1879 2139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 5139 .loc 1 2139 16 is_stmt 0 view .LVU1880 5140 0022 4FF40071 mov r1, #512 5141 0026 2868 ldr r0, [r5] 5142 .LVL394: 2139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 5143 .loc 1 2139 16 view .LVU1881 5144 0028 FFF7FEFF bl SDMMC_CmdBlockLength 5145 .LVL395: 2140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5146 .loc 1 2140 3 is_stmt 1 view .LVU1882 2140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5147 .loc 1 2140 5 is_stmt 0 view .LVU1883 5148 002c 30B1 cbz r0, .L287 2143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode = errorstate; 5149 .loc 1 2143 5 is_stmt 1 view .LVU1884 5150 002e 2A68 ldr r2, [r5] 5151 0030 1D49 ldr r1, .L289 5152 0032 9163 str r1, [r2, #56] 2144:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 5153 .loc 1 2144 5 view .LVU1885 2144:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 5154 .loc 1 2144 20 is_stmt 0 view .LVU1886 5155 0034 A863 str r0, [r5, #56] 2145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR; 5156 .loc 1 2145 5 is_stmt 1 view .LVU1887 2145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR; 5157 .loc 1 2145 16 is_stmt 0 view .LVU1888 5158 0036 0124 movs r4, #1 5159 .LVL396: 2145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR; 5160 .loc 1 2145 16 view .LVU1889 5161 0038 85F83440 strb r4, [r5, #52] 2146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5162 .loc 1 2146 5 is_stmt 1 view .LVU1890 ARM GAS /tmp/ccME1oKf.s page 179 5163 .LVL397: 5164 .L287: 2149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5165 .loc 1 2149 3 view .LVU1891 2150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5166 .loc 1 2150 1 is_stmt 0 view .LVU1892 5167 003c 2046 mov r0, r4 5168 .LVL398: 2150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5169 .loc 1 2150 1 view .LVU1893 5170 003e 11B0 add sp, sp, #68 5171 .LCFI64: 5172 .cfi_remember_state 5173 .cfi_def_cfa_offset 12 5174 @ sp needed 5175 0040 30BD pop {r4, r5, pc} 5176 .LVL399: 5177 .L285: 5178 .LCFI65: 5179 .cfi_restore_state 2116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5180 .loc 1 2116 5 is_stmt 1 view .LVU1894 2116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5181 .loc 1 2116 49 is_stmt 0 view .LVU1895 5182 0042 009A ldr r2, [sp] 2116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5183 .loc 1 2116 29 view .LVU1896 5184 0044 C2F38113 ubfx r3, r2, #6, #2 2116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5185 .loc 1 2116 27 view .LVU1897 5186 0048 2370 strb r3, [r4] 2118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5187 .loc 1 2118 5 is_stmt 1 view .LVU1898 2118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5188 .loc 1 2118 28 is_stmt 0 view .LVU1899 5189 004a C2F34013 ubfx r3, r2, #5, #1 2118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5190 .loc 1 2118 26 view .LVU1900 5191 004e 6370 strb r3, [r4, #1] 2120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5192 .loc 1 2120 5 is_stmt 1 view .LVU1901 2120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5193 .loc 1 2120 66 is_stmt 0 view .LVU1902 5194 0050 130A lsrs r3, r2, #8 2120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5195 .loc 1 2120 25 view .LVU1903 5196 0052 23F0FF03 bic r3, r3, #255 5197 0056 43EA1263 orr r3, r3, r2, lsr #24 5198 005a 9BB2 uxth r3, r3 2120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5199 .loc 1 2120 23 view .LVU1904 5200 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 5201 .loc 1 2122 5 is_stmt 1 view .LVU1905 2122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((sd_status[1] & 0xFF0000U) >> 8U) | ((sd_status[1] & 0xFF000000U 5202 .loc 1 2122 46 is_stmt 0 view .LVU1906 5203 005e 019A ldr r2, [sp, #4] ARM GAS /tmp/ccME1oKf.s page 180 2122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ((sd_status[1] & 0xFF0000U) >> 8U) | ((sd_status[1] & 0xFF000000U 5204 .loc 1 2122 98 view .LVU1907 5205 0060 1302 lsls r3, r2, #8 5206 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 5207 .loc 1 2122 70 view .LVU1908 5208 0066 43EA0263 orr r3, r3, r2, lsl #24 2123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5209 .loc 1 2123 63 view .LVU1909 5210 006a 110A lsrs r1, r2, #8 5211 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 5212 .loc 1 2122 105 view .LVU1910 5213 0070 0B43 orrs r3, r3, r1 2123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5214 .loc 1 2123 70 view .LVU1911 5215 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 5216 .loc 1 2122 32 view .LVU1912 5217 0076 6360 str r3, [r4, #4] 2125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5218 .loc 1 2125 5 is_stmt 1 view .LVU1913 2125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5219 .loc 1 2125 46 is_stmt 0 view .LVU1914 5220 0078 029B ldr r3, [sp, #8] 2125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5221 .loc 1 2125 27 view .LVU1915 5222 007a DAB2 uxtb r2, r3 2125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5223 .loc 1 2125 25 view .LVU1916 5224 007c 2272 strb r2, [r4, #8] 2127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5225 .loc 1 2127 5 is_stmt 1 view .LVU1917 2127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5226 .loc 1 2127 32 is_stmt 0 view .LVU1918 5227 007e C3F30722 ubfx r2, r3, #8, #8 2127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5228 .loc 1 2127 30 view .LVU1919 5229 0082 6272 strb r2, [r4, #9] 2129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5230 .loc 1 2129 5 is_stmt 1 view .LVU1920 2129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5231 .loc 1 2129 35 is_stmt 0 view .LVU1921 5232 0084 C3F30352 ubfx r2, r3, #20, #4 2129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5233 .loc 1 2129 33 view .LVU1922 5234 0088 A272 strb r2, [r4, #10] 2131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5235 .loc 1 2131 5 is_stmt 1 view .LVU1923 2131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5236 .loc 1 2131 67 is_stmt 0 view .LVU1924 5237 008a 1B0C lsrs r3, r3, #16 2131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5238 .loc 1 2131 87 view .LVU1925 5239 008c 039A ldr r2, [sp, #12] 2131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5240 .loc 1 2131 91 view .LVU1926 ARM GAS /tmp/ccME1oKf.s page 181 5241 008e D1B2 uxtb r1, r2 2131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5242 .loc 1 2131 26 view .LVU1927 5243 0090 23F0FF03 bic r3, r3, #255 5244 0094 0B43 orrs r3, r3, r1 2131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5245 .loc 1 2131 24 view .LVU1928 5246 0096 A381 strh r3, [r4, #12] @ movhi 2133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5247 .loc 1 2133 5 is_stmt 1 view .LVU1929 2133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5248 .loc 1 2133 29 is_stmt 0 view .LVU1930 5249 0098 C2F38523 ubfx r3, r2, #10, #6 2133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5250 .loc 1 2133 27 view .LVU1931 5251 009c A373 strb r3, [r4, #14] 2135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5252 .loc 1 2135 5 is_stmt 1 view .LVU1932 2135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5253 .loc 1 2135 28 is_stmt 0 view .LVU1933 5254 009e C2F30122 ubfx r2, r2, #8, #2 2135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5255 .loc 1 2135 26 view .LVU1934 5256 00a2 E273 strb r2, [r4, #15] 2103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5257 .loc 1 2103 21 view .LVU1935 5258 00a4 0024 movs r4, #0 5259 .LVL400: 2103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5260 .loc 1 2103 21 view .LVU1936 5261 00a6 BCE7 b .L286 5262 .L290: 5263 .align 2 5264 .L289: 5265 00a8 FF054000 .word 4195839 5266 .cfi_endproc 5267 .LFE162: 5269 .section .text.HAL_SD_GetCardInfo,"ax",%progbits 5270 .align 1 5271 .global HAL_SD_GetCardInfo 5272 .syntax unified 5273 .thumb 5274 .thumb_func 5275 .fpu fpv5-d16 5277 HAL_SD_GetCardInfo: 5278 .LVL401: 5279 .LFB163: 2160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->CardType = (uint32_t)(hsd->SdCard.CardType); 5280 .loc 1 2160 1 is_stmt 1 view -0 5281 .cfi_startproc 5282 @ args = 0, pretend = 0, frame = 0 5283 @ frame_needed = 0, uses_anonymous_args = 0 5284 @ link register save eliminated. 2161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->CardVersion = (uint32_t)(hsd->SdCard.CardVersion); 5285 .loc 1 2161 3 view .LVU1938 2161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->CardVersion = (uint32_t)(hsd->SdCard.CardVersion); 5286 .loc 1 2161 51 is_stmt 0 view .LVU1939 ARM GAS /tmp/ccME1oKf.s page 182 5287 0000 436C ldr r3, [r0, #68] 2161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->CardVersion = (uint32_t)(hsd->SdCard.CardVersion); 5288 .loc 1 2161 27 view .LVU1940 5289 0002 0B60 str r3, [r1] 2162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->Class = (uint32_t)(hsd->SdCard.Class); 5290 .loc 1 2162 3 is_stmt 1 view .LVU1941 2162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->Class = (uint32_t)(hsd->SdCard.Class); 5291 .loc 1 2162 51 is_stmt 0 view .LVU1942 5292 0004 836C ldr r3, [r0, #72] 2162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->Class = (uint32_t)(hsd->SdCard.Class); 5293 .loc 1 2162 27 view .LVU1943 5294 0006 4B60 str r3, [r1, #4] 2163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->RelCardAdd = (uint32_t)(hsd->SdCard.RelCardAdd); 5295 .loc 1 2163 3 is_stmt 1 view .LVU1944 2163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->RelCardAdd = (uint32_t)(hsd->SdCard.RelCardAdd); 5296 .loc 1 2163 51 is_stmt 0 view .LVU1945 5297 0008 C36C ldr r3, [r0, #76] 2163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->RelCardAdd = (uint32_t)(hsd->SdCard.RelCardAdd); 5298 .loc 1 2163 27 view .LVU1946 5299 000a 8B60 str r3, [r1, #8] 2164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->BlockNbr = (uint32_t)(hsd->SdCard.BlockNbr); 5300 .loc 1 2164 3 is_stmt 1 view .LVU1947 2164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->BlockNbr = (uint32_t)(hsd->SdCard.BlockNbr); 5301 .loc 1 2164 51 is_stmt 0 view .LVU1948 5302 000c 036D ldr r3, [r0, #80] 2164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->BlockNbr = (uint32_t)(hsd->SdCard.BlockNbr); 5303 .loc 1 2164 27 view .LVU1949 5304 000e CB60 str r3, [r1, #12] 2165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->BlockSize = (uint32_t)(hsd->SdCard.BlockSize); 5305 .loc 1 2165 3 is_stmt 1 view .LVU1950 2165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->BlockSize = (uint32_t)(hsd->SdCard.BlockSize); 5306 .loc 1 2165 51 is_stmt 0 view .LVU1951 5307 0010 436D ldr r3, [r0, #84] 2165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->BlockSize = (uint32_t)(hsd->SdCard.BlockSize); 5308 .loc 1 2165 27 view .LVU1952 5309 0012 0B61 str r3, [r1, #16] 2166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->LogBlockNbr = (uint32_t)(hsd->SdCard.LogBlockNbr); 5310 .loc 1 2166 3 is_stmt 1 view .LVU1953 2166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->LogBlockNbr = (uint32_t)(hsd->SdCard.LogBlockNbr); 5311 .loc 1 2166 51 is_stmt 0 view .LVU1954 5312 0014 836D ldr r3, [r0, #88] 2166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->LogBlockNbr = (uint32_t)(hsd->SdCard.LogBlockNbr); 5313 .loc 1 2166 27 view .LVU1955 5314 0016 4B61 str r3, [r1, #20] 2167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->LogBlockSize = (uint32_t)(hsd->SdCard.LogBlockSize); 5315 .loc 1 2167 3 is_stmt 1 view .LVU1956 2167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->LogBlockSize = (uint32_t)(hsd->SdCard.LogBlockSize); 5316 .loc 1 2167 51 is_stmt 0 view .LVU1957 5317 0018 C36D ldr r3, [r0, #92] 2167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** pCardInfo->LogBlockSize = (uint32_t)(hsd->SdCard.LogBlockSize); 5318 .loc 1 2167 27 view .LVU1958 5319 001a 8B61 str r3, [r1, #24] 2168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5320 .loc 1 2168 3 is_stmt 1 view .LVU1959 2168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5321 .loc 1 2168 51 is_stmt 0 view .LVU1960 5322 001c 036E ldr r3, [r0, #96] ARM GAS /tmp/ccME1oKf.s page 183 2168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5323 .loc 1 2168 27 view .LVU1961 5324 001e CB61 str r3, [r1, #28] 2170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5325 .loc 1 2170 3 is_stmt 1 view .LVU1962 2171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5326 .loc 1 2171 1 is_stmt 0 view .LVU1963 5327 0020 0020 movs r0, #0 5328 .LVL402: 2171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5329 .loc 1 2171 1 view .LVU1964 5330 0022 7047 bx lr 5331 .cfi_endproc 5332 .LFE163: 5334 .section .text.HAL_SD_ConfigWideBusOperation,"ax",%progbits 5335 .align 1 5336 .global HAL_SD_ConfigWideBusOperation 5337 .syntax unified 5338 .thumb 5339 .thumb_func 5340 .fpu fpv5-d16 5342 HAL_SD_ConfigWideBusOperation: 5343 .LVL403: 5344 .LFB164: 2185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_InitTypeDef Init; 5345 .loc 1 2185 1 is_stmt 1 view -0 5346 .cfi_startproc 5347 @ args = 0, pretend = 0, frame = 24 5348 @ frame_needed = 0, uses_anonymous_args = 0 2185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_InitTypeDef Init; 5349 .loc 1 2185 1 is_stmt 0 view .LVU1966 5350 0000 30B5 push {r4, r5, lr} 5351 .LCFI66: 5352 .cfi_def_cfa_offset 12 5353 .cfi_offset 4, -12 5354 .cfi_offset 5, -8 5355 .cfi_offset 14, -4 5356 0002 8BB0 sub sp, sp, #44 5357 .LCFI67: 5358 .cfi_def_cfa_offset 56 5359 0004 0446 mov r4, r0 5360 0006 0D46 mov r5, r1 2186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 5361 .loc 1 2186 3 is_stmt 1 view .LVU1967 2187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_StatusTypeDef status = HAL_OK; 5362 .loc 1 2187 3 view .LVU1968 2188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5363 .loc 1 2188 3 view .LVU1969 5364 .LVL404: 2191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5365 .loc 1 2191 3 view .LVU1970 2194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5366 .loc 1 2194 3 view .LVU1971 2194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5367 .loc 1 2194 14 is_stmt 0 view .LVU1972 5368 0008 0323 movs r3, #3 5369 000a 80F83430 strb r3, [r0, #52] ARM GAS /tmp/ccME1oKf.s page 184 2196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5370 .loc 1 2196 3 is_stmt 1 view .LVU1973 2196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5371 .loc 1 2196 17 is_stmt 0 view .LVU1974 5372 000e 436C ldr r3, [r0, #68] 2196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5373 .loc 1 2196 5 view .LVU1975 5374 0010 032B cmp r3, #3 5375 0012 1CD0 beq .L293 2198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5376 .loc 1 2198 5 is_stmt 1 view .LVU1976 2198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5377 .loc 1 2198 7 is_stmt 0 view .LVU1977 5378 0014 B1F5805F cmp r1, #4096 5379 0018 08D0 beq .L302 2202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5380 .loc 1 2202 10 is_stmt 1 view .LVU1978 2202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5381 .loc 1 2202 12 is_stmt 0 view .LVU1979 5382 001a B1F5006F cmp r1, #2048 5383 001e 0AD0 beq .L303 2208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5384 .loc 1 2208 10 is_stmt 1 view .LVU1980 2208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5385 .loc 1 2208 12 is_stmt 0 view .LVU1981 5386 0020 79B1 cbz r1, .L304 2217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5387 .loc 1 2217 7 is_stmt 1 view .LVU1982 2217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5388 .loc 1 2217 22 is_stmt 0 view .LVU1983 5389 0022 836B ldr r3, [r0, #56] 5390 0024 43F00063 orr r3, r3, #134217728 5391 0028 8363 str r3, [r0, #56] 5392 002a 14E0 b .L295 5393 .L302: 2200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5394 .loc 1 2200 7 is_stmt 1 view .LVU1984 2200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5395 .loc 1 2200 22 is_stmt 0 view .LVU1985 5396 002c 836B ldr r3, [r0, #56] 5397 002e 43F08053 orr r3, r3, #268435456 5398 0032 8363 str r3, [r0, #56] 5399 0034 0FE0 b .L295 5400 .L303: 2204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5401 .loc 1 2204 7 is_stmt 1 view .LVU1986 2204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5402 .loc 1 2204 20 is_stmt 0 view .LVU1987 5403 0036 FFF7FEFF bl SD_WideBus_Enable 5404 .LVL405: 2206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5405 .loc 1 2206 7 is_stmt 1 view .LVU1988 2206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5406 .loc 1 2206 22 is_stmt 0 view .LVU1989 5407 003a A36B ldr r3, [r4, #56] 5408 003c 0343 orrs r3, r3, r0 5409 003e A363 str r3, [r4, #56] ARM GAS /tmp/ccME1oKf.s page 185 5410 0040 09E0 b .L295 5411 .LVL406: 5412 .L304: 2210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5413 .loc 1 2210 7 is_stmt 1 view .LVU1990 2210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5414 .loc 1 2210 20 is_stmt 0 view .LVU1991 5415 0042 FFF7FEFF bl SD_WideBus_Disable 5416 .LVL407: 2212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5417 .loc 1 2212 7 is_stmt 1 view .LVU1992 2212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5418 .loc 1 2212 22 is_stmt 0 view .LVU1993 5419 0046 A36B ldr r3, [r4, #56] 5420 0048 0343 orrs r3, r3, r0 5421 004a A363 str r3, [r4, #56] 5422 004c 03E0 b .L295 5423 .LVL408: 5424 .L293: 2223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5425 .loc 1 2223 5 is_stmt 1 view .LVU1994 2223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5426 .loc 1 2223 20 is_stmt 0 view .LVU1995 5427 004e 836B ldr r3, [r0, #56] 5428 0050 43F08053 orr r3, r3, #268435456 5429 0054 8363 str r3, [r0, #56] 5430 .LVL409: 5431 .L295: 2226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5432 .loc 1 2226 3 is_stmt 1 view .LVU1996 2226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5433 .loc 1 2226 9 is_stmt 0 view .LVU1997 5434 0056 A36B ldr r3, [r4, #56] 2226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5435 .loc 1 2226 5 view .LVU1998 5436 0058 C3B1 cbz r3, .L298 2229:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 5437 .loc 1 2229 5 is_stmt 1 view .LVU1999 5438 005a 2368 ldr r3, [r4] 5439 005c 174A ldr r2, .L305 5440 005e 9A63 str r2, [r3, #56] 2230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR; 5441 .loc 1 2230 5 view .LVU2000 2230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR; 5442 .loc 1 2230 16 is_stmt 0 view .LVU2001 5443 0060 0125 movs r5, #1 5444 .LVL410: 2230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR; 5445 .loc 1 2230 16 view .LVU2002 5446 0062 84F83450 strb r5, [r4, #52] 2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5447 .loc 1 2231 5 is_stmt 1 view .LVU2003 5448 .LVL411: 5449 .L299: 2246:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 5450 .loc 1 2246 3 view .LVU2004 2246:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) ARM GAS /tmp/ccME1oKf.s page 186 5451 .loc 1 2246 16 is_stmt 0 view .LVU2005 5452 0066 4FF40071 mov r1, #512 5453 006a 2068 ldr r0, [r4] 5454 006c FFF7FEFF bl SDMMC_CmdBlockLength 5455 .LVL412: 2247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5456 .loc 1 2247 3 is_stmt 1 view .LVU2006 2247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5457 .loc 1 2247 5 is_stmt 0 view .LVU2007 5458 0070 30B1 cbz r0, .L300 2250:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 5459 .loc 1 2250 5 is_stmt 1 view .LVU2008 5460 0072 2368 ldr r3, [r4] 5461 0074 1149 ldr r1, .L305 5462 0076 9963 str r1, [r3, #56] 2251:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR; 5463 .loc 1 2251 5 view .LVU2009 2251:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** status = HAL_ERROR; 5464 .loc 1 2251 20 is_stmt 0 view .LVU2010 5465 0078 A36B ldr r3, [r4, #56] 5466 007a 0343 orrs r3, r3, r0 5467 007c A363 str r3, [r4, #56] 2252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5468 .loc 1 2252 5 is_stmt 1 view .LVU2011 5469 .LVL413: 2252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5470 .loc 1 2252 12 is_stmt 0 view .LVU2012 5471 007e 0125 movs r5, #1 5472 .LVL414: 5473 .L300: 2256:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5474 .loc 1 2256 3 is_stmt 1 view .LVU2013 2256:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5475 .loc 1 2256 14 is_stmt 0 view .LVU2014 5476 0080 0123 movs r3, #1 5477 0082 84F83430 strb r3, [r4, #52] 2258:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5478 .loc 1 2258 3 is_stmt 1 view .LVU2015 2259:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5479 .loc 1 2259 1 is_stmt 0 view .LVU2016 5480 0086 2846 mov r0, r5 5481 .LVL415: 2259:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5482 .loc 1 2259 1 view .LVU2017 5483 0088 0BB0 add sp, sp, #44 5484 .LCFI68: 5485 .cfi_remember_state 5486 .cfi_def_cfa_offset 12 5487 @ sp needed 5488 008a 30BD pop {r4, r5, pc} 5489 .LVL416: 5490 .L298: 5491 .LCFI69: 5492 .cfi_restore_state 2236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockBypass = hsd->Init.ClockBypass; 5493 .loc 1 2236 5 is_stmt 1 view .LVU2018 2236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockBypass = hsd->Init.ClockBypass; ARM GAS /tmp/ccME1oKf.s page 187 5494 .loc 1 2236 41 is_stmt 0 view .LVU2019 5495 008c 6368 ldr r3, [r4, #4] 2236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockBypass = hsd->Init.ClockBypass; 5496 .loc 1 2236 30 view .LVU2020 5497 008e 0493 str r3, [sp, #16] 2237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockPowerSave = hsd->Init.ClockPowerSave; 5498 .loc 1 2237 5 is_stmt 1 view .LVU2021 2237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockPowerSave = hsd->Init.ClockPowerSave; 5499 .loc 1 2237 41 is_stmt 0 view .LVU2022 5500 0090 A368 ldr r3, [r4, #8] 2237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockPowerSave = hsd->Init.ClockPowerSave; 5501 .loc 1 2237 30 view .LVU2023 5502 0092 0593 str r3, [sp, #20] 2238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.BusWide = WideMode; 5503 .loc 1 2238 5 is_stmt 1 view .LVU2024 2238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.BusWide = WideMode; 5504 .loc 1 2238 41 is_stmt 0 view .LVU2025 5505 0094 E368 ldr r3, [r4, #12] 2238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.BusWide = WideMode; 5506 .loc 1 2238 30 view .LVU2026 5507 0096 0693 str r3, [sp, #24] 2239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.HardwareFlowControl = hsd->Init.HardwareFlowControl; 5508 .loc 1 2239 5 is_stmt 1 view .LVU2027 2239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.HardwareFlowControl = hsd->Init.HardwareFlowControl; 5509 .loc 1 2239 30 is_stmt 0 view .LVU2028 5510 0098 0795 str r5, [sp, #28] 2240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockDiv = hsd->Init.ClockDiv; 5511 .loc 1 2240 5 is_stmt 1 view .LVU2029 2240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockDiv = hsd->Init.ClockDiv; 5512 .loc 1 2240 41 is_stmt 0 view .LVU2030 5513 009a 6369 ldr r3, [r4, #20] 2240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** Init.ClockDiv = hsd->Init.ClockDiv; 5514 .loc 1 2240 30 view .LVU2031 5515 009c 0893 str r3, [sp, #32] 2241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_Init(hsd->Instance, Init); 5516 .loc 1 2241 5 is_stmt 1 view .LVU2032 2241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_Init(hsd->Instance, Init); 5517 .loc 1 2241 41 is_stmt 0 view .LVU2033 5518 009e A369 ldr r3, [r4, #24] 2241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** (void)SDMMC_Init(hsd->Instance, Init); 5519 .loc 1 2241 30 view .LVU2034 5520 00a0 0993 str r3, [sp, #36] 2242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5521 .loc 1 2242 5 is_stmt 1 view .LVU2035 2242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5522 .loc 1 2242 11 is_stmt 0 view .LVU2036 5523 00a2 0AAB add r3, sp, #40 5524 00a4 13E90700 ldmdb r3, {r0, r1, r2} 5525 00a8 8DE80700 stm sp, {r0, r1, r2} 5526 00ac 04AB add r3, sp, #16 5527 00ae 0ECB ldm r3, {r1, r2, r3} 5528 00b0 2068 ldr r0, [r4] 5529 00b2 FFF7FEFF bl SDMMC_Init 5530 .LVL417: 2188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5531 .loc 1 2188 21 view .LVU2037 5532 00b6 0025 movs r5, #0 ARM GAS /tmp/ccME1oKf.s page 188 5533 .LVL418: 2188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5534 .loc 1 2188 21 view .LVU2038 5535 00b8 D5E7 b .L299 5536 .L306: 5537 00ba 00BF .align 2 5538 .L305: 5539 00bc FF054000 .word 4195839 5540 .cfi_endproc 5541 .LFE164: 5543 .section .text.HAL_SD_GetCardState,"ax",%progbits 5544 .align 1 5545 .global HAL_SD_GetCardState 5546 .syntax unified 5547 .thumb 5548 .thumb_func 5549 .fpu fpv5-d16 5551 HAL_SD_GetCardState: 5552 .LVL419: 5553 .LFB165: 2267:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t cardstate; 5554 .loc 1 2267 1 is_stmt 1 view -0 5555 .cfi_startproc 5556 @ args = 0, pretend = 0, frame = 8 5557 @ frame_needed = 0, uses_anonymous_args = 0 2267:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t cardstate; 5558 .loc 1 2267 1 is_stmt 0 view .LVU2040 5559 0000 10B5 push {r4, lr} 5560 .LCFI70: 5561 .cfi_def_cfa_offset 8 5562 .cfi_offset 4, -8 5563 .cfi_offset 14, -4 5564 0002 82B0 sub sp, sp, #8 5565 .LCFI71: 5566 .cfi_def_cfa_offset 16 5567 0004 0446 mov r4, r0 2268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 5568 .loc 1 2268 3 is_stmt 1 view .LVU2041 2269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t resp1 = 0; 5569 .loc 1 2269 3 view .LVU2042 2270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5570 .loc 1 2270 3 view .LVU2043 2270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5571 .loc 1 2270 12 is_stmt 0 view .LVU2044 5572 0006 0023 movs r3, #0 5573 0008 0193 str r3, [sp, #4] 2272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 5574 .loc 1 2272 3 is_stmt 1 view .LVU2045 2272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 5575 .loc 1 2272 16 is_stmt 0 view .LVU2046 5576 000a 01A9 add r1, sp, #4 5577 000c FFF7FEFF bl SD_SendStatus 5578 .LVL420: 2273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5579 .loc 1 2273 3 is_stmt 1 view .LVU2047 2273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5580 .loc 1 2273 5 is_stmt 0 view .LVU2048 ARM GAS /tmp/ccME1oKf.s page 189 5581 0010 10B1 cbz r0, .L308 2275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5582 .loc 1 2275 5 is_stmt 1 view .LVU2049 2275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5583 .loc 1 2275 20 is_stmt 0 view .LVU2050 5584 0012 A36B ldr r3, [r4, #56] 5585 0014 0343 orrs r3, r3, r0 5586 0016 A363 str r3, [r4, #56] 5587 .L308: 2278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5588 .loc 1 2278 3 is_stmt 1 view .LVU2051 5589 .LVL421: 2280:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5590 .loc 1 2280 3 view .LVU2052 2281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5591 .loc 1 2281 1 is_stmt 0 view .LVU2053 5592 0018 0198 ldr r0, [sp, #4] 5593 .LVL422: 2281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5594 .loc 1 2281 1 view .LVU2054 5595 001a C0F34320 ubfx r0, r0, #9, #4 5596 .LVL423: 2281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5597 .loc 1 2281 1 view .LVU2055 5598 001e 02B0 add sp, sp, #8 5599 .LCFI72: 5600 .cfi_def_cfa_offset 8 5601 @ sp needed 5602 0020 10BD pop {r4, pc} 2281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5603 .loc 1 2281 1 view .LVU2056 5604 .cfi_endproc 5605 .LFE165: 5607 .section .text.SD_DMAError,"ax",%progbits 5608 .align 1 5609 .syntax unified 5610 .thumb 5611 .thumb_func 5612 .fpu fpv5-d16 5614 SD_DMAError: 5615 .LVL424: 5616 .LFB170: 2496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 5617 .loc 1 2496 1 is_stmt 1 view -0 5618 .cfi_startproc 5619 @ args = 0, pretend = 0, frame = 0 5620 @ frame_needed = 0, uses_anonymous_args = 0 2496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 5621 .loc 1 2496 1 is_stmt 0 view .LVU2058 5622 0000 10B5 push {r4, lr} 5623 .LCFI73: 5624 .cfi_def_cfa_offset 8 5625 .cfi_offset 4, -8 5626 .cfi_offset 14, -4 2497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState; 5627 .loc 1 2497 3 is_stmt 1 view .LVU2059 2497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState; ARM GAS /tmp/ccME1oKf.s page 190 5628 .loc 1 2497 21 is_stmt 0 view .LVU2060 5629 0002 846B ldr r4, [r0, #56] 5630 .LVL425: 2498:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t RxErrorCode, TxErrorCode; 5631 .loc 1 2498 3 is_stmt 1 view .LVU2061 2499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5632 .loc 1 2499 3 view .LVU2062 2502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5633 .loc 1 2502 3 view .LVU2063 2502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5634 .loc 1 2502 6 is_stmt 0 view .LVU2064 5635 0004 FFF7FEFF bl HAL_DMA_GetError 5636 .LVL426: 2502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5637 .loc 1 2502 5 view .LVU2065 5638 0008 0228 cmp r0, #2 5639 000a 0AD0 beq .L310 2504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** TxErrorCode = hsd->hdmatx->ErrorCode; 5640 .loc 1 2504 5 is_stmt 1 view .LVU2066 2504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** TxErrorCode = hsd->hdmatx->ErrorCode; 5641 .loc 1 2504 22 is_stmt 0 view .LVU2067 5642 000c 236C ldr r3, [r4, #64] 2504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** TxErrorCode = hsd->hdmatx->ErrorCode; 5643 .loc 1 2504 17 view .LVU2068 5644 000e 5A6D ldr r2, [r3, #84] 5645 .LVL427: 2505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((RxErrorCode == HAL_DMA_ERROR_TE) || (TxErrorCode == HAL_DMA_ERROR_TE)) 5646 .loc 1 2505 5 is_stmt 1 view .LVU2069 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 22 is_stmt 0 view .LVU2070 5648 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)) 5649 .loc 1 2505 17 view .LVU2071 5650 0012 5B6D ldr r3, [r3, #84] 5651 .LVL428: 2506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5652 .loc 1 2506 5 is_stmt 1 view .LVU2072 2506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5653 .loc 1 2506 7 is_stmt 0 view .LVU2073 5654 0014 012B cmp r3, #1 5655 0016 18BF it ne 5656 0018 012A cmpne r2, #1 5657 001a 03D0 beq .L315 5658 .LVL429: 5659 .L312: 2529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif 5660 .loc 1 2529 5 is_stmt 1 view .LVU2074 5661 001c 2046 mov r0, r4 5662 001e FFF7FEFF bl HAL_SD_ErrorCallback 5663 .LVL430: 5664 .L310: 2532:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5665 .loc 1 2532 1 is_stmt 0 view .LVU2075 5666 0022 10BD pop {r4, pc} 5667 .LVL431: 5668 .L315: 2509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ARM GAS /tmp/ccME1oKf.s page 191 5669 .loc 1 2509 7 is_stmt 1 view .LVU2076 5670 0024 2368 ldr r3, [r4] 5671 .LVL432: 2509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5672 .loc 1 2509 7 is_stmt 0 view .LVU2077 5673 0026 0F4A ldr r2, .L317 5674 .LVL433: 2509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5675 .loc 1 2509 7 view .LVU2078 5676 0028 9A63 str r2, [r3, #56] 2512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR); 5677 .loc 1 2512 7 is_stmt 1 view .LVU2079 5678 002a 2268 ldr r2, [r4] 5679 002c D36B ldr r3, [r2, #60] 5680 002e 23F49D73 bic r3, r3, #314 5681 0032 D363 str r3, [r2, #60] 2515:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** CardState = HAL_SD_GetCardState(hsd); 5682 .loc 1 2515 7 view .LVU2080 2515:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** CardState = HAL_SD_GetCardState(hsd); 5683 .loc 1 2515 22 is_stmt 0 view .LVU2081 5684 0034 A36B ldr r3, [r4, #56] 5685 0036 43F08043 orr r3, r3, #1073741824 5686 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)) 5687 .loc 1 2516 7 is_stmt 1 view .LVU2082 2516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 5688 .loc 1 2516 19 is_stmt 0 view .LVU2083 5689 003c 2046 mov r0, r4 5690 003e FFF7FEFF bl HAL_SD_GetCardState 5691 .LVL434: 2517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5692 .loc 1 2517 7 is_stmt 1 view .LVU2084 2517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5693 .loc 1 2517 47 is_stmt 0 view .LVU2085 5694 0042 0538 subs r0, r0, #5 5695 .LVL435: 2517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5696 .loc 1 2517 9 view .LVU2086 5697 0044 0128 cmp r0, #1 5698 0046 05D9 bls .L316 5699 .LVL436: 5700 .L313: 2522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 5701 .loc 1 2522 7 is_stmt 1 view .LVU2087 2522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 5702 .loc 1 2522 17 is_stmt 0 view .LVU2088 5703 0048 0123 movs r3, #1 5704 004a 84F83430 strb r3, [r4, #52] 2523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5705 .loc 1 2523 7 is_stmt 1 view .LVU2089 2523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5706 .loc 1 2523 20 is_stmt 0 view .LVU2090 5707 004e 0023 movs r3, #0 5708 0050 2363 str r3, [r4, #48] 5709 0052 E3E7 b .L312 5710 .LVL437: 5711 .L316: ARM GAS /tmp/ccME1oKf.s page 192 2519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5712 .loc 1 2519 9 is_stmt 1 view .LVU2091 2519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5713 .loc 1 2519 27 is_stmt 0 view .LVU2092 5714 0054 2068 ldr r0, [r4] 5715 .LVL438: 2519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5716 .loc 1 2519 27 view .LVU2093 5717 0056 FFF7FEFF bl SDMMC_CmdStopTransfer 5718 .LVL439: 2519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5719 .loc 1 2519 24 view .LVU2094 5720 005a A36B ldr r3, [r4, #56] 5721 005c 0343 orrs r3, r3, r0 5722 005e A363 str r3, [r4, #56] 5723 0060 F2E7 b .L313 5724 .L318: 5725 0062 00BF .align 2 5726 .L317: 5727 0064 FF054000 .word 4195839 5728 .cfi_endproc 5729 .LFE170: 5731 .section .text.SD_DMATxAbort,"ax",%progbits 5732 .align 1 5733 .syntax unified 5734 .thumb 5735 .thumb_func 5736 .fpu fpv5-d16 5738 SD_DMATxAbort: 5739 .LVL440: 5740 .LFB171: 2540:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 5741 .loc 1 2540 1 is_stmt 1 view -0 5742 .cfi_startproc 5743 @ args = 0, pretend = 0, frame = 0 5744 @ frame_needed = 0, uses_anonymous_args = 0 2540:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 5745 .loc 1 2540 1 is_stmt 0 view .LVU2096 5746 0000 10B5 push {r4, lr} 5747 .LCFI74: 5748 .cfi_def_cfa_offset 8 5749 .cfi_offset 4, -8 5750 .cfi_offset 14, -4 2541:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState; 5751 .loc 1 2541 3 is_stmt 1 view .LVU2097 2541:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState; 5752 .loc 1 2541 21 is_stmt 0 view .LVU2098 5753 0002 846B ldr r4, [r0, #56] 5754 .LVL441: 2542:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5755 .loc 1 2542 3 is_stmt 1 view .LVU2099 2545:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5756 .loc 1 2545 3 view .LVU2100 5757 0004 2368 ldr r3, [r4] 5758 0006 40F23A52 movw r2, #1338 5759 000a 9A63 str r2, [r3, #56] 2547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; ARM GAS /tmp/ccME1oKf.s page 193 5760 .loc 1 2547 3 view .LVU2101 2547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 5761 .loc 1 2547 15 is_stmt 0 view .LVU2102 5762 000c 2046 mov r0, r4 5763 .LVL442: 2547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 5764 .loc 1 2547 15 view .LVU2103 5765 000e FFF7FEFF bl HAL_SD_GetCardState 5766 .LVL443: 2548:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 5767 .loc 1 2548 3 is_stmt 1 view .LVU2104 2548:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 5768 .loc 1 2548 14 is_stmt 0 view .LVU2105 5769 0012 0123 movs r3, #1 5770 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)) 5771 .loc 1 2549 3 is_stmt 1 view .LVU2106 2549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 5772 .loc 1 2549 16 is_stmt 0 view .LVU2107 5773 0018 0023 movs r3, #0 5774 001a 2363 str r3, [r4, #48] 2550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5775 .loc 1 2550 3 is_stmt 1 view .LVU2108 2550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5776 .loc 1 2550 43 is_stmt 0 view .LVU2109 5777 001c 0538 subs r0, r0, #5 5778 .LVL444: 2550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5779 .loc 1 2550 5 view .LVU2110 5780 001e 0128 cmp r0, #1 5781 0020 05D9 bls .L324 5782 .LVL445: 5783 .L320: 2555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5784 .loc 1 2555 3 is_stmt 1 view .LVU2111 2555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5785 .loc 1 2555 9 is_stmt 0 view .LVU2112 5786 0022 A36B ldr r3, [r4, #56] 2555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5787 .loc 1 2555 5 view .LVU2113 5788 0024 53B9 cbnz r3, .L321 2560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif 5789 .loc 1 2560 5 is_stmt 1 view .LVU2114 5790 0026 2046 mov r0, r4 5791 0028 FFF7FEFF bl HAL_SD_AbortCallback 5792 .LVL446: 5793 .L319: 2571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5794 .loc 1 2571 1 is_stmt 0 view .LVU2115 5795 002c 10BD pop {r4, pc} 5796 .LVL447: 5797 .L324: 2552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5798 .loc 1 2552 5 is_stmt 1 view .LVU2116 2552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5799 .loc 1 2552 23 is_stmt 0 view .LVU2117 5800 002e 2068 ldr r0, [r4] ARM GAS /tmp/ccME1oKf.s page 194 5801 .LVL448: 2552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5802 .loc 1 2552 23 view .LVU2118 5803 0030 FFF7FEFF bl SDMMC_CmdStopTransfer 5804 .LVL449: 2552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5805 .loc 1 2552 20 view .LVU2119 5806 0034 A36B ldr r3, [r4, #56] 5807 0036 0343 orrs r3, r3, r0 5808 0038 A363 str r3, [r4, #56] 5809 003a F2E7 b .L320 5810 .L321: 2568:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif 5811 .loc 1 2568 5 is_stmt 1 view .LVU2120 5812 003c 2046 mov r0, r4 5813 003e FFF7FEFF bl HAL_SD_ErrorCallback 5814 .LVL450: 2571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5815 .loc 1 2571 1 is_stmt 0 view .LVU2121 5816 0042 F3E7 b .L319 5817 .cfi_endproc 5818 .LFE171: 5820 .section .text.SD_DMARxAbort,"ax",%progbits 5821 .align 1 5822 .syntax unified 5823 .thumb 5824 .thumb_func 5825 .fpu fpv5-d16 5827 SD_DMARxAbort: 5828 .LVL451: 5829 .LFB172: 2579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 5830 .loc 1 2579 1 is_stmt 1 view -0 5831 .cfi_startproc 5832 @ args = 0, pretend = 0, frame = 0 5833 @ frame_needed = 0, uses_anonymous_args = 0 2579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 5834 .loc 1 2579 1 is_stmt 0 view .LVU2123 5835 0000 10B5 push {r4, lr} 5836 .LCFI75: 5837 .cfi_def_cfa_offset 8 5838 .cfi_offset 4, -8 5839 .cfi_offset 14, -4 2580:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState; 5840 .loc 1 2580 3 is_stmt 1 view .LVU2124 2580:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState; 5841 .loc 1 2580 21 is_stmt 0 view .LVU2125 5842 0002 846B ldr r4, [r0, #56] 5843 .LVL452: 2581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5844 .loc 1 2581 3 is_stmt 1 view .LVU2126 2584:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5845 .loc 1 2584 3 view .LVU2127 5846 0004 2368 ldr r3, [r4] 5847 0006 40F23A52 movw r2, #1338 5848 000a 9A63 str r2, [r3, #56] 2586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; ARM GAS /tmp/ccME1oKf.s page 195 5849 .loc 1 2586 3 view .LVU2128 2586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 5850 .loc 1 2586 15 is_stmt 0 view .LVU2129 5851 000c 2046 mov r0, r4 5852 .LVL453: 2586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 5853 .loc 1 2586 15 view .LVU2130 5854 000e FFF7FEFF bl HAL_SD_GetCardState 5855 .LVL454: 2587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 5856 .loc 1 2587 3 is_stmt 1 view .LVU2131 2587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 5857 .loc 1 2587 14 is_stmt 0 view .LVU2132 5858 0012 0123 movs r3, #1 5859 0014 84F83430 strb r3, [r4, #52] 2588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 5860 .loc 1 2588 3 is_stmt 1 view .LVU2133 2588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 5861 .loc 1 2588 16 is_stmt 0 view .LVU2134 5862 0018 0023 movs r3, #0 5863 001a 2363 str r3, [r4, #48] 2589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5864 .loc 1 2589 3 is_stmt 1 view .LVU2135 2589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5865 .loc 1 2589 43 is_stmt 0 view .LVU2136 5866 001c 0538 subs r0, r0, #5 5867 .LVL455: 2589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5868 .loc 1 2589 5 view .LVU2137 5869 001e 0128 cmp r0, #1 5870 0020 05D9 bls .L330 5871 .LVL456: 5872 .L326: 2594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5873 .loc 1 2594 3 is_stmt 1 view .LVU2138 2594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5874 .loc 1 2594 9 is_stmt 0 view .LVU2139 5875 0022 A36B ldr r3, [r4, #56] 2594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5876 .loc 1 2594 5 view .LVU2140 5877 0024 53B9 cbnz r3, .L327 2599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif 5878 .loc 1 2599 5 is_stmt 1 view .LVU2141 5879 0026 2046 mov r0, r4 5880 0028 FFF7FEFF bl HAL_SD_AbortCallback 5881 .LVL457: 5882 .L325: 2610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5883 .loc 1 2610 1 is_stmt 0 view .LVU2142 5884 002c 10BD pop {r4, pc} 5885 .LVL458: 5886 .L330: 2591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5887 .loc 1 2591 5 is_stmt 1 view .LVU2143 2591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5888 .loc 1 2591 23 is_stmt 0 view .LVU2144 5889 002e 2068 ldr r0, [r4] ARM GAS /tmp/ccME1oKf.s page 196 5890 .LVL459: 2591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5891 .loc 1 2591 23 view .LVU2145 5892 0030 FFF7FEFF bl SDMMC_CmdStopTransfer 5893 .LVL460: 2591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 5894 .loc 1 2591 20 view .LVU2146 5895 0034 A36B ldr r3, [r4, #56] 5896 0036 0343 orrs r3, r3, r0 5897 0038 A363 str r3, [r4, #56] 5898 003a F2E7 b .L326 5899 .L327: 2607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif 5900 .loc 1 2607 5 is_stmt 1 view .LVU2147 5901 003c 2046 mov r0, r4 5902 003e FFF7FEFF bl HAL_SD_ErrorCallback 5903 .LVL461: 2610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5904 .loc 1 2610 1 is_stmt 0 view .LVU2148 5905 0042 F3E7 b .L325 5906 .cfi_endproc 5907 .LFE172: 5909 .section .text.HAL_SD_IRQHandler,"ax",%progbits 5910 .align 1 5911 .global HAL_SD_IRQHandler 5912 .syntax unified 5913 .thumb 5914 .thumb_func 5915 .fpu fpv5-d16 5917 HAL_SD_IRQHandler: 5918 .LVL462: 5919 .LFB153: 1485:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 5920 .loc 1 1485 1 is_stmt 1 view -0 5921 .cfi_startproc 5922 @ args = 0, pretend = 0, frame = 0 5923 @ frame_needed = 0, uses_anonymous_args = 0 1485:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t errorstate; 5924 .loc 1 1485 1 is_stmt 0 view .LVU2150 5925 0000 38B5 push {r3, r4, r5, lr} 5926 .LCFI76: 5927 .cfi_def_cfa_offset 16 5928 .cfi_offset 3, -16 5929 .cfi_offset 4, -12 5930 .cfi_offset 5, -8 5931 .cfi_offset 14, -4 5932 0002 0446 mov r4, r0 1486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t context = hsd->Context; 5933 .loc 1 1486 3 is_stmt 1 view .LVU2151 1487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5934 .loc 1 1487 3 view .LVU2152 1487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5935 .loc 1 1487 12 is_stmt 0 view .LVU2153 5936 0004 056B ldr r5, [r0, #48] 5937 .LVL463: 1490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5938 .loc 1 1490 3 is_stmt 1 view .LVU2154 ARM GAS /tmp/ccME1oKf.s page 197 1490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5939 .loc 1 1490 7 is_stmt 0 view .LVU2155 5940 0006 0368 ldr r3, [r0] 5941 0008 5A6B ldr r2, [r3, #52] 1490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5942 .loc 1 1490 5 view .LVU2156 5943 000a 12F4004F tst r2, #32768 5944 000e 02D0 beq .L332 1490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5945 .loc 1 1490 61 discriminator 1 view .LVU2157 5946 0010 15F0080F tst r5, #8 5947 0014 26D1 bne .L348 5948 .L332: 1495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5949 .loc 1 1495 8 is_stmt 1 view .LVU2158 1495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5950 .loc 1 1495 11 is_stmt 0 view .LVU2159 5951 0016 5A6B ldr r2, [r3, #52] 1495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5952 .loc 1 1495 10 view .LVU2160 5953 0018 12F4807F tst r2, #256 5954 001c 58D0 beq .L334 1497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5955 .loc 1 1497 5 is_stmt 1 view .LVU2161 5956 001e 4FF48072 mov r2, #256 5957 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 |\ 5958 .loc 1 1499 5 view .LVU2162 5959 0024 2268 ldr r2, [r4] 5960 0026 D16B ldr r1, [r2, #60] 5961 0028 644B ldr r3, .L354 5962 002a 0B40 ands r3, r3, r1 5963 002c D363 str r3, [r2, #60] 1503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5964 .loc 1 1503 5 view .LVU2163 1503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5965 .loc 1 1503 8 is_stmt 0 view .LVU2164 5966 002e 2268 ldr r2, [r4] 1503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5967 .loc 1 1503 26 view .LVU2165 5968 0030 D36A ldr r3, [r2, #44] 5969 0032 23F00103 bic r3, r3, #1 5970 0036 D362 str r3, [r2, #44] 1505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5971 .loc 1 1505 5 is_stmt 1 view .LVU2166 1505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5972 .loc 1 1505 7 is_stmt 0 view .LVU2167 5973 0038 15F0080F tst r5, #8 5974 003c 26D0 beq .L335 1507:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5975 .loc 1 1507 7 is_stmt 1 view .LVU2168 1507:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5976 .loc 1 1507 9 is_stmt 0 view .LVU2169 5977 003e 15F0220F tst r5, #34 5978 0042 12D1 bne .L349 5979 .LVL464: 5980 .L336: ARM GAS /tmp/ccME1oKf.s page 198 1522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 5981 .loc 1 1522 7 is_stmt 1 view .LVU2170 5982 0044 2368 ldr r3, [r4] 5983 0046 40F23A52 movw r2, #1338 5984 004a 9A63 str r2, [r3, #56] 1524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 5985 .loc 1 1524 7 view .LVU2171 1524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 5986 .loc 1 1524 18 is_stmt 0 view .LVU2172 5987 004c 0123 movs r3, #1 5988 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 5989 .loc 1 1525 7 is_stmt 1 view .LVU2173 1525:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIPLE_B 5990 .loc 1 1525 20 is_stmt 0 view .LVU2174 5991 0052 0023 movs r3, #0 5992 0054 2363 str r3, [r4, #48] 1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5993 .loc 1 1526 7 is_stmt 1 view .LVU2175 1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 5994 .loc 1 1526 9 is_stmt 0 view .LVU2176 5995 0056 15F0030F tst r5, #3 5996 005a 13D0 beq .L337 1531:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 5997 .loc 1 1531 9 is_stmt 1 view .LVU2177 5998 005c 2046 mov r0, r4 5999 005e FFF7FEFF bl HAL_SD_RxCpltCallback 6000 .LVL465: 6001 0062 01E0 b .L331 6002 .LVL466: 6003 .L348: 1492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6004 .loc 1 1492 5 view .LVU2178 6005 0064 FFF7FEFF bl SD_Read_IT 6006 .LVL467: 6007 .L331: 1668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6008 .loc 1 1668 1 is_stmt 0 view .LVU2179 6009 0068 38BD pop {r3, r4, r5, pc} 6010 .LVL468: 6011 .L349: 1509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 6012 .loc 1 1509 9 is_stmt 1 view .LVU2180 1509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 6013 .loc 1 1509 22 is_stmt 0 view .LVU2181 6014 006a 2068 ldr r0, [r4] 6015 .LVL469: 1509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 6016 .loc 1 1509 22 view .LVU2182 6017 006c FFF7FEFF bl SDMMC_CmdStopTransfer 6018 .LVL470: 1510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6019 .loc 1 1510 9 is_stmt 1 view .LVU2183 1510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6020 .loc 1 1510 11 is_stmt 0 view .LVU2184 6021 0070 0346 mov r3, r0 6022 0072 0028 cmp r0, #0 ARM GAS /tmp/ccME1oKf.s page 199 6023 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) 6024 .loc 1 1512 11 is_stmt 1 view .LVU2185 1512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 6025 .loc 1 1512 26 is_stmt 0 view .LVU2186 6026 0076 A26B ldr r2, [r4, #56] 6027 0078 1343 orrs r3, r3, r2 6028 007a A363 str r3, [r4, #56] 1516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 6029 .loc 1 1516 11 is_stmt 1 view .LVU2187 6030 007c 2046 mov r0, r4 6031 .LVL471: 1516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 6032 .loc 1 1516 11 is_stmt 0 view .LVU2188 6033 007e FFF7FEFF bl HAL_SD_ErrorCallback 6034 .LVL472: 6035 0082 DFE7 b .L336 6036 .L337: 1539:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 6037 .loc 1 1539 9 is_stmt 1 view .LVU2189 6038 0084 2046 mov r0, r4 6039 0086 FFF7FEFF bl HAL_SD_TxCpltCallback 6040 .LVL473: 6041 008a EDE7 b .L331 6042 .LVL474: 6043 .L335: 1543:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6044 .loc 1 1543 10 view .LVU2190 1543:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6045 .loc 1 1543 12 is_stmt 0 view .LVU2191 6046 008c 15F0800F tst r5, #128 6047 0090 EAD0 beq .L331 1545:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6048 .loc 1 1545 7 is_stmt 1 view .LVU2192 1545:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6049 .loc 1 1545 9 is_stmt 0 view .LVU2193 6050 0092 15F0200F tst r5, #32 6051 0096 0ED1 bne .L350 6052 .LVL475: 6053 .L338: 1558:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6054 .loc 1 1558 7 is_stmt 1 view .LVU2194 1558:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6055 .loc 1 1558 9 is_stmt 0 view .LVU2195 6056 0098 15F0030F tst r5, #3 6057 009c E4D1 bne .L331 1562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6058 .loc 1 1562 9 is_stmt 1 view .LVU2196 1562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6059 .loc 1 1562 12 is_stmt 0 view .LVU2197 6060 009e 2268 ldr r2, [r4] 1562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6061 .loc 1 1562 30 view .LVU2198 6062 00a0 D36A ldr r3, [r2, #44] 6063 00a2 23F00803 bic r3, r3, #8 6064 00a6 D362 str r3, [r2, #44] 1564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** ARM GAS /tmp/ccME1oKf.s page 200 6065 .loc 1 1564 9 is_stmt 1 view .LVU2199 1564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6066 .loc 1 1564 20 is_stmt 0 view .LVU2200 6067 00a8 0123 movs r3, #1 6068 00aa 84F83430 strb r3, [r4, #52] 1569:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 6069 .loc 1 1569 9 is_stmt 1 view .LVU2201 6070 00ae 2046 mov r0, r4 6071 00b0 FFF7FEFF bl HAL_SD_TxCpltCallback 6072 .LVL476: 6073 00b4 D8E7 b .L331 6074 .LVL477: 6075 .L350: 1547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 6076 .loc 1 1547 9 view .LVU2202 1547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 6077 .loc 1 1547 22 is_stmt 0 view .LVU2203 6078 00b6 2068 ldr r0, [r4] 6079 .LVL478: 1547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 6080 .loc 1 1547 22 view .LVU2204 6081 00b8 FFF7FEFF bl SDMMC_CmdStopTransfer 6082 .LVL479: 1548:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6083 .loc 1 1548 9 is_stmt 1 view .LVU2205 1548:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6084 .loc 1 1548 11 is_stmt 0 view .LVU2206 6085 00bc 0346 mov r3, r0 6086 00be 0028 cmp r0, #0 6087 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) 6088 .loc 1 1550 11 is_stmt 1 view .LVU2207 1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 6089 .loc 1 1550 26 is_stmt 0 view .LVU2208 6090 00c2 A26B ldr r2, [r4, #56] 6091 00c4 1343 orrs r3, r3, r2 6092 00c6 A363 str r3, [r4, #56] 1554:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 6093 .loc 1 1554 11 is_stmt 1 view .LVU2209 6094 00c8 2046 mov r0, r4 6095 .LVL480: 1554:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 6096 .loc 1 1554 11 is_stmt 0 view .LVU2210 6097 00ca FFF7FEFF bl HAL_SD_ErrorCallback 6098 .LVL481: 6099 00ce E3E7 b .L338 6100 .LVL482: 6101 .L334: 1579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6102 .loc 1 1579 8 is_stmt 1 view .LVU2211 1579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6103 .loc 1 1579 12 is_stmt 0 view .LVU2212 6104 00d0 5A6B ldr r2, [r3, #52] 1579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6105 .loc 1 1579 10 view .LVU2213 6106 00d2 12F4804F tst r2, #16384 6107 00d6 02D0 beq .L339 ARM GAS /tmp/ccME1oKf.s page 201 1579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6108 .loc 1 1579 66 discriminator 1 view .LVU2214 6109 00d8 15F0080F tst r5, #8 6110 00dc 4AD1 bne .L351 6111 .L339: 1584:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6112 .loc 1 1584 8 is_stmt 1 view .LVU2215 1584:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6113 .loc 1 1584 11 is_stmt 0 view .LVU2216 6114 00de 5A6B ldr r2, [r3, #52] 1584:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6115 .loc 1 1584 10 view .LVU2217 6116 00e0 12F03A0F tst r2, #58 6117 00e4 C0D0 beq .L331 1587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6118 .loc 1 1587 5 is_stmt 1 view .LVU2218 1587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6119 .loc 1 1587 8 is_stmt 0 view .LVU2219 6120 00e6 5A6B ldr r2, [r3, #52] 1587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6121 .loc 1 1587 7 view .LVU2220 6122 00e8 12F0020F tst r2, #2 6123 00ec 03D0 beq .L340 1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6124 .loc 1 1589 7 is_stmt 1 view .LVU2221 1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6125 .loc 1 1589 22 is_stmt 0 view .LVU2222 6126 00ee A26B ldr r2, [r4, #56] 6127 00f0 42F00202 orr r2, r2, #2 6128 00f4 A263 str r2, [r4, #56] 6129 .L340: 1591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6130 .loc 1 1591 5 is_stmt 1 view .LVU2223 1591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6131 .loc 1 1591 8 is_stmt 0 view .LVU2224 6132 00f6 5A6B ldr r2, [r3, #52] 1591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6133 .loc 1 1591 7 view .LVU2225 6134 00f8 12F0080F tst r2, #8 6135 00fc 03D0 beq .L341 1593:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6136 .loc 1 1593 7 is_stmt 1 view .LVU2226 1593:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6137 .loc 1 1593 22 is_stmt 0 view .LVU2227 6138 00fe A26B ldr r2, [r4, #56] 6139 0100 42F00802 orr r2, r2, #8 6140 0104 A263 str r2, [r4, #56] 6141 .L341: 1595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6142 .loc 1 1595 5 is_stmt 1 view .LVU2228 1595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6143 .loc 1 1595 8 is_stmt 0 view .LVU2229 6144 0106 5A6B ldr r2, [r3, #52] 1595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6145 .loc 1 1595 7 view .LVU2230 6146 0108 12F0200F tst r2, #32 6147 010c 03D0 beq .L342 ARM GAS /tmp/ccME1oKf.s page 202 1597:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6148 .loc 1 1597 7 is_stmt 1 view .LVU2231 1597:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6149 .loc 1 1597 22 is_stmt 0 view .LVU2232 6150 010e A26B ldr r2, [r4, #56] 6151 0110 42F02002 orr r2, r2, #32 6152 0114 A263 str r2, [r4, #56] 6153 .L342: 1599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6154 .loc 1 1599 5 is_stmt 1 view .LVU2233 1599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6155 .loc 1 1599 8 is_stmt 0 view .LVU2234 6156 0116 5A6B ldr r2, [r3, #52] 1599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6157 .loc 1 1599 7 view .LVU2235 6158 0118 12F0100F tst r2, #16 6159 011c 03D0 beq .L343 1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6160 .loc 1 1601 7 is_stmt 1 view .LVU2236 1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6161 .loc 1 1601 22 is_stmt 0 view .LVU2237 6162 011e A26B ldr r2, [r4, #56] 6163 0120 42F01002 orr r2, r2, #16 6164 0124 A263 str r2, [r4, #56] 6165 .L343: 1605:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6166 .loc 1 1605 5 is_stmt 1 view .LVU2238 6167 0126 40F23A52 movw r2, #1338 6168 012a 9A63 str r2, [r3, #56] 1608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR); 6169 .loc 1 1608 5 view .LVU2239 6170 012c 2268 ldr r2, [r4] 6171 012e D36B ldr r3, [r2, #60] 6172 0130 23F49D73 bic r3, r3, #314 6173 0134 D363 str r3, [r2, #60] 1611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6174 .loc 1 1611 5 view .LVU2240 1611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6175 .loc 1 1611 23 is_stmt 0 view .LVU2241 6176 0136 2068 ldr r0, [r4] 6177 .LVL483: 1611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6178 .loc 1 1611 23 view .LVU2242 6179 0138 FFF7FEFF bl SDMMC_CmdStopTransfer 6180 .LVL484: 1611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6181 .loc 1 1611 20 view .LVU2243 6182 013c A36B ldr r3, [r4, #56] 6183 013e 0343 orrs r3, r3, r0 6184 0140 A363 str r3, [r4, #56] 1613:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6185 .loc 1 1613 5 is_stmt 1 view .LVU2244 1613:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6186 .loc 1 1613 7 is_stmt 0 view .LVU2245 6187 0142 15F0080F tst r5, #8 6188 0146 19D1 bne .L352 1624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { ARM GAS /tmp/ccME1oKf.s page 203 6189 .loc 1 1624 10 is_stmt 1 view .LVU2246 1624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6190 .loc 1 1624 12 is_stmt 0 view .LVU2247 6191 0148 15F0800F tst r5, #128 6192 014c 8CD0 beq .L331 1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6193 .loc 1 1627 7 is_stmt 1 view .LVU2248 1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6194 .loc 1 1627 9 is_stmt 0 view .LVU2249 6195 014e 15F0300F tst r5, #48 6196 0152 1CD1 bne .L353 1637:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6197 .loc 1 1637 12 is_stmt 1 view .LVU2250 1637:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6198 .loc 1 1637 14 is_stmt 0 view .LVU2251 6199 0154 15F0030F tst r5, #3 6200 0158 26D0 beq .L346 1640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Abort DMA in IT mode */ 6201 .loc 1 1640 9 is_stmt 1 view .LVU2252 1640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Abort DMA in IT mode */ 6202 .loc 1 1640 12 is_stmt 0 view .LVU2253 6203 015a 236C ldr r3, [r4, #64] 1640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Abort DMA in IT mode */ 6204 .loc 1 1640 40 view .LVU2254 6205 015c 184A ldr r2, .L354+4 6206 015e 1A65 str r2, [r3, #80] 1642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6207 .loc 1 1642 9 is_stmt 1 view .LVU2255 1642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6208 .loc 1 1642 12 is_stmt 0 view .LVU2256 6209 0160 206C ldr r0, [r4, #64] 6210 0162 FFF7FEFF bl HAL_DMA_Abort_IT 6211 .LVL485: 1642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6212 .loc 1 1642 11 view .LVU2257 6213 0166 0028 cmp r0, #0 6214 0168 3FF47EAF beq .L331 1644:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6215 .loc 1 1644 11 is_stmt 1 view .LVU2258 6216 016c 206C ldr r0, [r4, #64] 6217 016e FFF7FEFF bl SD_DMARxAbort 6218 .LVL486: 6219 0172 79E7 b .L331 6220 .LVL487: 6221 .L351: 1581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6222 .loc 1 1581 5 view .LVU2259 6223 0174 2046 mov r0, r4 6224 .LVL488: 1581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6225 .loc 1 1581 5 is_stmt 0 view .LVU2260 6226 0176 FFF7FEFF bl SD_Write_IT 6227 .LVL489: 6228 017a 75E7 b .L331 6229 .L352: 1616:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 6230 .loc 1 1616 7 is_stmt 1 view .LVU2261 ARM GAS /tmp/ccME1oKf.s page 204 1616:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 6231 .loc 1 1616 18 is_stmt 0 view .LVU2262 6232 017c 0123 movs r3, #1 6233 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) 6234 .loc 1 1617 7 is_stmt 1 view .LVU2263 1617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 6235 .loc 1 1617 20 is_stmt 0 view .LVU2264 6236 0182 0023 movs r3, #0 6237 0184 2363 str r3, [r4, #48] 1621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 6238 .loc 1 1621 7 is_stmt 1 view .LVU2265 6239 0186 2046 mov r0, r4 6240 0188 FFF7FEFF bl HAL_SD_ErrorCallback 6241 .LVL490: 6242 018c 6CE7 b .L331 6243 .L353: 1630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Abort DMA in IT mode */ 6244 .loc 1 1630 9 view .LVU2266 1630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Abort DMA in IT mode */ 6245 .loc 1 1630 12 is_stmt 0 view .LVU2267 6246 018e E36B ldr r3, [r4, #60] 1630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** /* Abort DMA in IT mode */ 6247 .loc 1 1630 40 view .LVU2268 6248 0190 0C4A ldr r2, .L354+8 6249 0192 1A65 str r2, [r3, #80] 1632:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6250 .loc 1 1632 9 is_stmt 1 view .LVU2269 1632:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6251 .loc 1 1632 12 is_stmt 0 view .LVU2270 6252 0194 E06B ldr r0, [r4, #60] 6253 0196 FFF7FEFF bl HAL_DMA_Abort_IT 6254 .LVL491: 1632:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6255 .loc 1 1632 11 view .LVU2271 6256 019a 0028 cmp r0, #0 6257 019c 3FF464AF beq .L331 1634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6258 .loc 1 1634 11 is_stmt 1 view .LVU2272 6259 01a0 E06B ldr r0, [r4, #60] 6260 01a2 FFF7FEFF bl SD_DMATxAbort 6261 .LVL492: 6262 01a6 5FE7 b .L331 6263 .L346: 1649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 6264 .loc 1 1649 9 view .LVU2273 1649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 6265 .loc 1 1649 24 is_stmt 0 view .LVU2274 6266 01a8 0023 movs r3, #0 6267 01aa A363 str r3, [r4, #56] 1650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 6268 .loc 1 1650 9 is_stmt 1 view .LVU2275 1650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 6269 .loc 1 1650 20 is_stmt 0 view .LVU2276 6270 01ac 0122 movs r2, #1 6271 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) ARM GAS /tmp/ccME1oKf.s page 205 6272 .loc 1 1651 9 is_stmt 1 view .LVU2277 1651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 6273 .loc 1 1651 22 is_stmt 0 view .LVU2278 6274 01b2 2363 str r3, [r4, #48] 1655:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 6275 .loc 1 1655 9 is_stmt 1 view .LVU2279 6276 01b4 2046 mov r0, r4 6277 01b6 FFF7FEFF bl HAL_SD_AbortCallback 6278 .LVL493: 1667:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6279 .loc 1 1667 3 view .LVU2280 1668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6280 .loc 1 1668 1 is_stmt 0 view .LVU2281 6281 01ba 55E7 b .L331 6282 .L355: 6283 .align 2 6284 .L354: 6285 01bc C53EFFFF .word -49467 6286 01c0 00000000 .word SD_DMARxAbort 6287 01c4 00000000 .word SD_DMATxAbort 6288 .cfi_endproc 6289 .LFE153: 6291 .section .text.HAL_SD_Abort,"ax",%progbits 6292 .align 1 6293 .global HAL_SD_Abort 6294 .syntax unified 6295 .thumb 6296 .thumb_func 6297 .fpu fpv5-d16 6299 HAL_SD_Abort: 6300 .LVL494: 6301 .LFB166: 2290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState; 6302 .loc 1 2290 1 is_stmt 1 view -0 6303 .cfi_startproc 6304 @ args = 0, pretend = 0, frame = 0 6305 @ frame_needed = 0, uses_anonymous_args = 0 2290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState; 6306 .loc 1 2290 1 is_stmt 0 view .LVU2283 6307 0000 10B5 push {r4, lr} 6308 .LCFI77: 6309 .cfi_def_cfa_offset 8 6310 .cfi_offset 4, -8 6311 .cfi_offset 14, -4 6312 0002 0446 mov r4, r0 2291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t context = hsd->Context; 6313 .loc 1 2291 3 is_stmt 1 view .LVU2284 2292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6314 .loc 1 2292 3 view .LVU2285 2292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6315 .loc 1 2292 12 is_stmt 0 view .LVU2286 6316 0004 016B ldr r1, [r0, #48] 6317 .LVL495: 2295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR); 6318 .loc 1 2295 3 is_stmt 1 view .LVU2287 6319 0006 0268 ldr r2, [r0] 6320 0008 D36B ldr r3, [r2, #60] ARM GAS /tmp/ccME1oKf.s page 206 6321 000a 23F49D73 bic r3, r3, #314 6322 000e D363 str r3, [r2, #60] 2299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6323 .loc 1 2299 3 view .LVU2288 6324 0010 0368 ldr r3, [r0] 6325 0012 40F23A52 movw r2, #1338 6326 0016 9A63 str r2, [r3, #56] 2301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6327 .loc 1 2301 3 view .LVU2289 6328 0018 0268 ldr r2, [r0] 6329 001a D36A ldr r3, [r2, #44] 6330 001c 23F00103 bic r3, r3, #1 6331 0020 D362 str r3, [r2, #44] 2303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6332 .loc 1 2303 3 view .LVU2290 2303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6333 .loc 1 2303 6 is_stmt 0 view .LVU2291 6334 0022 11F0800F tst r1, #128 6335 0026 0AD0 beq .L357 2306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6336 .loc 1 2306 5 is_stmt 1 view .LVU2292 2306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6337 .loc 1 2306 8 is_stmt 0 view .LVU2293 6338 0028 0268 ldr r2, [r0] 2306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6339 .loc 1 2306 26 view .LVU2294 6340 002a D36A ldr r3, [r2, #44] 6341 002c 23F00803 bic r3, r3, #8 6342 0030 D362 str r3, [r2, #44] 2309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6343 .loc 1 2309 5 is_stmt 1 view .LVU2295 2309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6344 .loc 1 2309 8 is_stmt 0 view .LVU2296 6345 0032 11F0300F tst r1, #48 6346 0036 11D1 bne .L363 2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6347 .loc 1 2317 10 is_stmt 1 view .LVU2297 2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6348 .loc 1 2317 13 is_stmt 0 view .LVU2298 6349 0038 11F0030F tst r1, #3 6350 003c 18D1 bne .L364 6351 .LVL496: 6352 .L357: 2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6353 .loc 1 2327 5 is_stmt 1 view .LVU2299 2330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6354 .loc 1 2330 3 view .LVU2300 2330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6355 .loc 1 2330 14 is_stmt 0 view .LVU2301 6356 003e 0123 movs r3, #1 6357 0040 84F83430 strb r3, [r4, #52] 2333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6358 .loc 1 2333 3 is_stmt 1 view .LVU2302 2333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6359 .loc 1 2333 16 is_stmt 0 view .LVU2303 6360 0044 0023 movs r3, #0 6361 0046 2363 str r3, [r4, #48] ARM GAS /tmp/ccME1oKf.s page 207 2335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 6362 .loc 1 2335 3 is_stmt 1 view .LVU2304 2335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 6363 .loc 1 2335 15 is_stmt 0 view .LVU2305 6364 0048 2046 mov r0, r4 6365 004a FFF7FEFF bl HAL_SD_GetCardState 6366 .LVL497: 2336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6367 .loc 1 2336 3 is_stmt 1 view .LVU2306 2336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6368 .loc 1 2336 43 is_stmt 0 view .LVU2307 6369 004e 0538 subs r0, r0, #5 6370 .LVL498: 2336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6371 .loc 1 2336 5 view .LVU2308 6372 0050 0128 cmp r0, #1 6373 0052 17D9 bls .L365 6374 .LVL499: 6375 .L359: 2340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6376 .loc 1 2340 3 is_stmt 1 view .LVU2309 2340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6377 .loc 1 2340 9 is_stmt 0 view .LVU2310 6378 0054 A36B ldr r3, [r4, #56] 2340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6379 .loc 1 2340 5 view .LVU2311 6380 0056 D3B9 cbnz r3, .L361 2344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6381 .loc 1 2344 10 view .LVU2312 6382 0058 0020 movs r0, #0 6383 .L360: 2345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6384 .loc 1 2345 1 view .LVU2313 6385 005a 10BD pop {r4, pc} 6386 .LVL500: 6387 .L363: 2311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6388 .loc 1 2311 7 is_stmt 1 view .LVU2314 2311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6389 .loc 1 2311 10 is_stmt 0 view .LVU2315 6390 005c C06B ldr r0, [r0, #60] 6391 .LVL501: 2311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6392 .loc 1 2311 10 view .LVU2316 6393 005e FFF7FEFF bl HAL_DMA_Abort 6394 .LVL502: 2311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6395 .loc 1 2311 9 view .LVU2317 6396 0062 0028 cmp r0, #0 6397 0064 EBD0 beq .L357 2313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6398 .loc 1 2313 9 is_stmt 1 view .LVU2318 2313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6399 .loc 1 2313 24 is_stmt 0 view .LVU2319 6400 0066 A36B ldr r3, [r4, #56] 6401 0068 43F08043 orr r3, r3, #1073741824 6402 006c A363 str r3, [r4, #56] ARM GAS /tmp/ccME1oKf.s page 208 6403 006e E6E7 b .L357 6404 .LVL503: 6405 .L364: 2319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6406 .loc 1 2319 7 is_stmt 1 view .LVU2320 2319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6407 .loc 1 2319 10 is_stmt 0 view .LVU2321 6408 0070 006C ldr r0, [r0, #64] 6409 .LVL504: 2319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6410 .loc 1 2319 10 view .LVU2322 6411 0072 FFF7FEFF bl HAL_DMA_Abort 6412 .LVL505: 2319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6413 .loc 1 2319 9 view .LVU2323 6414 0076 0028 cmp r0, #0 6415 0078 E1D0 beq .L357 2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6416 .loc 1 2321 9 is_stmt 1 view .LVU2324 2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6417 .loc 1 2321 24 is_stmt 0 view .LVU2325 6418 007a A36B ldr r3, [r4, #56] 6419 007c 43F08043 orr r3, r3, #1073741824 6420 0080 A363 str r3, [r4, #56] 6421 0082 DCE7 b .L357 6422 .LVL506: 6423 .L365: 2338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6424 .loc 1 2338 5 is_stmt 1 view .LVU2326 2338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6425 .loc 1 2338 22 is_stmt 0 view .LVU2327 6426 0084 2068 ldr r0, [r4] 6427 .LVL507: 2338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6428 .loc 1 2338 22 view .LVU2328 6429 0086 FFF7FEFF bl SDMMC_CmdStopTransfer 6430 .LVL508: 2338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6431 .loc 1 2338 20 view .LVU2329 6432 008a A063 str r0, [r4, #56] 6433 008c E2E7 b .L359 6434 .L361: 2342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6435 .loc 1 2342 12 view .LVU2330 6436 008e 0120 movs r0, #1 6437 0090 E3E7 b .L360 6438 .cfi_endproc 6439 .LFE166: 6441 .section .text.HAL_SD_Abort_IT,"ax",%progbits 6442 .align 1 6443 .global HAL_SD_Abort_IT 6444 .syntax unified 6445 .thumb 6446 .thumb_func 6447 .fpu fpv5-d16 6449 HAL_SD_Abort_IT: 6450 .LVL509: ARM GAS /tmp/ccME1oKf.s page 209 6451 .LFB167: 2354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState; 6452 .loc 1 2354 1 is_stmt 1 view -0 6453 .cfi_startproc 6454 @ args = 0, pretend = 0, frame = 0 6455 @ frame_needed = 0, uses_anonymous_args = 0 2354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState; 6456 .loc 1 2354 1 is_stmt 0 view .LVU2332 6457 0000 10B5 push {r4, lr} 6458 .LCFI78: 6459 .cfi_def_cfa_offset 8 6460 .cfi_offset 4, -8 6461 .cfi_offset 14, -4 6462 0002 0446 mov r4, r0 2355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** uint32_t context = hsd->Context; 6463 .loc 1 2355 3 is_stmt 1 view .LVU2333 2356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6464 .loc 1 2356 3 view .LVU2334 2356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6465 .loc 1 2356 12 is_stmt 0 view .LVU2335 6466 0004 026B ldr r2, [r0, #48] 6467 .LVL510: 2359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR); 6468 .loc 1 2359 3 is_stmt 1 view .LVU2336 6469 0006 0168 ldr r1, [r0] 6470 0008 CB6B ldr r3, [r1, #60] 6471 000a 23F49D73 bic r3, r3, #314 6472 000e CB63 str r3, [r1, #60] 2362:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6473 .loc 1 2362 3 view .LVU2337 6474 0010 0168 ldr r1, [r0] 6475 0012 CB6A ldr r3, [r1, #44] 6476 0014 23F00103 bic r3, r3, #1 6477 0018 CB62 str r3, [r1, #44] 2364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6478 .loc 1 2364 3 view .LVU2338 2364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6479 .loc 1 2364 6 is_stmt 0 view .LVU2339 6480 001a 12F0800F tst r2, #128 6481 001e 22D0 beq .L367 2367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6482 .loc 1 2367 5 is_stmt 1 view .LVU2340 2367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6483 .loc 1 2367 8 is_stmt 0 view .LVU2341 6484 0020 0168 ldr r1, [r0] 2367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6485 .loc 1 2367 26 view .LVU2342 6486 0022 CB6A ldr r3, [r1, #44] 6487 0024 23F00803 bic r3, r3, #8 6488 0028 CB62 str r3, [r1, #44] 2370:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6489 .loc 1 2370 5 is_stmt 1 view .LVU2343 2370:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6490 .loc 1 2370 8 is_stmt 0 view .LVU2344 6491 002a 12F0300F tst r2, #48 6492 002e 04D1 bne .L374 2379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { ARM GAS /tmp/ccME1oKf.s page 210 6493 .loc 1 2379 10 is_stmt 1 view .LVU2345 2379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6494 .loc 1 2379 13 is_stmt 0 view .LVU2346 6495 0030 12F0030F tst r2, #3 6496 0034 0CD1 bne .L375 2419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6497 .loc 1 2419 10 view .LVU2347 6498 0036 0020 movs r0, #0 6499 .LVL511: 6500 .L369: 2420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6501 .loc 1 2420 1 view .LVU2348 6502 0038 10BD pop {r4, pc} 6503 .LVL512: 6504 .L374: 2372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmatx) != HAL_OK) 6505 .loc 1 2372 7 is_stmt 1 view .LVU2349 2372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmatx) != HAL_OK) 6506 .loc 1 2372 10 is_stmt 0 view .LVU2350 6507 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) 6508 .loc 1 2372 38 view .LVU2351 6509 003c 184A ldr r2, .L378 6510 .LVL513: 2372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmatx) != HAL_OK) 6511 .loc 1 2372 38 view .LVU2352 6512 003e 1A65 str r2, [r3, #80] 2373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6513 .loc 1 2373 7 is_stmt 1 view .LVU2353 2373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6514 .loc 1 2373 10 is_stmt 0 view .LVU2354 6515 0040 C06B ldr r0, [r0, #60] 6516 .LVL514: 2373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6517 .loc 1 2373 10 view .LVU2355 6518 0042 FFF7FEFF bl HAL_DMA_Abort_IT 6519 .LVL515: 2373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6520 .loc 1 2373 9 view .LVU2356 6521 0046 0028 cmp r0, #0 6522 0048 F6D0 beq .L369 2375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6523 .loc 1 2375 9 is_stmt 1 view .LVU2357 2375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6524 .loc 1 2375 21 is_stmt 0 view .LVU2358 6525 004a 0020 movs r0, #0 6526 004c E063 str r0, [r4, #60] 6527 004e F3E7 b .L369 6528 .LVL516: 6529 .L375: 2381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmarx) != HAL_OK) 6530 .loc 1 2381 7 is_stmt 1 view .LVU2359 2381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmarx) != HAL_OK) 6531 .loc 1 2381 10 is_stmt 0 view .LVU2360 6532 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) 6533 .loc 1 2381 38 view .LVU2361 ARM GAS /tmp/ccME1oKf.s page 211 6534 0052 144A ldr r2, .L378+4 6535 .LVL517: 2381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmarx) != HAL_OK) 6536 .loc 1 2381 38 view .LVU2362 6537 0054 1A65 str r2, [r3, #80] 2382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6538 .loc 1 2382 7 is_stmt 1 view .LVU2363 2382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6539 .loc 1 2382 10 is_stmt 0 view .LVU2364 6540 0056 006C ldr r0, [r0, #64] 6541 .LVL518: 2382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6542 .loc 1 2382 10 view .LVU2365 6543 0058 FFF7FEFF bl HAL_DMA_Abort_IT 6544 .LVL519: 2382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6545 .loc 1 2382 9 view .LVU2366 6546 005c 0028 cmp r0, #0 6547 005e EBD0 beq .L369 2384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6548 .loc 1 2384 9 is_stmt 1 view .LVU2367 2384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6549 .loc 1 2384 21 is_stmt 0 view .LVU2368 6550 0060 0020 movs r0, #0 6551 0062 2064 str r0, [r4, #64] 6552 0064 E8E7 b .L369 6553 .LVL520: 6554 .L367: 2396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6555 .loc 1 2396 5 is_stmt 1 view .LVU2369 6556 0066 0368 ldr r3, [r0] 6557 0068 40F23A52 movw r2, #1338 6558 .LVL521: 2396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** 6559 .loc 1 2396 5 is_stmt 0 view .LVU2370 6560 006c 9A63 str r2, [r3, #56] 2398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 6561 .loc 1 2398 5 is_stmt 1 view .LVU2371 2398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 6562 .loc 1 2398 17 is_stmt 0 view .LVU2372 6563 006e FFF7FEFF bl HAL_SD_GetCardState 6564 .LVL522: 2399:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 6565 .loc 1 2399 5 is_stmt 1 view .LVU2373 2399:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 6566 .loc 1 2399 16 is_stmt 0 view .LVU2374 6567 0072 0123 movs r3, #1 6568 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)) 6569 .loc 1 2400 5 is_stmt 1 view .LVU2375 2400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 6570 .loc 1 2400 18 is_stmt 0 view .LVU2376 6571 0078 0023 movs r3, #0 6572 007a 2363 str r3, [r4, #48] 2401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6573 .loc 1 2401 5 is_stmt 1 view .LVU2377 2401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { ARM GAS /tmp/ccME1oKf.s page 212 6574 .loc 1 2401 45 is_stmt 0 view .LVU2378 6575 007c 0538 subs r0, r0, #5 6576 .LVL523: 2401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6577 .loc 1 2401 7 view .LVU2379 6578 007e 0128 cmp r0, #1 6579 0080 03D9 bls .L376 6580 .LVL524: 6581 .L370: 2405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6582 .loc 1 2405 5 is_stmt 1 view .LVU2380 2405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6583 .loc 1 2405 11 is_stmt 0 view .LVU2381 6584 0082 A36B ldr r3, [r4, #56] 2405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** { 6585 .loc 1 2405 7 view .LVU2382 6586 0084 33B1 cbz r3, .L377 2407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6587 .loc 1 2407 14 view .LVU2383 6588 0086 0120 movs r0, #1 6589 0088 D6E7 b .L369 6590 .LVL525: 6591 .L376: 2403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6592 .loc 1 2403 7 is_stmt 1 view .LVU2384 2403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6593 .loc 1 2403 24 is_stmt 0 view .LVU2385 6594 008a 2068 ldr r0, [r4] 6595 .LVL526: 2403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6596 .loc 1 2403 24 view .LVU2386 6597 008c FFF7FEFF bl SDMMC_CmdStopTransfer 6598 .LVL527: 2403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6599 .loc 1 2403 22 view .LVU2387 6600 0090 A063 str r0, [r4, #56] 6601 0092 F6E7 b .L370 6602 .L377: 2414:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 6603 .loc 1 2414 7 is_stmt 1 view .LVU2388 6604 0094 2046 mov r0, r4 6605 0096 FFF7FEFF bl HAL_SD_AbortCallback 6606 .LVL528: 2419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c **** } 6607 .loc 1 2419 10 is_stmt 0 view .LVU2389 6608 009a 0020 movs r0, #0 6609 009c CCE7 b .L369 6610 .L379: 6611 009e 00BF .align 2 6612 .L378: 6613 00a0 00000000 .word SD_DMATxAbort 6614 00a4 00000000 .word SD_DMARxAbort 6615 .cfi_endproc 6616 .LFE167: 6618 .text 6619 .Letext0: 6620 .file 2 "/usr/lib/gcc/arm-none-eabi/10.3.1/include/stdint.h" ARM GAS /tmp/ccME1oKf.s page 213 6621 .file 3 "Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f767xx.h" 6622 .file 4 "Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f7xx.h" 6623 .file 5 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_def.h" 6624 .file 6 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_dma.h" 6625 .file 7 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_sdmmc.h" 6626 .file 8 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_sd.h" 6627 .file 9 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal.h" ARM GAS /tmp/ccME1oKf.s page 214 DEFINED SYMBOLS *ABS*:0000000000000000 stm32f7xx_hal_sd.c /tmp/ccME1oKf.s:17 .text.SD_DMATransmitCplt:0000000000000000 $t /tmp/ccME1oKf.s:24 .text.SD_DMATransmitCplt:0000000000000000 SD_DMATransmitCplt /tmp/ccME1oKf.s:51 .text.SD_PowerON:0000000000000000 $t /tmp/ccME1oKf.s:57 .text.SD_PowerON:0000000000000000 SD_PowerON /tmp/ccME1oKf.s:275 .text.SD_PowerON:00000000000000bc $d /tmp/ccME1oKf.s:280 .text.SD_PowerOFF:0000000000000000 $t /tmp/ccME1oKf.s:286 .text.SD_PowerOFF:0000000000000000 SD_PowerOFF /tmp/ccME1oKf.s:312 .text.SD_Read_IT:0000000000000000 $t /tmp/ccME1oKf.s:318 .text.SD_Read_IT:0000000000000000 SD_Read_IT /tmp/ccME1oKf.s:423 .text.SD_Write_IT:0000000000000000 $t /tmp/ccME1oKf.s:429 .text.SD_Write_IT:0000000000000000 SD_Write_IT /tmp/ccME1oKf.s:548 .text.SD_SendSDStatus:0000000000000000 $t /tmp/ccME1oKf.s:554 .text.SD_SendSDStatus:0000000000000000 SD_SendSDStatus /tmp/ccME1oKf.s:823 .text.SD_FindSCR:0000000000000000 $t /tmp/ccME1oKf.s:829 .text.SD_FindSCR:0000000000000000 SD_FindSCR /tmp/ccME1oKf.s:1093 .text.SD_WideBus_Enable:0000000000000000 $t /tmp/ccME1oKf.s:1099 .text.SD_WideBus_Enable:0000000000000000 SD_WideBus_Enable /tmp/ccME1oKf.s:1194 .text.SD_WideBus_Disable:0000000000000000 $t /tmp/ccME1oKf.s:1200 .text.SD_WideBus_Disable:0000000000000000 SD_WideBus_Disable /tmp/ccME1oKf.s:1295 .text.SD_SendStatus:0000000000000000 $t /tmp/ccME1oKf.s:1301 .text.SD_SendStatus:0000000000000000 SD_SendStatus /tmp/ccME1oKf.s:1366 .text.HAL_SD_MspInit:0000000000000000 $t /tmp/ccME1oKf.s:1373 .text.HAL_SD_MspInit:0000000000000000 HAL_SD_MspInit /tmp/ccME1oKf.s:1388 .text.HAL_SD_MspDeInit:0000000000000000 $t /tmp/ccME1oKf.s:1395 .text.HAL_SD_MspDeInit:0000000000000000 HAL_SD_MspDeInit /tmp/ccME1oKf.s:1410 .text.HAL_SD_DeInit:0000000000000000 $t /tmp/ccME1oKf.s:1417 .text.HAL_SD_DeInit:0000000000000000 HAL_SD_DeInit /tmp/ccME1oKf.s:1471 .text.HAL_SD_ReadBlocks:0000000000000000 $t /tmp/ccME1oKf.s:1478 .text.HAL_SD_ReadBlocks:0000000000000000 HAL_SD_ReadBlocks /tmp/ccME1oKf.s:2028 .text.HAL_SD_ReadBlocks:0000000000000244 $d /tmp/ccME1oKf.s:2033 .text.HAL_SD_WriteBlocks:0000000000000000 $t /tmp/ccME1oKf.s:2040 .text.HAL_SD_WriteBlocks:0000000000000000 HAL_SD_WriteBlocks /tmp/ccME1oKf.s:2520 .text.HAL_SD_WriteBlocks:00000000000001fc $d /tmp/ccME1oKf.s:2525 .text.HAL_SD_ReadBlocks_IT:0000000000000000 $t /tmp/ccME1oKf.s:2532 .text.HAL_SD_ReadBlocks_IT:0000000000000000 HAL_SD_ReadBlocks_IT /tmp/ccME1oKf.s:2755 .text.HAL_SD_ReadBlocks_IT:00000000000000c8 $d /tmp/ccME1oKf.s:2760 .text.HAL_SD_WriteBlocks_IT:0000000000000000 $t /tmp/ccME1oKf.s:2767 .text.HAL_SD_WriteBlocks_IT:0000000000000000 HAL_SD_WriteBlocks_IT /tmp/ccME1oKf.s:2991 .text.HAL_SD_WriteBlocks_IT:00000000000000c0 $d /tmp/ccME1oKf.s:2996 .text.HAL_SD_ReadBlocks_DMA:0000000000000000 $t /tmp/ccME1oKf.s:3003 .text.HAL_SD_ReadBlocks_DMA:0000000000000000 HAL_SD_ReadBlocks_DMA /tmp/ccME1oKf.s:3288 .text.HAL_SD_ReadBlocks_DMA:0000000000000128 $d /tmp/ccME1oKf.s:3978 .text.SD_DMAReceiveCplt:0000000000000000 SD_DMAReceiveCplt /tmp/ccME1oKf.s:5614 .text.SD_DMAError:0000000000000000 SD_DMAError /tmp/ccME1oKf.s:3295 .text.HAL_SD_WriteBlocks_DMA:0000000000000000 $t /tmp/ccME1oKf.s:3302 .text.HAL_SD_WriteBlocks_DMA:0000000000000000 HAL_SD_WriteBlocks_DMA /tmp/ccME1oKf.s:3592 .text.HAL_SD_WriteBlocks_DMA:0000000000000124 $d /tmp/ccME1oKf.s:3599 .text.HAL_SD_Erase:0000000000000000 $t /tmp/ccME1oKf.s:3606 .text.HAL_SD_Erase:0000000000000000 HAL_SD_Erase /tmp/ccME1oKf.s:3851 .text.HAL_SD_Erase:00000000000000f4 $d /tmp/ccME1oKf.s:3856 .text.HAL_SD_GetState:0000000000000000 $t /tmp/ccME1oKf.s:3863 .text.HAL_SD_GetState:0000000000000000 HAL_SD_GetState /tmp/ccME1oKf.s:3881 .text.HAL_SD_GetError:0000000000000000 $t /tmp/ccME1oKf.s:3888 .text.HAL_SD_GetError:0000000000000000 HAL_SD_GetError /tmp/ccME1oKf.s:3906 .text.HAL_SD_TxCpltCallback:0000000000000000 $t ARM GAS /tmp/ccME1oKf.s page 215 /tmp/ccME1oKf.s:3913 .text.HAL_SD_TxCpltCallback:0000000000000000 HAL_SD_TxCpltCallback /tmp/ccME1oKf.s:3928 .text.HAL_SD_RxCpltCallback:0000000000000000 $t /tmp/ccME1oKf.s:3935 .text.HAL_SD_RxCpltCallback:0000000000000000 HAL_SD_RxCpltCallback /tmp/ccME1oKf.s:3950 .text.HAL_SD_ErrorCallback:0000000000000000 $t /tmp/ccME1oKf.s:3957 .text.HAL_SD_ErrorCallback:0000000000000000 HAL_SD_ErrorCallback /tmp/ccME1oKf.s:3972 .text.SD_DMAReceiveCplt:0000000000000000 $t /tmp/ccME1oKf.s:4059 .text.HAL_SD_AbortCallback:0000000000000000 $t /tmp/ccME1oKf.s:4066 .text.HAL_SD_AbortCallback:0000000000000000 HAL_SD_AbortCallback /tmp/ccME1oKf.s:4081 .text.HAL_SD_GetCardCID:0000000000000000 $t /tmp/ccME1oKf.s:4088 .text.HAL_SD_GetCardCID:0000000000000000 HAL_SD_GetCardCID /tmp/ccME1oKf.s:4173 .text.HAL_SD_GetCardCSD:0000000000000000 $t /tmp/ccME1oKf.s:4180 .text.HAL_SD_GetCardCSD:0000000000000000 HAL_SD_GetCardCSD /tmp/ccME1oKf.s:4549 .text.HAL_SD_GetCardCSD:00000000000001b4 $d /tmp/ccME1oKf.s:4554 .text.SD_InitCard:0000000000000000 $t /tmp/ccME1oKf.s:4560 .text.SD_InitCard:0000000000000000 SD_InitCard /tmp/ccME1oKf.s:4801 .text.HAL_SD_InitCard:0000000000000000 $t /tmp/ccME1oKf.s:4808 .text.HAL_SD_InitCard:0000000000000000 HAL_SD_InitCard /tmp/ccME1oKf.s:4978 .text.HAL_SD_InitCard:00000000000000a4 $d /tmp/ccME1oKf.s:4983 .text.HAL_SD_Init:0000000000000000 $t /tmp/ccME1oKf.s:4990 .text.HAL_SD_Init:0000000000000000 HAL_SD_Init /tmp/ccME1oKf.s:5080 .text.HAL_SD_GetCardStatus:0000000000000000 $t /tmp/ccME1oKf.s:5087 .text.HAL_SD_GetCardStatus:0000000000000000 HAL_SD_GetCardStatus /tmp/ccME1oKf.s:5265 .text.HAL_SD_GetCardStatus:00000000000000a8 $d /tmp/ccME1oKf.s:5270 .text.HAL_SD_GetCardInfo:0000000000000000 $t /tmp/ccME1oKf.s:5277 .text.HAL_SD_GetCardInfo:0000000000000000 HAL_SD_GetCardInfo /tmp/ccME1oKf.s:5335 .text.HAL_SD_ConfigWideBusOperation:0000000000000000 $t /tmp/ccME1oKf.s:5342 .text.HAL_SD_ConfigWideBusOperation:0000000000000000 HAL_SD_ConfigWideBusOperation /tmp/ccME1oKf.s:5539 .text.HAL_SD_ConfigWideBusOperation:00000000000000bc $d /tmp/ccME1oKf.s:5544 .text.HAL_SD_GetCardState:0000000000000000 $t /tmp/ccME1oKf.s:5551 .text.HAL_SD_GetCardState:0000000000000000 HAL_SD_GetCardState /tmp/ccME1oKf.s:5608 .text.SD_DMAError:0000000000000000 $t /tmp/ccME1oKf.s:5727 .text.SD_DMAError:0000000000000064 $d /tmp/ccME1oKf.s:5732 .text.SD_DMATxAbort:0000000000000000 $t /tmp/ccME1oKf.s:5738 .text.SD_DMATxAbort:0000000000000000 SD_DMATxAbort /tmp/ccME1oKf.s:5821 .text.SD_DMARxAbort:0000000000000000 $t /tmp/ccME1oKf.s:5827 .text.SD_DMARxAbort:0000000000000000 SD_DMARxAbort /tmp/ccME1oKf.s:5910 .text.HAL_SD_IRQHandler:0000000000000000 $t /tmp/ccME1oKf.s:5917 .text.HAL_SD_IRQHandler:0000000000000000 HAL_SD_IRQHandler /tmp/ccME1oKf.s:6285 .text.HAL_SD_IRQHandler:00000000000001bc $d /tmp/ccME1oKf.s:6292 .text.HAL_SD_Abort:0000000000000000 $t /tmp/ccME1oKf.s:6299 .text.HAL_SD_Abort:0000000000000000 HAL_SD_Abort /tmp/ccME1oKf.s:6442 .text.HAL_SD_Abort_IT:0000000000000000 $t /tmp/ccME1oKf.s:6449 .text.HAL_SD_Abort_IT:0000000000000000 HAL_SD_Abort_IT /tmp/ccME1oKf.s:6613 .text.HAL_SD_Abort_IT:00000000000000a0 $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/ccME1oKf.s page 216 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