mbed library sources

Dependents:   Marvino mbot

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Fri Aug 14 13:15:17 2015 +0100
Revision:
610:813dcc80987e
Synchronized with git revision 6d84db41c6833e0b9b024741eb0616a5f62d5599

Full URL: https://github.com/mbedmicro/mbed/commit/6d84db41c6833e0b9b024741eb0616a5f62d5599/

DISCO_F746NG - Improvements

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 610:813dcc80987e 1 /**
mbed_official 610:813dcc80987e 2 ******************************************************************************
mbed_official 610:813dcc80987e 3 * @file stm32l4xx_hal_flash_ramfunc.c
mbed_official 610:813dcc80987e 4 * @author MCD Application Team
mbed_official 610:813dcc80987e 5 * @version V1.0.0
mbed_official 610:813dcc80987e 6 * @date 26-June-2015
mbed_official 610:813dcc80987e 7 * @brief FLASH RAMFUNC driver.
mbed_official 610:813dcc80987e 8 * This file provides a Flash firmware functions which should be
mbed_official 610:813dcc80987e 9 * executed from internal SRAM
mbed_official 610:813dcc80987e 10 * + FLASH HalfPage Programming
mbed_official 610:813dcc80987e 11 * + FLASH Power Down in Run mode
mbed_official 610:813dcc80987e 12 *
mbed_official 610:813dcc80987e 13 * @verbatim
mbed_official 610:813dcc80987e 14 ==============================================================================
mbed_official 610:813dcc80987e 15 ##### Flash RAM functions #####
mbed_official 610:813dcc80987e 16 ==============================================================================
mbed_official 610:813dcc80987e 17
mbed_official 610:813dcc80987e 18 *** ARM Compiler ***
mbed_official 610:813dcc80987e 19 --------------------
mbed_official 610:813dcc80987e 20 [..] RAM functions are defined using the toolchain options.
mbed_official 610:813dcc80987e 21 Functions that are executed in RAM should reside in a separate
mbed_official 610:813dcc80987e 22 source module. Using the 'Options for File' dialog you can simply change
mbed_official 610:813dcc80987e 23 the 'Code / Const' area of a module to a memory space in physical RAM.
mbed_official 610:813dcc80987e 24 Available memory areas are declared in the 'Target' tab of the
mbed_official 610:813dcc80987e 25 Options for Target' dialog.
mbed_official 610:813dcc80987e 26
mbed_official 610:813dcc80987e 27 *** ICCARM Compiler ***
mbed_official 610:813dcc80987e 28 -----------------------
mbed_official 610:813dcc80987e 29 [..] RAM functions are defined using a specific toolchain keyword "__ramfunc".
mbed_official 610:813dcc80987e 30
mbed_official 610:813dcc80987e 31 *** GNU Compiler ***
mbed_official 610:813dcc80987e 32 --------------------
mbed_official 610:813dcc80987e 33 [..] RAM functions are defined using a specific toolchain attribute
mbed_official 610:813dcc80987e 34 "__attribute__((section(".RamFunc")))".
mbed_official 610:813dcc80987e 35
mbed_official 610:813dcc80987e 36 @endverbatim
mbed_official 610:813dcc80987e 37 ******************************************************************************
mbed_official 610:813dcc80987e 38 * @attention
mbed_official 610:813dcc80987e 39 *
mbed_official 610:813dcc80987e 40 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
mbed_official 610:813dcc80987e 41 *
mbed_official 610:813dcc80987e 42 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 610:813dcc80987e 43 * are permitted provided that the following conditions are met:
mbed_official 610:813dcc80987e 44 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 610:813dcc80987e 45 * this list of conditions and the following disclaimer.
mbed_official 610:813dcc80987e 46 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 610:813dcc80987e 47 * this list of conditions and the following disclaimer in the documentation
mbed_official 610:813dcc80987e 48 * and/or other materials provided with the distribution.
mbed_official 610:813dcc80987e 49 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 610:813dcc80987e 50 * may be used to endorse or promote products derived from this software
mbed_official 610:813dcc80987e 51 * without specific prior written permission.
mbed_official 610:813dcc80987e 52 *
mbed_official 610:813dcc80987e 53 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 610:813dcc80987e 54 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 610:813dcc80987e 55 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 610:813dcc80987e 56 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 610:813dcc80987e 57 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 610:813dcc80987e 58 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 610:813dcc80987e 59 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 610:813dcc80987e 60 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 610:813dcc80987e 61 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 610:813dcc80987e 62 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 610:813dcc80987e 63 *
mbed_official 610:813dcc80987e 64 ******************************************************************************
mbed_official 610:813dcc80987e 65 */
mbed_official 610:813dcc80987e 66
mbed_official 610:813dcc80987e 67 /* Includes ------------------------------------------------------------------*/
mbed_official 610:813dcc80987e 68 #include "stm32l4xx_hal.h"
mbed_official 610:813dcc80987e 69
mbed_official 610:813dcc80987e 70 /** @addtogroup STM32L4xx_HAL_Driver
mbed_official 610:813dcc80987e 71 * @{
mbed_official 610:813dcc80987e 72 */
mbed_official 610:813dcc80987e 73
mbed_official 610:813dcc80987e 74 /** @defgroup FLASH_RAMFUNC FLASH_RAMFUNC
mbed_official 610:813dcc80987e 75 * @brief FLASH functions executed from RAM
mbed_official 610:813dcc80987e 76 * @{
mbed_official 610:813dcc80987e 77 */
mbed_official 610:813dcc80987e 78
mbed_official 610:813dcc80987e 79 #ifdef HAL_FLASH_MODULE_ENABLED
mbed_official 610:813dcc80987e 80
mbed_official 610:813dcc80987e 81 /* Private typedef -----------------------------------------------------------*/
mbed_official 610:813dcc80987e 82 /* Private define ------------------------------------------------------------*/
mbed_official 610:813dcc80987e 83 /* Private macro -------------------------------------------------------------*/
mbed_official 610:813dcc80987e 84 /* Private variables ---------------------------------------------------------*/
mbed_official 610:813dcc80987e 85 /* Private function prototypes -----------------------------------------------*/
mbed_official 610:813dcc80987e 86 /* Exported functions -------------------------------------------------------*/
mbed_official 610:813dcc80987e 87
mbed_official 610:813dcc80987e 88 /** @defgroup FLASH_RAMFUNC_Exported_Functions FLASH in RAM function Exported Functions
mbed_official 610:813dcc80987e 89 * @{
mbed_official 610:813dcc80987e 90 */
mbed_official 610:813dcc80987e 91
mbed_official 610:813dcc80987e 92 /** @defgroup FLASH_RAMFUNC_Exported_Functions_Group1 Peripheral features functions
mbed_official 610:813dcc80987e 93 * @brief Data transfers functions
mbed_official 610:813dcc80987e 94 *
mbed_official 610:813dcc80987e 95 @verbatim
mbed_official 610:813dcc80987e 96 ===============================================================================
mbed_official 610:813dcc80987e 97 ##### ramfunc functions #####
mbed_official 610:813dcc80987e 98 ===============================================================================
mbed_official 610:813dcc80987e 99 [..]
mbed_official 610:813dcc80987e 100 This subsection provides a set of functions that should be executed from RAM.
mbed_official 610:813dcc80987e 101
mbed_official 610:813dcc80987e 102 @endverbatim
mbed_official 610:813dcc80987e 103 * @{
mbed_official 610:813dcc80987e 104 */
mbed_official 610:813dcc80987e 105
mbed_official 610:813dcc80987e 106 /**
mbed_official 610:813dcc80987e 107 * @brief Enable the Power down in Run Mode
mbed_official 610:813dcc80987e 108 * @note This function should be called and executed from SRAM memory
mbed_official 610:813dcc80987e 109 * @retval None
mbed_official 610:813dcc80987e 110 */
mbed_official 610:813dcc80987e 111 __RAM_FUNC HAL_FLASHEx_EnableRunPowerDown(void)
mbed_official 610:813dcc80987e 112 {
mbed_official 610:813dcc80987e 113 /* Enable the Power Down in Run mode*/
mbed_official 610:813dcc80987e 114 __HAL_FLASH_POWER_DOWN_ENABLE();
mbed_official 610:813dcc80987e 115
mbed_official 610:813dcc80987e 116 return HAL_OK;
mbed_official 610:813dcc80987e 117
mbed_official 610:813dcc80987e 118 }
mbed_official 610:813dcc80987e 119
mbed_official 610:813dcc80987e 120 /**
mbed_official 610:813dcc80987e 121 * @brief Disable the Power down in Run Mode
mbed_official 610:813dcc80987e 122 * @note This function should be called and executed from SRAM memory
mbed_official 610:813dcc80987e 123 * @retval None
mbed_official 610:813dcc80987e 124 */
mbed_official 610:813dcc80987e 125 __RAM_FUNC HAL_FLASHEx_DisableRunPowerDown(void)
mbed_official 610:813dcc80987e 126 {
mbed_official 610:813dcc80987e 127 /* Disable the Power Down in Run mode*/
mbed_official 610:813dcc80987e 128 __HAL_FLASH_POWER_DOWN_DISABLE();
mbed_official 610:813dcc80987e 129
mbed_official 610:813dcc80987e 130 return HAL_OK;
mbed_official 610:813dcc80987e 131 }
mbed_official 610:813dcc80987e 132
mbed_official 610:813dcc80987e 133 /**
mbed_official 610:813dcc80987e 134 * @}
mbed_official 610:813dcc80987e 135 */
mbed_official 610:813dcc80987e 136
mbed_official 610:813dcc80987e 137 /**
mbed_official 610:813dcc80987e 138 * @}
mbed_official 610:813dcc80987e 139 */
mbed_official 610:813dcc80987e 140 #endif /* HAL_FLASH_MODULE_ENABLED */
mbed_official 610:813dcc80987e 141
mbed_official 610:813dcc80987e 142
mbed_official 610:813dcc80987e 143
mbed_official 610:813dcc80987e 144 /**
mbed_official 610:813dcc80987e 145 * @}
mbed_official 610:813dcc80987e 146 */
mbed_official 610:813dcc80987e 147
mbed_official 610:813dcc80987e 148 /**
mbed_official 610:813dcc80987e 149 * @}
mbed_official 610:813dcc80987e 150 */
mbed_official 610:813dcc80987e 151
mbed_official 610:813dcc80987e 152
mbed_official 610:813dcc80987e 153 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
mbed_official 610:813dcc80987e 154
mbed_official 610:813dcc80987e 155