The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 172:65be27845400 1 /**
AnnaBridge 172:65be27845400 2 ******************************************************************************
AnnaBridge 172:65be27845400 3 * @file stm32h7xx_hal_ramecc.h
AnnaBridge 172:65be27845400 4 * @author MCD Application Team
AnnaBridge 172:65be27845400 5 * @brief Header file of RAMECC HAL module.
AnnaBridge 172:65be27845400 6 ******************************************************************************
AnnaBridge 172:65be27845400 7 * @attention
AnnaBridge 172:65be27845400 8 *
AnnaBridge 172:65be27845400 9 * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics.
AnnaBridge 172:65be27845400 10 * All rights reserved.</center></h2>
AnnaBridge 172:65be27845400 11 *
AnnaBridge 172:65be27845400 12 * This software component is licensed by ST under BSD 3-Clause license,
AnnaBridge 172:65be27845400 13 * the "License"; You may not use this file except in compliance with the
AnnaBridge 172:65be27845400 14 * License. You may obtain a copy of the License at:
AnnaBridge 172:65be27845400 15 * opensource.org/licenses/BSD-3-Clause
AnnaBridge 172:65be27845400 16 *
AnnaBridge 172:65be27845400 17 ******************************************************************************
AnnaBridge 172:65be27845400 18 */
AnnaBridge 172:65be27845400 19
AnnaBridge 172:65be27845400 20 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 172:65be27845400 21 #ifndef STM32H7xx_HAL_RAMECC_H
AnnaBridge 172:65be27845400 22 #define STM32H7xx_HAL_RAMECC_H
AnnaBridge 172:65be27845400 23
AnnaBridge 172:65be27845400 24 #ifdef __cplusplus
AnnaBridge 172:65be27845400 25 extern "C" {
AnnaBridge 172:65be27845400 26 #endif
AnnaBridge 172:65be27845400 27
AnnaBridge 172:65be27845400 28 /* Includes ------------------------------------------------------------------*/
AnnaBridge 172:65be27845400 29 #include "stm32h7xx_hal_def.h"
AnnaBridge 172:65be27845400 30
AnnaBridge 172:65be27845400 31 /** @addtogroup STM32H7xx_HAL_Driver
AnnaBridge 172:65be27845400 32 * @{
AnnaBridge 172:65be27845400 33 */
AnnaBridge 172:65be27845400 34
AnnaBridge 172:65be27845400 35 /** @addtogroup RAMECC
AnnaBridge 172:65be27845400 36 * @{
AnnaBridge 172:65be27845400 37 */
AnnaBridge 172:65be27845400 38
AnnaBridge 172:65be27845400 39 /* Exported types ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 40
AnnaBridge 172:65be27845400 41 /** @defgroup RAMECC_Exported_Types RAMECC Exported Types
AnnaBridge 172:65be27845400 42 * @brief RAMECC Exported Types
AnnaBridge 172:65be27845400 43 * @{
AnnaBridge 172:65be27845400 44 */
AnnaBridge 172:65be27845400 45
AnnaBridge 172:65be27845400 46 /**
AnnaBridge 172:65be27845400 47 * @brief HAL RAMECC State structures definition
AnnaBridge 172:65be27845400 48 */
AnnaBridge 172:65be27845400 49 typedef enum
AnnaBridge 172:65be27845400 50 {
AnnaBridge 172:65be27845400 51 HAL_RAMECC_STATE_RESET = 0x00U, /*!< RAMECC not yet initialized or disabled */
AnnaBridge 172:65be27845400 52 HAL_RAMECC_STATE_READY = 0x01U, /*!< RAMECC initialized and ready for use */
AnnaBridge 172:65be27845400 53 HAL_RAMECC_STATE_BUSY = 0x02U, /*!< RAMECC process is ongoing */
AnnaBridge 172:65be27845400 54 HAL_RAMECC_STATE_ERROR = 0x03U, /*!< RAMECC error state */
AnnaBridge 172:65be27845400 55 }HAL_RAMECC_StateTypeDef;
AnnaBridge 172:65be27845400 56
AnnaBridge 172:65be27845400 57
AnnaBridge 172:65be27845400 58 /**
AnnaBridge 172:65be27845400 59 * @brief RAMECC handle Structure definition
AnnaBridge 172:65be27845400 60 */
AnnaBridge 172:65be27845400 61
AnnaBridge 172:65be27845400 62 typedef struct __RAMECC_HandleTypeDef
AnnaBridge 172:65be27845400 63 {
AnnaBridge 172:65be27845400 64 RAMECC_MonitorTypeDef *Instance; /*!< Register base address */
AnnaBridge 172:65be27845400 65 __IO HAL_RAMECC_StateTypeDef State; /*!< RAMECC state */
AnnaBridge 172:65be27845400 66 void (* DetectErrorCallback)( struct __RAMECC_HandleTypeDef *hramecc); /*!< RAMECC error detect callback */
AnnaBridge 172:65be27845400 67 }RAMECC_HandleTypeDef;
AnnaBridge 172:65be27845400 68
AnnaBridge 172:65be27845400 69 /**
AnnaBridge 172:65be27845400 70 * @}
AnnaBridge 172:65be27845400 71 */
AnnaBridge 172:65be27845400 72
AnnaBridge 172:65be27845400 73
AnnaBridge 172:65be27845400 74 /* Exported constants --------------------------------------------------------*/
AnnaBridge 172:65be27845400 75
AnnaBridge 172:65be27845400 76 /** @defgroup RAMECC_Interrupt RAMECC interrupts
AnnaBridge 172:65be27845400 77 * @{
AnnaBridge 172:65be27845400 78 */
AnnaBridge 172:65be27845400 79 #define RAMECC_IT_GLOBAL_ID 0x10000000UL
AnnaBridge 172:65be27845400 80 #define RAMECC_IT_MONITOR_ID 0x20000000UL
AnnaBridge 172:65be27845400 81
AnnaBridge 172:65be27845400 82 #define RAMECC_IT_GLOBAL_ENABLE (RAMECC_IT_GLOBAL_ID | RAMECC_IER_GIE)
AnnaBridge 172:65be27845400 83 #define RAMECC_IT_GLOBAL_SINGLEERR_R (RAMECC_IT_GLOBAL_ID | RAMECC_IER_GECCSEIE)
AnnaBridge 172:65be27845400 84 #define RAMECC_IT_GLOBAL_DOUBLEERR_R (RAMECC_IT_GLOBAL_ID | RAMECC_IER_GECCDEIE)
AnnaBridge 172:65be27845400 85 #define RAMECC_IT_GLOBAL_DOUBLEERR_W (RAMECC_IT_GLOBAL_ID | RAMECC_IER_GECCDEBWIE)
AnnaBridge 172:65be27845400 86 #define RAMECC_IT_GLOBAL_ALL (RAMECC_IT_GLOBAL_ID | RAMECC_IER_GIE | RAMECC_IER_GECCSEIE | RAMECC_IER_GECCDEIE | RAMECC_IER_GECCDEBWIE)
AnnaBridge 172:65be27845400 87
AnnaBridge 172:65be27845400 88
AnnaBridge 172:65be27845400 89 #define RAMECC_IT_MONITOR_SINGLEERR_R (RAMECC_IT_MONITOR_ID | RAMECC_CR_ECCSEIE)
AnnaBridge 172:65be27845400 90 #define RAMECC_IT_MONITOR_DOUBLEERR_R (RAMECC_IT_MONITOR_ID | RAMECC_CR_ECCDEIE)
AnnaBridge 172:65be27845400 91 #define RAMECC_IT_MONITOR_DOUBLEERR_W (RAMECC_IT_MONITOR_ID | RAMECC_CR_ECCDEBWIE)
AnnaBridge 172:65be27845400 92 #define RAMECC_IT_MONITOR_ALL (RAMECC_IT_MONITOR_ID | RAMECC_CR_ECCDEBWIE | RAMECC_CR_ECCDEIE | RAMECC_CR_ECCSEIE)
AnnaBridge 172:65be27845400 93 /**
AnnaBridge 172:65be27845400 94 * @}
AnnaBridge 172:65be27845400 95 */
AnnaBridge 172:65be27845400 96
AnnaBridge 172:65be27845400 97 /** @defgroup RAMECC_FLAG RAMECC Monitor flags
AnnaBridge 172:65be27845400 98 * @{
AnnaBridge 172:65be27845400 99 */
AnnaBridge 172:65be27845400 100 #define RAMECC_FLAG_SINGLEERR_R RAMECC_SR_SEDCF
AnnaBridge 172:65be27845400 101 #define RAMECC_FLAG_DOUBLEERR_R RAMECC_SR_DEDF
AnnaBridge 172:65be27845400 102 #define RAMECC_FLAG_DOUBLEERR_W RAMECC_SR_DEBWDF
AnnaBridge 172:65be27845400 103 #define RAMECC_FLAGS_ALL (RAMECC_SR_SEDCF | RAMECC_SR_DEDF | RAMECC_SR_DEBWDF)
AnnaBridge 172:65be27845400 104
AnnaBridge 172:65be27845400 105 /**
AnnaBridge 172:65be27845400 106 * @}
AnnaBridge 172:65be27845400 107 */
AnnaBridge 172:65be27845400 108
AnnaBridge 172:65be27845400 109 /* Exported macro ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 110 /** @defgroup RAMECC_Exported_Macros RAMECC Exported Macros
AnnaBridge 172:65be27845400 111 * @{
AnnaBridge 172:65be27845400 112 */
AnnaBridge 172:65be27845400 113
AnnaBridge 172:65be27845400 114 #define __HAL_RAMECC_ENABLE_GLOBAL_IT(__HANDLE__, __INTERRUPT__) ((((RAMECC_TypeDef *)((uint32_t)(__HANDLE__)->Instance & 0xFFFFFF00U))->IER) |= ((__INTERRUPT__) & ~RAMECC_IT_GLOBAL_ID))
AnnaBridge 172:65be27845400 115 #define __HAL_RAMECC_ENABLE_MONITOR_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR |= ((__INTERRUPT__) & ~RAMECC_IT_MONITOR_ID))
AnnaBridge 172:65be27845400 116
AnnaBridge 172:65be27845400 117 /**
AnnaBridge 172:65be27845400 118 * @brief Enable the specified RAMECC interrupts.
AnnaBridge 172:65be27845400 119 * @param __HANDLE__ : RAMECC handle.
AnnaBridge 172:65be27845400 120 * @param __INTERRUPT__: specifies the RAMECC interrupt sources to be enabled or disabled.
AnnaBridge 172:65be27845400 121 * This parameter can be one of the following values:
AnnaBridge 172:65be27845400 122 * @arg RAMECC_IT_GLOBAL_E : Global interrupt enable mask.
AnnaBridge 172:65be27845400 123 * @arg RAMECC_IT_GLOBAL_SEE : Global ECC single error interrupt enable.
AnnaBridge 172:65be27845400 124 * @arg RAMECC_IT_GLOBAL_DEE : Global ECC double error interrupt enable.
AnnaBridge 172:65be27845400 125 * @arg RAMECC_IT_GLOBAL_DEBWE : Global ECC double error on byte write (BW) interrupt enable.
AnnaBridge 172:65be27845400 126 * @arg RAMECC_IT_GLOBAL_ALL : All Global ECC interrupts enable mask.
AnnaBridge 172:65be27845400 127 * @arg RAMECC_IT_MONITOR_SEE : Monitor ECC single error interrupt enable.
AnnaBridge 172:65be27845400 128 * @arg RAMECC_IT_MONITOR_DEE : Monitor ECC double error interrupt enable.
AnnaBridge 172:65be27845400 129 * @arg RAMECC_IT_MONITOR_DEBWE : Monitor ECC double error on byte write (BW) interrupt enable.
AnnaBridge 172:65be27845400 130 * @arg RAMECC_IT_MONITOR_ALL : All Monitor ECC interrupts enable mask.
AnnaBridge 172:65be27845400 131 * @retval None
AnnaBridge 172:65be27845400 132 */
AnnaBridge 172:65be27845400 133 #define __HAL_RAMECC_ENABLE_IT(__HANDLE__, __INTERRUPT__) ( \
AnnaBridge 172:65be27845400 134 (IS_RAMECC_GLOBAL_INTERRUPT(__INTERRUPT__)) ? (__HAL_RAMECC_ENABLE_GLOBAL_IT((__HANDLE__), (__INTERRUPT__))) :\
AnnaBridge 172:65be27845400 135 (__HAL_RAMECC_ENABLE_MONITOR_IT((__HANDLE__), (__INTERRUPT__))))
AnnaBridge 172:65be27845400 136
AnnaBridge 172:65be27845400 137
AnnaBridge 172:65be27845400 138
AnnaBridge 172:65be27845400 139 #define __HAL_RAMECC_DISABLE_GLOBAL_IT(__HANDLE__, __INTERRUPT__) ((((RAMECC_TypeDef *)((uint32_t)&(__HANDLE__)->Instance & 0xFFFFFF00U))->IER) &= ~((__INTERRUPT__) & ~RAMECC_IT_GLOBAL_ID))
AnnaBridge 172:65be27845400 140 #define __HAL_RAMECC_DISABLE_MONITOR_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR &= ~((__INTERRUPT__) & ~RAMECC_IT_MONITOR_ID))
AnnaBridge 172:65be27845400 141
AnnaBridge 172:65be27845400 142 /**
AnnaBridge 172:65be27845400 143 * @brief Disable the specified RAMECC interrupts.
AnnaBridge 172:65be27845400 144 * @param __HANDLE__ : RAMECC handle.
AnnaBridge 172:65be27845400 145 * @param __INTERRUPT__: specifies the RAMECC interrupt sources to be enabled or disabled.
AnnaBridge 172:65be27845400 146 * This parameter can be one of the following values:
AnnaBridge 172:65be27845400 147 * @arg RAMECC_IT_GLOBAL_E : Global interrupt enable mask.
AnnaBridge 172:65be27845400 148 * @arg RAMECC_IT_GLOBAL_SEE : Global ECC single error interrupt enable.
AnnaBridge 172:65be27845400 149 * @arg RAMECC_IT_GLOBAL_DEE : Global ECC double error interrupt enable.
AnnaBridge 172:65be27845400 150 * @arg RAMECC_IT_GLOBAL_DEBWE : Global ECC double error on byte write (BW) interrupt enable.
AnnaBridge 172:65be27845400 151 * @arg RAMECC_IT_GLOBAL_ALL : All Global ECC interrupts enable mask.
AnnaBridge 172:65be27845400 152 * @arg RAMECC_IT_MONITOR_SEE : Monitor ECC single error interrupt enable.
AnnaBridge 172:65be27845400 153 * @arg RAMECC_IT_MONITOR_DEE : Monitor ECC double error interrupt enable.
AnnaBridge 172:65be27845400 154 * @arg RAMECC_IT_MONITOR_DEBWE : Monitor ECC double error on byte write (BW) interrupt enable.
AnnaBridge 172:65be27845400 155 * @arg RAMECC_IT_MONITOR_ALL : All Monitor ECC interrupts enable mask.
AnnaBridge 172:65be27845400 156 * @retval None
AnnaBridge 172:65be27845400 157 */
AnnaBridge 172:65be27845400 158 #define __HAL_RAMECC_DISABLE_IT(__HANDLE__, __INTERRUPT__) ( \
AnnaBridge 172:65be27845400 159 (IS_RAMECC_GLOBAL_INTERRUPT(__INTERRUPT__)) ? (__HAL_RAMECC_DISABLE_GLOBAL_IT((__HANDLE__), (__INTERRUPT__))) :\
AnnaBridge 172:65be27845400 160 (__HAL_RAMECC_DISABLE_MONITOR_IT((__HANDLE__), (__INTERRUPT__))))
AnnaBridge 172:65be27845400 161
AnnaBridge 172:65be27845400 162
AnnaBridge 172:65be27845400 163 /**
AnnaBridge 172:65be27845400 164 * @brief Get the RAMECC pending flags.
AnnaBridge 172:65be27845400 165 * @param __HANDLE__ : RAMECC handle.
AnnaBridge 172:65be27845400 166 * @param __FLAG__ : specifies the flag to clear.
AnnaBridge 172:65be27845400 167 * This parameter can be any combination of the following values:
AnnaBridge 172:65be27845400 168 * @arg RAMECC_FLAG_SEDCF : RAMECC instance ECC single error detected and corrected flag.
AnnaBridge 172:65be27845400 169 * @arg RAMECC_FLAG_DEDF : RAMECC instance ECC double error detected flag.
AnnaBridge 172:65be27845400 170 * @arg RAMECC_FLAG_DEBWDF : RAMECC instance ECC double error on byte write (BW) detected flag.
AnnaBridge 172:65be27845400 171 * @arg RAMECC_FLAGS_ALL : RAMECC instance all flag.
AnnaBridge 172:65be27845400 172 * @retval None.
AnnaBridge 172:65be27845400 173 */
AnnaBridge 172:65be27845400 174 #define __HAL_RAMECC_GET_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->SR &= (__FLAG__))
AnnaBridge 172:65be27845400 175
AnnaBridge 172:65be27845400 176
AnnaBridge 172:65be27845400 177 /**
AnnaBridge 172:65be27845400 178 * @brief Clear the RAMECC pending flags.
AnnaBridge 172:65be27845400 179 * @param __HANDLE__ : RAMECC handle.
AnnaBridge 172:65be27845400 180 * @param __FLAG__ : specifies the flag to clear.
AnnaBridge 172:65be27845400 181 * This parameter can be any combination of the following values:
AnnaBridge 172:65be27845400 182 * @arg RAMECC_FLAG_SEDCF : RAMECC instance ECC single error detected and corrected flag.
AnnaBridge 172:65be27845400 183 * @arg RAMECC_FLAG_DEDF : RAMECC instance ECC double error detected flag.
AnnaBridge 172:65be27845400 184 * @arg RAMECC_FLAG_DEBWDF : RAMECC instance ECC double error on byte write (BW) detected flag.
AnnaBridge 172:65be27845400 185 * @arg RAMECC_FLAGS_ALL : RAMECC instance all flag.
AnnaBridge 172:65be27845400 186 * @retval None.
AnnaBridge 172:65be27845400 187 */
AnnaBridge 172:65be27845400 188 #define __HAL_RAMECC_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->SR &= ~(__FLAG__))
AnnaBridge 172:65be27845400 189
AnnaBridge 172:65be27845400 190 /**
AnnaBridge 172:65be27845400 191 * @}
AnnaBridge 172:65be27845400 192 */
AnnaBridge 172:65be27845400 193
AnnaBridge 172:65be27845400 194 /* Exported functions --------------------------------------------------------*/
AnnaBridge 172:65be27845400 195
AnnaBridge 172:65be27845400 196 /** @defgroup RAMECC_Exported_Functions RAMECC Exported Functions
AnnaBridge 172:65be27845400 197 * @brief RAMECC Exported functions
AnnaBridge 172:65be27845400 198 * @{
AnnaBridge 172:65be27845400 199 */
AnnaBridge 172:65be27845400 200
AnnaBridge 172:65be27845400 201
AnnaBridge 172:65be27845400 202
AnnaBridge 172:65be27845400 203
AnnaBridge 172:65be27845400 204
AnnaBridge 172:65be27845400 205 /** @defgroup RAMECC_Exported_Functions_Group1 Initialization and de-initialization functions
AnnaBridge 172:65be27845400 206 * @brief Initialization and de-initialization functions
AnnaBridge 172:65be27845400 207 * @{
AnnaBridge 172:65be27845400 208 */
AnnaBridge 172:65be27845400 209 HAL_StatusTypeDef HAL_RAMECC_Init(RAMECC_HandleTypeDef *hramecc);
AnnaBridge 172:65be27845400 210 HAL_StatusTypeDef HAL_RAMECC_DeInit(RAMECC_HandleTypeDef *hramecc);
AnnaBridge 172:65be27845400 211 /**
AnnaBridge 172:65be27845400 212 * @}
AnnaBridge 172:65be27845400 213 */
AnnaBridge 172:65be27845400 214
AnnaBridge 172:65be27845400 215 /** @defgroup RAMECC_Exported_Functions_Group2 monitoring operation functions
AnnaBridge 172:65be27845400 216 * @brief monitoring operation functions
AnnaBridge 172:65be27845400 217 * @{
AnnaBridge 172:65be27845400 218 */
AnnaBridge 172:65be27845400 219 HAL_StatusTypeDef HAL_RAMECC_StartMonitor(RAMECC_HandleTypeDef *hramecc);
AnnaBridge 172:65be27845400 220 HAL_StatusTypeDef HAL_RAMECC_StopMonitor(RAMECC_HandleTypeDef *hramecc);
AnnaBridge 172:65be27845400 221 HAL_StatusTypeDef HAL_RAMECC_EnableNotifiaction(RAMECC_HandleTypeDef *hramecc, uint32_t Noftications);
AnnaBridge 172:65be27845400 222 HAL_StatusTypeDef HAL_RAMECC_DisableNotifiaction(RAMECC_HandleTypeDef *hramecc, uint32_t Noftications);
AnnaBridge 172:65be27845400 223 void HAL_RAMECC_IRQHandler(RAMECC_HandleTypeDef *hramecc);
AnnaBridge 172:65be27845400 224 HAL_StatusTypeDef HAL_RAMECC_RegisterCallback(RAMECC_HandleTypeDef *hramecc, void (* pCallback)(RAMECC_HandleTypeDef *_hramecc));
AnnaBridge 172:65be27845400 225 HAL_StatusTypeDef HAL_RAMECC_UnRegisterCallback(RAMECC_HandleTypeDef *hramecc);
AnnaBridge 172:65be27845400 226 /**
AnnaBridge 172:65be27845400 227 * @}
AnnaBridge 172:65be27845400 228 */
AnnaBridge 172:65be27845400 229
AnnaBridge 172:65be27845400 230 /** @defgroup RAMECC_Exported_Functions_Group3 Error informations functions
AnnaBridge 172:65be27845400 231 * @brief Error informations functions
AnnaBridge 172:65be27845400 232 * @{
AnnaBridge 172:65be27845400 233 */
AnnaBridge 172:65be27845400 234 uint32_t HAL_RAMECC_GetFailingAddress(RAMECC_HandleTypeDef *hramecc);
AnnaBridge 172:65be27845400 235 uint32_t HAL_RAMECC_GetFailingDataLow(RAMECC_HandleTypeDef *hramecc);
AnnaBridge 172:65be27845400 236 uint32_t HAL_RAMECC_GetFailingDataHigh(RAMECC_HandleTypeDef *hramecc);
AnnaBridge 172:65be27845400 237 uint32_t HAL_RAMECC_GetHammingErrorCode(RAMECC_HandleTypeDef *hramecc);
AnnaBridge 172:65be27845400 238 /**
AnnaBridge 172:65be27845400 239 * @}
AnnaBridge 172:65be27845400 240 */
AnnaBridge 172:65be27845400 241
AnnaBridge 172:65be27845400 242 /**
AnnaBridge 172:65be27845400 243 * @}
AnnaBridge 172:65be27845400 244 */
AnnaBridge 172:65be27845400 245 /* Private Constants -------------------------------------------------------------*/
AnnaBridge 172:65be27845400 246 /** @defgroup RAMECC_Private_Constants RAMECC Private Constants
AnnaBridge 172:65be27845400 247 * @brief RAMECC private defines and constants
AnnaBridge 172:65be27845400 248 * @{
AnnaBridge 172:65be27845400 249 */
AnnaBridge 172:65be27845400 250 /**
AnnaBridge 172:65be27845400 251 * @}
AnnaBridge 172:65be27845400 252 */
AnnaBridge 172:65be27845400 253
AnnaBridge 172:65be27845400 254 /* Private macros ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 255 /** @defgroup RAMECC_Private_Macros RAMECC Private Macros
AnnaBridge 172:65be27845400 256 * @brief RAMECC private macros
AnnaBridge 172:65be27845400 257 * @{
AnnaBridge 172:65be27845400 258 */
AnnaBridge 172:65be27845400 259
AnnaBridge 172:65be27845400 260 #define IS_RAMECC_GLOBAL_INTERRUPT(INTERRUPT) ((((INTERRUPT) & RAMECC_IT_GLOBAL_ENABLE) == RAMECC_IT_GLOBAL_ENABLE) || \
AnnaBridge 172:65be27845400 261 (((INTERRUPT) & RAMECC_IT_GLOBAL_SINGLEERR_R) == RAMECC_IT_GLOBAL_SINGLEERR_R) || \
AnnaBridge 172:65be27845400 262 (((INTERRUPT) & RAMECC_IT_GLOBAL_DOUBLEERR_R) == RAMECC_IT_GLOBAL_DOUBLEERR_R) || \
AnnaBridge 172:65be27845400 263 (((INTERRUPT) & RAMECC_IT_GLOBAL_DOUBLEERR_W) == RAMECC_IT_GLOBAL_DOUBLEERR_W) || \
AnnaBridge 172:65be27845400 264 (((INTERRUPT) & RAMECC_IT_GLOBAL_ALL) == RAMECC_IT_GLOBAL_ALL))
AnnaBridge 172:65be27845400 265
AnnaBridge 172:65be27845400 266
AnnaBridge 172:65be27845400 267 #define IS_RAMECC_MONITOR_INTERRUPT(INTERRUPT) ((((INTERRUPT) & RAMECC_IT_MONITOR_SINGLEERR_R) == RAMECC_IT_MONITOR_SINGLEERR_R) || \
AnnaBridge 172:65be27845400 268 (((INTERRUPT) & RAMECC_IT_MONITOR_DOUBLEERR_R) == RAMECC_IT_MONITOR_DOUBLEERR_R) || \
AnnaBridge 172:65be27845400 269 (((INTERRUPT) & RAMECC_IT_MONITOR_DOUBLEERR_W) == RAMECC_IT_MONITOR_DOUBLEERR_W) || \
AnnaBridge 172:65be27845400 270 (((INTERRUPT) & RAMECC_IT_MONITOR_ALL) == RAMECC_IT_MONITOR_ALL))
AnnaBridge 172:65be27845400 271
AnnaBridge 172:65be27845400 272 #define IS_RAMECC_INTERRUPT(INTERRUPT) ((IS_RAMECC_GLOBAL_INTERRUPT(INTERRUPT)) || \
AnnaBridge 172:65be27845400 273 (IS_RAMECC_MONITOR_INTERRUPT(INTERRUPT)))
AnnaBridge 172:65be27845400 274
AnnaBridge 172:65be27845400 275 /**
AnnaBridge 172:65be27845400 276 * @}
AnnaBridge 172:65be27845400 277 */
AnnaBridge 172:65be27845400 278
AnnaBridge 172:65be27845400 279 /** @defgroup RAMECC_FLAG RAMECC Monitor flags
AnnaBridge 172:65be27845400 280 * @{
AnnaBridge 172:65be27845400 281 */
AnnaBridge 172:65be27845400 282
AnnaBridge 172:65be27845400 283 /* Private functions ---------------------------------------------------------*/
AnnaBridge 172:65be27845400 284 /** @defgroup RAMECC_Private_Functions RAMECC Private Functions
AnnaBridge 172:65be27845400 285 * @brief RAMECC private functions
AnnaBridge 172:65be27845400 286 * @{
AnnaBridge 172:65be27845400 287 */
AnnaBridge 172:65be27845400 288 /**
AnnaBridge 172:65be27845400 289 * @}
AnnaBridge 172:65be27845400 290 */
AnnaBridge 172:65be27845400 291
AnnaBridge 172:65be27845400 292 /**
AnnaBridge 172:65be27845400 293 * @}
AnnaBridge 172:65be27845400 294 */
AnnaBridge 172:65be27845400 295
AnnaBridge 172:65be27845400 296 /**
AnnaBridge 172:65be27845400 297 * @}
AnnaBridge 172:65be27845400 298 */
AnnaBridge 172:65be27845400 299
AnnaBridge 172:65be27845400 300 /**
AnnaBridge 172:65be27845400 301 * @}
AnnaBridge 172:65be27845400 302 */
AnnaBridge 172:65be27845400 303 #ifdef __cplusplus
AnnaBridge 172:65be27845400 304 }
AnnaBridge 172:65be27845400 305 #endif
AnnaBridge 172:65be27845400 306
AnnaBridge 172:65be27845400 307 #endif /* STM32H7xx_HAL_RAMECC_H */
AnnaBridge 172:65be27845400 308
AnnaBridge 172:65be27845400 309 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/