L4 HAL Drivers

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers stm32l4xx_hal_flash_ramfunc.h Source File

stm32l4xx_hal_flash_ramfunc.h

Go to the documentation of this file.
00001 /**
00002   ******************************************************************************
00003   * @file    stm32l4xx_hal_flash_ramfunc.h
00004   * @author  MCD Application Team
00005   * @version V1.1.0
00006   * @date    16-September-2015
00007   * @brief   Header file of FLASH RAMFUNC driver.
00008   ******************************************************************************
00009   * @attention
00010   *
00011   * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
00012   *
00013   * Redistribution and use in source and binary forms, with or without modification,
00014   * are permitted provided that the following conditions are met:
00015   *   1. Redistributions of source code must retain the above copyright notice,
00016   *      this list of conditions and the following disclaimer.
00017   *   2. Redistributions in binary form must reproduce the above copyright notice,
00018   *      this list of conditions and the following disclaimer in the documentation
00019   *      and/or other materials provided with the distribution.
00020   *   3. Neither the name of STMicroelectronics nor the names of its contributors
00021   *      may be used to endorse or promote products derived from this software
00022   *      without specific prior written permission.
00023   *
00024   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00025   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00026   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00027   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
00028   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00029   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
00030   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00031   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00032   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00033   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00034   *
00035   ******************************************************************************
00036   */ 
00037 
00038 /* Define to prevent recursive inclusion -------------------------------------*/
00039 #ifndef __STM32L4xx_FLASH_RAMFUNC_H
00040 #define __STM32L4xx_FLASH_RAMFUNC_H
00041 
00042 #ifdef __cplusplus
00043  extern "C" {
00044 #endif
00045 
00046 /* Includes ------------------------------------------------------------------*/
00047 #include "stm32l4xx_hal_def.h"
00048 
00049 /** @addtogroup STM32L4xx_HAL_Driver
00050   * @{
00051   */
00052 
00053 /** @addtogroup FLASH_RAMFUNC
00054   * @{
00055   */ 
00056 
00057 /* Exported types ------------------------------------------------------------*/ 
00058 /* Exported macro ------------------------------------------------------------*/
00059 /** 
00060   * @brief  __RAM_FUNC definition
00061   */ 
00062 #if defined ( __CC_ARM   )
00063 /* ARM Compiler
00064    ------------
00065    RAM functions are defined using the toolchain options. 
00066    Functions that are executed in RAM should reside in a separate source module.
00067    Using the 'Options for File' dialog you can simply change the 'Code / Const' 
00068    area of a module to a memory space in physical RAM.
00069    Available memory areas are declared in the 'Target' tab of the 'Options for Target'
00070    dialog. 
00071 */
00072 #define __RAM_FUNC HAL_StatusTypeDef 
00073 
00074 #elif defined ( __ICCARM__ )
00075 /* ICCARM Compiler
00076    ---------------
00077    RAM functions are defined using a specific toolchain keyword "__ramfunc". 
00078 */
00079 #define __RAM_FUNC __ramfunc HAL_StatusTypeDef
00080 
00081 #elif defined   (  __GNUC__  )
00082 /* GNU Compiler
00083    ------------
00084   RAM functions are defined using a specific toolchain attribute 
00085    "__attribute__((section(".RamFunc")))".
00086 */
00087 #define __RAM_FUNC HAL_StatusTypeDef  __attribute__((section(".RamFunc")))
00088 
00089 #endif
00090                                       
00091 
00092 /* Exported functions --------------------------------------------------------*/
00093 /** @addtogroup FLASH_RAMFUNC_Exported_Functions
00094   * @{
00095   */
00096 
00097 /** @addtogroup FLASH_RAMFUNC_Exported_Functions_Group1
00098   * @{
00099   */
00100 /* Peripheral Control functions  ************************************************/
00101 __RAM_FUNC  HAL_FLASHEx_EnableRunPowerDown(void);
00102 __RAM_FUNC  HAL_FLASHEx_DisableRunPowerDown(void);
00103 /**
00104   * @}
00105   */ 
00106 
00107 /**
00108   * @}
00109   */ 
00110 
00111 /**
00112   * @}
00113   */ 
00114 
00115 /**
00116   * @}
00117   */
00118 
00119 #ifdef __cplusplus
00120 }
00121 #endif
00122 
00123 #endif /* __STM32L4xx_FLASH_RAMFUNC_H */
00124 
00125 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
00126