HAL SD Overview

Introducing SD

group SD_Introduction

  • This introduction is under development.

Module and files

The following diagram illustrates the SD module and its associated files.

Module and files diagram

Component diagram

The following diagram illustrates the software components involved in the SD module. It shows the interactions between the user application, HAL drivers, low-level drivers, and the hardware components.



@startuml

<style>

componentDiagram {

   arrow {

      FontSize 8

   }

}

</style>



title SD Software Component Diagram



package "HAL Layer" {

    [HAL_SD]

    [HAL_Q]

    [SDMMC_CORE]

}



package "Low Layer" {



    [CMSIS]

    [SDMMC Interrupt routine service]

}



package "HW" {

    [STM32_HW]

}



[Appli] -d-> [HAL_SD] : HAL SD API

[Appli] <-- [HAL_SD] : Status SD API 



[Appli] <-- [HAL_Q] : Status Q APIs

[Appli] --> [HAL_Q] : SD Transfer Linked-List management



[HAL_SD] --> [SDMMC_CORE]



[HAL_SD] --> [HAL_Q]



[SDMMC_CORE] -d-> [CMSIS]:SDMMC register def

[STM32_HW] <-u-- [SDMMC_CORE] : SDMMC registers R/W

[HAL_SD] <-- [SDMMC Interrupt routine service]

[STM32_HW] -u--> [SDMMC Interrupt routine service]: SDMMC Irq



@enduml

Configuration table

The following table lists the configuration defines for the HAL SD module, specifying their locations, default values, and descriptions:

group SD_Configuration_Table

Configuration inside the SD driver

Config defines

Description

Default value

Note

USE_ASSERT_DBG_PARAM

from the IDE

NONE

Allows to use the assert checks parameters.

USE_ASSERT_DBG_STATE

from the IDE

NONE

Allows to use the assert checks states.

USE_HAL_CHECK_PARAM

from hal_conf.h

0

Allows to use the run-time checks parameters.

USE_HAL_SD_AUTO_DETECTION_FREQUENCY

from hal_conf.h

0

Allows to Enable/Disable SD Custom Frequency.

USE_HAL_SD_REGISTER_CALLBACKS

from hal_conf.h

0

Allows to provide specific callback functions.

USE_HAL_SD_LINKEDLIST

from hal_conf.h

1

Allows to use the SD in linked-list mode.

USE_HAL_SD_GET_CID

from hal_conf.h

1

Allows to get card identification information.

USE_HAL_SD_GET_LAST_ERRORS

from hal_conf.h

1

Allows to get last errors codes.

USE_HAL_SD_USER_DATA

from hal_conf.h

0

Allows to Enable/Disable user data.

USE_HAL_SD_CLK_ENABLE_MODEL

from hal_conf.h

HAL_CLK_ENABLE_NO

Allows to enable the clock model for the SD.

USE_HAL_SD_GET_SPEC_VERSION

from hal_conf.h

1

Allows to get the SD Card version.