HAL DCMI Overview

Introducing DCMI

group DCMI_Introduction

  • This introduction is under development.

Module and files

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

Module and files diagram

Component diagram

The following diagram illustrates the software components involved in the DCMI 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 DCMI Software Component Diagram



package "HAL" {

    [HAL_SERVICE]

    [HAL_DCMI]

    [HAL_DMA]

}



package "Low Layer" {

    [CMSIS]

    [DCMI Interrupt routine service]

    [DMA Interrupt routine service]

}



package "HW" {

    [STM32_HW]

}



[Appli] --> [HAL_DCMI] : HAL DCMI API

[Appli] <-- [HAL_DCMI] : DCMI callback



[HAL_DCMI] <-r- [HAL_DMA]:Complete transfer/Error

[HAL_DCMI] -r-> [HAL_DMA] : HAL_DMA_StartPeriphXfer_IT_Opt \n HAL_DMA_Abort_IT

[HAL_DCMI] -l-> [HAL_SERVICE]

[HAL_DCMI] <-- [DCMI Interrupt routine service]

[HAL_DCMI] -d-> [CMSIS]:DCMI register def

[HAL_DMA] <-d- [DMA Interrupt routine service]



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

[STM32_HW] -u-> [DMA Interrupt routine service] : DMA Channel Irq

[STM32_HW] <-l- [HAL_DCMI] : DCMI registers R/W

@enduml

Configuration table

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

group DCMI_Configuration_Table

Configuration inside the DCMI driver

Config defines

Description

Default value

Note

PRODUCT

from PreProcessor env

NA

The selected device (ex STM32XXXXxx)

USE_ASSERT_DBG_PARAM

from PreProcessor env

None

Allows to use the assert check parameters.

USE_ASSERT_DBG_STATE

from PreProcessor env

None

Allows to use the assert check states.

USE_HAL_DCMI_MODULE

from hal_conf.h

1

Allows to use HAL DCMI module.

USE_HAL_CHECK_PARAM

from hal_conf.h

0

Allows to use the run-time checks parameters.

USE_HAL_DCMI_REGISTER_CALLBACKS

from hal_conf.h

0

Allows to use the load and store exclusive.

USE_HAL_DCMI_GET_LAST_ERRORS

from hal_conf.h

0

Allows to use error code mechanism.

USE_HAL_DCMI_USER_DATA

from hal_conf.h

0

Allows to use user data inside DCMI.

USE_HAL_DCMI_CLK_ENABLE_MODEL

from hal_conf.h

HAL_CLK_ENABLE_NO

Allows to use the clock interface management for DCMI.