![]() |
|
|||
File indexing completed on 2025-05-11 08:23:36
0001 /** 0002 ****************************************************************************** 0003 * @file stm32h7xx_hal_otfdec.h 0004 * @author MCD Application Team 0005 * @brief Header file of OTFDEC HAL module. 0006 ****************************************************************************** 0007 * @attention 0008 * 0009 * Copyright (c) 2018 STMicroelectronics. 0010 * All rights reserved. 0011 * 0012 * This software is licensed under terms that can be found in the LICENSE file 0013 * in the root directory of this software component. 0014 * If no LICENSE file comes with this software, it is provided AS-IS. 0015 * 0016 ****************************************************************************** 0017 */ 0018 0019 /* Define to prevent recursive inclusion -------------------------------------*/ 0020 #ifndef STM32H7xx_HAL_OTFDEC_H 0021 #define STM32H7xx_HAL_OTFDEC_H 0022 0023 #ifdef __cplusplus 0024 extern "C" { 0025 #endif 0026 0027 /* Includes ------------------------------------------------------------------*/ 0028 #include "stm32h7xx_hal_def.h" 0029 0030 /** @addtogroup STM32H7xx_HAL_Driver 0031 * @{ 0032 */ 0033 0034 #if defined(OTFDEC1) 0035 0036 /** @addtogroup OTFDEC 0037 * @{ 0038 */ 0039 0040 /* Exported types ------------------------------------------------------------*/ 0041 0042 /** @defgroup OTFDEC_Exported_Types OTFDEC Exported Types 0043 * @ingroup RTEMSBSPsARMSTM32H7 0044 * @{ 0045 */ 0046 0047 /** @defgroup OTFDEC_Exported_Types_Group1 OTFDEC region configuration definitions 0048 * @ingroup RTEMSBSPsARMSTM32H7 0049 * @{ 0050 */ 0051 0052 /** 0053 * @brief OTFDEC region configuration structure definition 0054 */ 0055 typedef struct 0056 { 0057 uint32_t Nonce[2]; /*!< OTFDEC region nonce */ 0058 0059 uint32_t StartAddress; /*!< OTFDEC region start address */ 0060 0061 uint32_t EndAddress; /*!< OTFDEC region end address */ 0062 0063 uint16_t Version; /*!< OTFDEC region firmware version */ 0064 0065 } OTFDEC_RegionConfigTypeDef; 0066 0067 /** 0068 * @} 0069 */ 0070 0071 /** @defgroup OTFDEC_Exported_Types_Group2 OTFDEC Peripheral handle definitions 0072 * @ingroup RTEMSBSPsARMSTM32H7 0073 * @{ 0074 */ 0075 0076 /** 0077 * @brief OTFDEC states structure definition 0078 */ 0079 typedef enum 0080 { 0081 HAL_OTFDEC_STATE_RESET = 0x00U, /*!< OTFDEC not yet initialized or disabled */ 0082 HAL_OTFDEC_STATE_READY = 0x01U, /*!< OTFDEC initialized and ready for use */ 0083 HAL_OTFDEC_STATE_BUSY = 0x02U, /*!< OTFDEC internal processing is ongoing */ 0084 } HAL_OTFDEC_StateTypeDef; 0085 0086 /** 0087 * @brief OTFDEC handle structure definition 0088 */ 0089 #if (USE_HAL_OTFDEC_REGISTER_CALLBACKS == 1) 0090 typedef struct __OTFDEC_HandleTypeDef 0091 #else 0092 typedef struct 0093 #endif /* USE_HAL_OTFDEC_REGISTER_CALLBACKS */ 0094 { 0095 OTFDEC_TypeDef *Instance; /*!< OTFDEC registers base address */ 0096 0097 HAL_OTFDEC_StateTypeDef State; /*!< OTFDEC state */ 0098 0099 HAL_LockTypeDef Lock; /*!< OTFDEC locking object */ 0100 0101 __IO uint32_t ErrorCode; /*!< OTFDEC error code */ 0102 0103 #if (USE_HAL_OTFDEC_REGISTER_CALLBACKS == 1) 0104 void (* ErrorCallback)(struct __OTFDEC_HandleTypeDef *hotfdec); /*!< OTFDEC error callback */ 0105 0106 void (* MspInitCallback)(struct __OTFDEC_HandleTypeDef *hotfdec); /*!< OTFDEC Msp Init callback */ 0107 0108 void (* MspDeInitCallback)(struct __OTFDEC_HandleTypeDef *hotfdec); /*!< OTFDEC Msp DeInit callback */ 0109 #endif /* USE_HAL_OTFDEC_REGISTER_CALLBACKS */ 0110 0111 } OTFDEC_HandleTypeDef; 0112 0113 #if (USE_HAL_OTFDEC_REGISTER_CALLBACKS == 1) 0114 /** 0115 * @brief HAL OTFDEC Callback ID enumeration definition 0116 */ 0117 typedef enum 0118 { 0119 HAL_OTFDEC_ERROR_CB_ID = 0x00U, /*!< OTFDEC error callback ID */ 0120 HAL_OTFDEC_MSPINIT_CB_ID = 0x01U, /*!< OTFDEC Msp DeInit callback ID */ 0121 HAL_OTFDEC_MSPDEINIT_CB_ID = 0x02U /*!< OTFDEC Msp DeInit callback ID */ 0122 } HAL_OTFDEC_CallbackIDTypeDef; 0123 0124 /** 0125 * @brief HAL OTFDEC Callback pointer definition 0126 */ 0127 typedef void (*pOTFDEC_CallbackTypeDef)(OTFDEC_HandleTypeDef *hotfdec); /*!< pointer to a OTFDEC callback function */ 0128 0129 #endif /* USE_HAL_OTFDEC_REGISTER_CALLBACKS */ 0130 0131 /** 0132 * @} 0133 */ 0134 0135 /** 0136 * @} 0137 */ 0138 0139 /* Exported constants --------------------------------------------------------*/ 0140 /** @defgroup OTFDEC_Exported_Constants OTFDEC Exported Constants 0141 * @ingroup RTEMSBSPsARMSTM32H7 0142 * @{ 0143 */ 0144 0145 /** @defgroup OTFDEC_Interrupts OTFDEC Interrupts 0146 * @ingroup RTEMSBSPsARMSTM32H7 0147 * @{ 0148 */ 0149 #define OTFDEC_SEC_ERROR_INT (OTFDEC_IER_SEIE ) /*!< OTFDEC security error interrupt */ 0150 #define OTFDEC_EXE_ERROR_INT ( OTFDEC_IER_XONEIE ) /*!< OTFDEC execution error interrupt */ 0151 #define OTFDEC_KEY_ERROR_INT ( OTFDEC_IER_KEIE) /*!< OTFDEC key error interrupt */ 0152 #define OTFDEC_SEC_EXE_ERROR_INT (OTFDEC_IER_SEIE|OTFDEC_IER_XONEIE ) /*!< OTFDEC security and execution errors interrupts */ 0153 #define OTFDEC_SEC_KEY_ERROR_INT (OTFDEC_IER_SEIE| OTFDEC_IER_KEIE) /*!< OTFDEC security and key errors interrupts */ 0154 #define OTFDEC_EXE_KEY_ERROR_INT ( OTFDEC_IER_XONEIE|OTFDEC_IER_KEIE) /*!< OTFDEC execution and key errors interrupts */ 0155 #define OTFDEC_ALL_INT (OTFDEC_IER_SEIE|OTFDEC_IER_XONEIE|OTFDEC_IER_KEIE) /*!< OTFDEC all interrupts */ 0156 /** 0157 * @} 0158 */ 0159 0160 /** @defgroup OTFDEC_Region_Enable OTFDEC Region Enable 0161 * @ingroup RTEMSBSPsARMSTM32H7 0162 * @{ 0163 */ 0164 #define OTFDEC_REG_CONFIGR_REG_DISABLE 0x00000000U /*!< OTFDEC region encryption or on-the-fly decryption disable */ 0165 #define OTFDEC_REG_CONFIGR_REG_ENABLE OTFDEC_REG_CONFIGR_REG_EN /*!< OTFDEC region encryption or on-the-fly decryption enable */ 0166 /** 0167 * @} 0168 */ 0169 0170 /** @defgroup OTFDEC_Region_Configuration_Lock OTFDEC Region Configuration Lock 0171 * @ingroup RTEMSBSPsARMSTM32H7 0172 * @{ 0173 */ 0174 #define OTFDEC_REG_CONFIGR_LOCK_DISABLE 0x00000000U /*!< OTFDEC region configuration lock disable */ 0175 #define OTFDEC_REG_CONFIGR_LOCK_ENABLE OTFDEC_REG_CONFIGR_CONFIGLOCK /*!< OTFDEC region configuration lock enable */ 0176 /** 0177 * @} 0178 */ 0179 0180 /** @defgroup OTFDEC_Region_Operating_Mode OTFDEC Region Operating Mode 0181 * @ingroup RTEMSBSPsARMSTM32H7 0182 * @{ 0183 */ 0184 #define OTFDEC_REG_MODE_INSTRUCTION_ACCESSES_ONLY 0x00000000U /*!< Only instruction accesses are decrypted */ 0185 #define OTFDEC_REG_MODE_DATA_ACCESSES_ONLY OTFDEC_REG_CONFIGR_MODE_0 /*!< Only data accesses are decrypted */ 0186 #define OTFDEC_REG_MODE_INSTRUCTION_OR_DATA_ACCESSES OTFDEC_REG_CONFIGR_MODE_1 /*!< All read accesses are decrypted */ 0187 #define OTFDEC_REG_MODE_INSTRUCTION_ACCESSES_ONLY_WITH_CIPHER OTFDEC_REG_CONFIGR_MODE /*!< Only instruction accesses are decrypted with proprietary cipher activated */ 0188 /** 0189 * @} 0190 */ 0191 0192 /** @defgroup OTFDEC_Error_Definition OTFDEC Error Definition 0193 * @ingroup RTEMSBSPsARMSTM32H7 0194 * @{ 0195 */ 0196 #define HAL_OTFDEC_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */ 0197 #define HAL_OTFDEC_SECURITY_ERROR ((uint32_t)0x00000001U) /*!< Security error */ 0198 #define HAL_OTFDEC_EXECUTE_ERROR ((uint32_t)0x00000002U) /*!< Execute-only Execute-Never error */ 0199 #define HAL_OTFDEC_KEY_ERROR ((uint32_t)0x00000004U) /*!< Key error */ 0200 #if (USE_HAL_OTFDEC_REGISTER_CALLBACKS == 1) 0201 #define HAL_OTFDEC_ERROR_INVALID_CALLBACK ((uint32_t)0x00000008U) /*!< Invalid Callback error */ 0202 #endif /* USE_HAL_OTFDEC_REGISTER_CALLBACKS */ 0203 /** 0204 * @} 0205 */ 0206 0207 /** @defgroup OTFDEC_Regions_Index OTFDEC Regions Index 0208 * @ingroup RTEMSBSPsARMSTM32H7 0209 * @{ 0210 */ 0211 #define OTFDEC_REGION1 ((uint32_t)0x00000000U) /*!< OTFDEC region 1 */ 0212 #define OTFDEC_REGION2 ((uint32_t)0x00000001U) /*!< OTFDEC region 2 */ 0213 #define OTFDEC_REGION3 ((uint32_t)0x00000002U) /*!< OTFDEC region 3 */ 0214 #define OTFDEC_REGION4 ((uint32_t)0x00000003U) /*!< OTFDEC region 4 */ 0215 /** 0216 * @} 0217 */ 0218 0219 /** 0220 * @} 0221 */ 0222 0223 /* Exported macro ------------------------------------------------------------*/ 0224 /** @defgroup OTFDEC_Exported_Macros OTFDEC Exported Macros 0225 * @ingroup RTEMSBSPsARMSTM32H7 0226 * @{ 0227 */ 0228 0229 /** @brief Reset OTFDEC handle state. 0230 * @param __HANDLE__ pointer to an OTFDEC_HandleTypeDef structure that contains 0231 * the configuration information for OTFDEC module 0232 * @retval None 0233 */ 0234 #if (USE_HAL_OTFDEC_REGISTER_CALLBACKS == 1) 0235 #define __HAL_OTFDEC_RESET_HANDLE_STATE(__HANDLE__) \ 0236 do{ \ 0237 (__HANDLE__)->State = HAL_OTFDEC_STATE_RESET; \ 0238 (__HANDLE__)->MspInitCallback = NULL; \ 0239 (__HANDLE__)->MspDeInitCallback = NULL; \ 0240 } while(0) 0241 #else 0242 #define __HAL_OTFDEC_RESET_HANDLE_STATE(__HANDLE__) \ 0243 ((__HANDLE__)->State = HAL_OTFDEC_STATE_RESET) 0244 #endif /* USE_HAL_OTFDEC_REGISTER_CALLBACKS */ 0245 0246 /** 0247 * @brief Enable OTFDEC peripheral interrupts combination 0248 * @param __HANDLE__ pointer to an OTFDEC_HandleTypeDef structure that contains 0249 * the configuration information for OTFDEC module 0250 * @param __INTERRUPT__ mask on enabled interrupts 0251 * This parameter can be one of the following values: 0252 * @arg @ref OTFDEC_SEC_ERROR_INT OTFDEC security error interrupt 0253 * @arg @ref OTFDEC_EXE_ERROR_INT OTFDEC execution error interrupt 0254 * @arg @ref OTFDEC_KEY_ERROR_INT OTFDEC key error interrupt 0255 * @arg @ref OTFDEC_SEC_EXE_ERROR_INT OTFDEC security and execution errors interrupts 0256 * @arg @ref OTFDEC_SEC_KEY_ERROR_INT OTFDEC security and key errors interrupts 0257 * @arg @ref OTFDEC_EXE_KEY_ERROR_INT OTFDEC execution and key errors interrupts 0258 * @arg @ref OTFDEC_ALL_INT OTFDEC all interrupts 0259 * @retval None 0260 */ 0261 #define __HAL_OTFDEC_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BIT(((__HANDLE__)->Instance->IER), (__INTERRUPT__)) 0262 0263 /** 0264 * @brief Disable OTFDEC peripheral interrupts combination 0265 * @param __HANDLE__ pointer to an OTFDEC_HandleTypeDef structure that contains 0266 * the configuration information for OTFDEC module 0267 * @param __INTERRUPT__ mask on disabled interrupts 0268 * This parameter can be one of the following values: 0269 * @arg @ref OTFDEC_SEC_ERROR_INT OTFDEC security error interrupt 0270 * @arg @ref OTFDEC_EXE_ERROR_INT OTFDEC execution error interrupt 0271 * @arg @ref OTFDEC_KEY_ERROR_INT OTFDEC key error interrupt 0272 * @arg @ref OTFDEC_SEC_EXE_ERROR_INT OTFDEC security and execution errors interrupts 0273 * @arg @ref OTFDEC_SEC_KEY_ERROR_INT OTFDEC security and key errors interrupts 0274 * @arg @ref OTFDEC_EXE_KEY_ERROR_INT OTFDEC execution and key errors interrupts 0275 * @arg @ref OTFDEC_ALL_INT OTFDEC all interrupts 0276 * @retval None 0277 */ 0278 #define __HAL_OTFDEC_DISABLE_IT(__HANDLE__, __INTERRUPT__) CLEAR_BIT(((__HANDLE__)->Instance->IER), (__INTERRUPT__)) 0279 0280 /** @brief Check whether the specified combination of OTFDEC interrupt flags is set or not. 0281 * @param __HANDLE__ pointer to an OTFDEC_HandleTypeDef structure that contains 0282 * the configuration information for OTFDEC module 0283 * @param __FLAG__ mask on combination of interrupts flags 0284 * This parameter can be one of the following values: 0285 * @arg @ref OTFDEC_SEC_ERROR_INT OTFDEC security error interrupt flag 0286 * @arg @ref OTFDEC_EXE_ERROR_INT OTFDEC execution error interrupt flag 0287 * @arg @ref OTFDEC_KEY_ERROR_INT OTFDEC key error interrupt flag 0288 * @arg @ref OTFDEC_SEC_EXE_ERROR_INT OTFDEC security and execution errors interrupts flags 0289 * @arg @ref OTFDEC_SEC_KEY_ERROR_INT OTFDEC security and key errors interrupts flags 0290 * @arg @ref OTFDEC_EXE_KEY_ERROR_INT OTFDEC execution and key errors interrupts flag 0291 * @arg @ref OTFDEC_ALL_INT OTFDEC all interrupts flags 0292 * @retval The state of __FLAG__ (TRUE or FALSE). 0293 */ 0294 #define __HAL_OTFDEC_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->ISR & (__FLAG__)) == (__FLAG__)) 0295 0296 /** @brief Clear the specified combination of OTFDEC interrupt flags. 0297 * @param __HANDLE__ pointer to an OTFDEC_HandleTypeDef structure that contains 0298 * the configuration information for OTFDEC module 0299 * @param __FLAG__ mask on combination of interrupts flags 0300 * This parameter can be one of the following values: 0301 * @arg @ref OTFDEC_SEC_ERROR_INT OTFDEC security error interrupt flag 0302 * @arg @ref OTFDEC_EXE_ERROR_INT OTFDEC execution error interrupt flag 0303 * @arg @ref OTFDEC_KEY_ERROR_INT OTFDEC key error interrupt flag 0304 * @arg @ref OTFDEC_SEC_EXE_ERROR_INT OTFDEC security and execution errors interrupts flags 0305 * @arg @ref OTFDEC_SEC_KEY_ERROR_INT OTFDEC security and key errors interrupts flags 0306 * @arg @ref OTFDEC_EXE_KEY_ERROR_INT OTFDEC execution and key errors interrupts flag 0307 * @arg @ref OTFDEC_ALL_INT OTFDEC all interrupts flags 0308 * @retval None 0309 */ 0310 #define __HAL_OTFDEC_CLEAR_FLAG(__HANDLE__, __FLAG__) SET_BIT((__HANDLE__)->Instance->ICR, (__FLAG__)) 0311 0312 /** 0313 * @} 0314 */ 0315 0316 /* Exported functions --------------------------------------------------------*/ 0317 /** @defgroup OTFDEC_Exported_Functions OTFDEC Exported Functions 0318 * @ingroup RTEMSBSPsARMSTM32H7 0319 * @{ 0320 */ 0321 0322 /** @addtogroup OTFDEC_Exported_Functions_Group1 Initialization and de-initialization functions 0323 * @{ 0324 */ 0325 HAL_StatusTypeDef HAL_OTFDEC_Init(OTFDEC_HandleTypeDef *hotfdec); 0326 HAL_StatusTypeDef HAL_OTFDEC_DeInit(OTFDEC_HandleTypeDef *hotfdec); 0327 void HAL_OTFDEC_MspInit(OTFDEC_HandleTypeDef *hotfdec); 0328 void HAL_OTFDEC_MspDeInit(OTFDEC_HandleTypeDef *hotfdec); 0329 0330 #if (USE_HAL_OTFDEC_REGISTER_CALLBACKS == 1) 0331 /* Callbacks Register/UnRegister functions ***********************************/ 0332 HAL_StatusTypeDef HAL_OTFDEC_RegisterCallback(OTFDEC_HandleTypeDef *hotfdec, HAL_OTFDEC_CallbackIDTypeDef CallbackID, 0333 pOTFDEC_CallbackTypeDef pCallback); 0334 HAL_StatusTypeDef HAL_OTFDEC_UnRegisterCallback(OTFDEC_HandleTypeDef *hotfdec, HAL_OTFDEC_CallbackIDTypeDef CallbackID); 0335 #endif /* USE_HAL_OTFDEC_REGISTER_CALLBACKS */ 0336 /** 0337 * @} 0338 */ 0339 0340 0341 /** @addtogroup OTFDEC_Exported_Functions_Group2 OTFDEC IRQ handler management 0342 * @{ 0343 */ 0344 void HAL_OTFDEC_IRQHandler(OTFDEC_HandleTypeDef *hotfdec); 0345 void HAL_OTFDEC_ErrorCallback(OTFDEC_HandleTypeDef *hotfdec); 0346 /** 0347 * @} 0348 */ 0349 0350 /** @addtogroup OTFDEC_Exported_Functions_Group3 Peripheral Control functions 0351 * @{ 0352 */ 0353 HAL_StatusTypeDef HAL_OTFDEC_RegionKeyLock(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex); 0354 HAL_StatusTypeDef HAL_OTFDEC_RegionSetKey(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex, uint32_t *pKey); 0355 HAL_StatusTypeDef HAL_OTFDEC_RegionSetMode(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex, uint32_t mode); 0356 HAL_StatusTypeDef HAL_OTFDEC_RegionConfig(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex, 0357 OTFDEC_RegionConfigTypeDef *Config, uint32_t lock); 0358 uint32_t HAL_OTFDEC_KeyCRCComputation(uint32_t *pKey); 0359 HAL_StatusTypeDef HAL_OTFDEC_RegionEnable(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex); 0360 HAL_StatusTypeDef HAL_OTFDEC_RegionDisable(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex); 0361 /** 0362 * @} 0363 */ 0364 0365 /** @addtogroup @addtogroup OTFDEC_Exported_Functions_Group4 Peripheral State and Status functions 0366 * @{ 0367 */ 0368 HAL_OTFDEC_StateTypeDef HAL_OTFDEC_GetState(OTFDEC_HandleTypeDef *hotfdec); 0369 uint32_t HAL_OTFDEC_RegionGetKeyCRC(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex); 0370 HAL_StatusTypeDef HAL_OTFDEC_RegionGetConfig(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex, 0371 OTFDEC_RegionConfigTypeDef *Config); 0372 /** 0373 * @} 0374 */ 0375 0376 /** 0377 * @} 0378 */ 0379 0380 /* Private types -------------------------------------------------------------*/ 0381 /** @defgroup OTFDEC_Private_Types OTFDEC Private Types 0382 * @ingroup RTEMSBSPsARMSTM32H7 0383 * @{ 0384 */ 0385 0386 /** 0387 * @} 0388 */ 0389 0390 /* Private variables ---------------------------------------------------------*/ 0391 /** @defgroup OTFDEC_Private_Variables OTFDEC Private Variables 0392 * @ingroup RTEMSBSPsARMSTM32H7 0393 * @{ 0394 */ 0395 0396 /** 0397 * @} 0398 */ 0399 0400 /* Private constants ---------------------------------------------------------*/ 0401 /** @defgroup OTFDEC_Private_Constants OTFDEC Private Constants 0402 * @ingroup RTEMSBSPsARMSTM32H7 0403 * @{ 0404 */ 0405 /** 0406 * @} 0407 */ 0408 0409 /* Private macros ------------------------------------------------------------*/ 0410 /** @defgroup OTFDEC_Private_Macros OTFDEC Private Macros 0411 * @ingroup RTEMSBSPsARMSTM32H7 0412 * @{ 0413 */ 0414 0415 /** 0416 * @brief Verify the OTFDEC peripheral interrupts parameter. 0417 * @param __INT__ OTFDEC peripheral set of interrupts parameter 0418 * @retval SET (__INT__ is valid) or RESET (__INT__ is invalid) 0419 */ 0420 #define IS_OTFDEC_INTERRUPTS(__INT__) (((__INT__) == OTFDEC_SEC_ERROR_INT) || \ 0421 ((__INT__) == OTFDEC_EXE_ERROR_INT) || \ 0422 ((__INT__) == OTFDEC_KEY_ERROR_INT) || \ 0423 ((__INT__) == OTFDEC_SEC_EXE_ERROR_INT) || \ 0424 ((__INT__) == OTFDEC_SEC_KEY_ERROR_INT) || \ 0425 ((__INT__) == OTFDEC_EXE_KEY_ERROR_INT) || \ 0426 ((__INT__) == OTFDEC_ALL_INT) ) 0427 0428 /** 0429 * @brief Verify the OTFDEC region configuration lock parameter. 0430 * @param __LOCK__ OTFDEC region lock parameter. 0431 * @retval SET (__LOCK__ is valid) or RESET (__LOCK__ is invalid) 0432 */ 0433 #define IS_OTFDEC_REGION_CONFIG_LOCK(__LOCK__) (((__LOCK__) == OTFDEC_REG_CONFIGR_LOCK_DISABLE) || \ 0434 ((__LOCK__) == OTFDEC_REG_CONFIGR_LOCK_ENABLE) ) 0435 0436 /** 0437 * @brief Verify the OTFDEC region operating mode. 0438 * @param __MODE__ OTFDEC region operating mode parameter. 0439 * @retval SET (__MODE__ is valid) or RESET (__MODE__ is invalid) 0440 */ 0441 #define IS_OTFDEC_REGION_OPERATING_MODE(__MODE__) \ 0442 (((__MODE__)== OTFDEC_REG_MODE_INSTRUCTION_ACCESSES_ONLY) || \ 0443 ((__MODE__) == OTFDEC_REG_MODE_DATA_ACCESSES_ONLY) || \ 0444 ((__MODE__) == OTFDEC_REG_MODE_INSTRUCTION_OR_DATA_ACCESSES) || \ 0445 ((__MODE__) == OTFDEC_REG_MODE_INSTRUCTION_ACCESSES_ONLY_WITH_CIPHER)) 0446 0447 /** 0448 * @brief Verify the OTFDEC region index. 0449 * @param __INDEX__ OTFDEC region index 0450 * @retval SET (__INDEX__ is valid) or RESET (__INDEX__ is invalid) 0451 */ 0452 #define IS_OTFDEC_REGIONINDEX(__INDEX__) (((__INDEX__) == OTFDEC_REGION1) || \ 0453 ((__INDEX__) == OTFDEC_REGION2) || \ 0454 ((__INDEX__) == OTFDEC_REGION3) || \ 0455 ((__INDEX__) == OTFDEC_REGION4) ) 0456 0457 /** 0458 * @brief Verify the OTFDEC configuration attributes. 0459 * @param __ATTRIBUTE__ OTFDEC region index 0460 * @retval SET (__ATTRIBUTE__ is valid) or RESET (__ATTRIBUTE__ is invalid) 0461 */ 0462 #define IS_OTFDEC_ATTRIBUTE(__ATTRIBUTE__) (((__ATTRIBUTE__) == OTFDEC_ATTRIBUTE_PRIV) || \ 0463 ((__ATTRIBUTE__) == OTFDEC_ATTRIBUTE_NPRIV) ) 0464 0465 /** 0466 * @} 0467 */ 0468 0469 /* Private functions ---------------------------------------------------------*/ 0470 /** @defgroup OTFDEC_Private_Functions OTFDEC Private Functions 0471 * @ingroup RTEMSBSPsARMSTM32H7 0472 * @{ 0473 */ 0474 0475 /** 0476 * @} 0477 */ 0478 0479 /** 0480 * @} 0481 */ 0482 0483 #endif /* OTFDEC1 */ 0484 0485 /** 0486 * @} 0487 */ 0488 0489 #ifdef __cplusplus 0490 } 0491 #endif 0492 0493 #endif /* STM32H7xx_HAL_OTFDEC_H */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |