mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

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

Committer:
mbed_official
Date:
Tue Jun 24 14:45:08 2014 +0100
Revision:
237:f3da66175598
Child:
375:3d36234a1087
Synchronized with git revision 8ef659bca81f12dfc896b5a7af7c2abbd1a1b8b7

Full URL: https://github.com/mbedmicro/mbed/commit/8ef659bca81f12dfc896b5a7af7c2abbd1a1b8b7/

[NUCLEO_F334R8] Add platform files

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 237:f3da66175598 1 /**
mbed_official 237:f3da66175598 2 ******************************************************************************
mbed_official 237:f3da66175598 3 * @file stm32f3xx_hal_flash_ex.h
mbed_official 237:f3da66175598 4 * @author MCD Application Team
mbed_official 237:f3da66175598 5 * @version V1.0.1
mbed_official 237:f3da66175598 6 * @date 18-June-2014
mbed_official 237:f3da66175598 7 * @brief Header file of Flash HAL Extension module.
mbed_official 237:f3da66175598 8 ******************************************************************************
mbed_official 237:f3da66175598 9 * @attention
mbed_official 237:f3da66175598 10 *
mbed_official 237:f3da66175598 11 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
mbed_official 237:f3da66175598 12 *
mbed_official 237:f3da66175598 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 237:f3da66175598 14 * are permitted provided that the following conditions are met:
mbed_official 237:f3da66175598 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 237:f3da66175598 16 * this list of conditions and the following disclaimer.
mbed_official 237:f3da66175598 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 237:f3da66175598 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 237:f3da66175598 19 * and/or other materials provided with the distribution.
mbed_official 237:f3da66175598 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 237:f3da66175598 21 * may be used to endorse or promote products derived from this software
mbed_official 237:f3da66175598 22 * without specific prior written permission.
mbed_official 237:f3da66175598 23 *
mbed_official 237:f3da66175598 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 237:f3da66175598 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 237:f3da66175598 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 237:f3da66175598 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 237:f3da66175598 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 237:f3da66175598 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 237:f3da66175598 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 237:f3da66175598 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 237:f3da66175598 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 237:f3da66175598 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 237:f3da66175598 34 *
mbed_official 237:f3da66175598 35 ******************************************************************************
mbed_official 237:f3da66175598 36 */
mbed_official 237:f3da66175598 37
mbed_official 237:f3da66175598 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 237:f3da66175598 39 #ifndef __STM32F3xx_HAL_FLASH_EX_H
mbed_official 237:f3da66175598 40 #define __STM32F3xx_HAL_FLASH_EX_H
mbed_official 237:f3da66175598 41
mbed_official 237:f3da66175598 42 #ifdef __cplusplus
mbed_official 237:f3da66175598 43 extern "C" {
mbed_official 237:f3da66175598 44 #endif
mbed_official 237:f3da66175598 45
mbed_official 237:f3da66175598 46 /* Includes ------------------------------------------------------------------*/
mbed_official 237:f3da66175598 47 #include "stm32f3xx_hal_def.h"
mbed_official 237:f3da66175598 48
mbed_official 237:f3da66175598 49 /** @addtogroup STM32F3xx_HAL_Driver
mbed_official 237:f3da66175598 50 * @{
mbed_official 237:f3da66175598 51 */
mbed_official 237:f3da66175598 52
mbed_official 237:f3da66175598 53 /** @addtogroup FLASHEx
mbed_official 237:f3da66175598 54 * @{
mbed_official 237:f3da66175598 55 */
mbed_official 237:f3da66175598 56
mbed_official 237:f3da66175598 57 /* Exported types ------------------------------------------------------------*/
mbed_official 237:f3da66175598 58 /** @addtogroup FLASHEx_Exported_Types
mbed_official 237:f3da66175598 59 * @{
mbed_official 237:f3da66175598 60 */
mbed_official 237:f3da66175598 61 /**
mbed_official 237:f3da66175598 62 * @}
mbed_official 237:f3da66175598 63 */
mbed_official 237:f3da66175598 64
mbed_official 237:f3da66175598 65 /* Exported constants --------------------------------------------------------*/
mbed_official 237:f3da66175598 66 /** @addtogroup FLASHEx_Exported_Constants
mbed_official 237:f3da66175598 67 * @{
mbed_official 237:f3da66175598 68 */
mbed_official 237:f3da66175598 69 #define FLASH_SIZE_DATA_REGISTER ((uint32_t)0x1FFFF7CC)
mbed_official 237:f3da66175598 70 #define FLASH_PAGE_SIZE 0x800
mbed_official 237:f3da66175598 71 /**
mbed_official 237:f3da66175598 72 * @}
mbed_official 237:f3da66175598 73 */
mbed_official 237:f3da66175598 74
mbed_official 237:f3da66175598 75 /** @defgroup FLASHEx_Address
mbed_official 237:f3da66175598 76 * @{
mbed_official 237:f3da66175598 77 */
mbed_official 237:f3da66175598 78 #if defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx) || \
mbed_official 237:f3da66175598 79 defined(STM32F373xC) || defined(STM32F378xx)
mbed_official 237:f3da66175598 80 #define IS_FLASH_PROGRAM_ADDRESS(ADDRESS) (((ADDRESS) >= 0x08000000) && (((*((uint16_t *)FLASH_SIZE_DATA_REGISTER)) == 0x100) ? \
mbed_official 237:f3da66175598 81 ((ADDRESS) <= 0x0803FFFF) : (((*((uint16_t *)FLASH_SIZE_DATA_REGISTER)) == 0x80) ? \
mbed_official 237:f3da66175598 82 ((ADDRESS) <= 0x0801FFFF) : ((ADDRESS) <= 0x0800FFFF))))
mbed_official 237:f3da66175598 83 #endif /* STM32F302xC || STM32F303xC || STM32F358xx || */
mbed_official 237:f3da66175598 84 /* STM32F373xC || STM32F378xx */
mbed_official 237:f3da66175598 85
mbed_official 237:f3da66175598 86 #if defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx) || \
mbed_official 237:f3da66175598 87 defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx)
mbed_official 237:f3da66175598 88 #define IS_FLASH_PROGRAM_ADDRESS(ADDRESS) (((ADDRESS) >= 0x08000000) && (((*((uint16_t *)FLASH_SIZE_DATA_REGISTER)) == 0x40) ? \
mbed_official 237:f3da66175598 89 ((ADDRESS) <= 0x0800FFFF) : (((*((uint16_t *)FLASH_SIZE_DATA_REGISTER)) == 0x20) ? \
mbed_official 237:f3da66175598 90 ((ADDRESS) <= 0x08007FFF) : ((ADDRESS) <= 0x08003FFF))))
mbed_official 237:f3da66175598 91 #endif /* STM32F301x8 || STM32F302x8 || STM32F318xx || */
mbed_official 237:f3da66175598 92 /* STM32F303x8 || STM32F334x8 || STM32F328xx */
mbed_official 237:f3da66175598 93 /**
mbed_official 237:f3da66175598 94 * @}
mbed_official 237:f3da66175598 95 */
mbed_official 237:f3da66175598 96
mbed_official 237:f3da66175598 97 /** @defgroup FLASHEx_Nb_Pages
mbed_official 237:f3da66175598 98 * @{
mbed_official 237:f3da66175598 99 */
mbed_official 237:f3da66175598 100 #if defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx) || \
mbed_official 237:f3da66175598 101 defined(STM32F373xC) || defined(STM32F378xx)
mbed_official 237:f3da66175598 102 #define IS_FLASH_NB_PAGES(ADDRESS,NBPAGES) (((*((uint16_t *)FLASH_SIZE_DATA_REGISTER)) == 0x100) ? ((ADDRESS)+((NBPAGES)*FLASH_PAGE_SIZE)-1 <= 0x0803FFFF) : \
mbed_official 237:f3da66175598 103 (((*((uint16_t *)FLASH_SIZE_DATA_REGISTER)) == 0x80) ? ((ADDRESS)+((NBPAGES)*FLASH_PAGE_SIZE)-1 <= 0x0801FFFF) : \
mbed_official 237:f3da66175598 104 ((ADDRESS)+((NBPAGES)*FLASH_PAGE_SIZE)-1 <= 0x0800FFFF)))
mbed_official 237:f3da66175598 105 #endif /* STM32F302xC || STM32F303xC || STM32F358xx || */
mbed_official 237:f3da66175598 106 /* STM32F373xC || STM32F378xx */
mbed_official 237:f3da66175598 107
mbed_official 237:f3da66175598 108 #if defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx) || \
mbed_official 237:f3da66175598 109 defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx)
mbed_official 237:f3da66175598 110 #define IS_FLASH_NB_PAGES(ADDRESS,NBPAGES) (((*((uint16_t *)FLASH_SIZE_DATA_REGISTER)) == 0x40) ? ((ADDRESS)+((NBPAGES)*FLASH_PAGE_SIZE)-1 <= 0x0800FFFF) : \
mbed_official 237:f3da66175598 111 (((*((uint16_t *)FLASH_SIZE_DATA_REGISTER)) == 0x20) ? ((ADDRESS)+((NBPAGES)*FLASH_PAGE_SIZE)-1 <= 0x08007FFF) : \
mbed_official 237:f3da66175598 112 ((ADDRESS)+((NBPAGES)*FLASH_PAGE_SIZE)-1 <= 0x08003FFF)))
mbed_official 237:f3da66175598 113 #endif /* STM32F301x8 || STM32F302x8 || STM32F318xx || */
mbed_official 237:f3da66175598 114 /* STM32F303x8 || STM32F334x8 || STM32F328xx */
mbed_official 237:f3da66175598 115 /**
mbed_official 237:f3da66175598 116 * @}
mbed_official 237:f3da66175598 117 */
mbed_official 237:f3da66175598 118
mbed_official 237:f3da66175598 119 /** @defgroup FLASHEx_OB_Write_Protection
mbed_official 237:f3da66175598 120 * @{
mbed_official 237:f3da66175598 121 */
mbed_official 237:f3da66175598 122 #define OB_WRP_PAGES0TO1 ((uint32_t)0x00000001) /* Write protection of page 0 to 1 */
mbed_official 237:f3da66175598 123 #define OB_WRP_PAGES2TO3 ((uint32_t)0x00000002) /* Write protection of page 2 to 3 */
mbed_official 237:f3da66175598 124 #define OB_WRP_PAGES4TO5 ((uint32_t)0x00000004) /* Write protection of page 4 to 5 */
mbed_official 237:f3da66175598 125 #define OB_WRP_PAGES6TO7 ((uint32_t)0x00000008) /* Write protection of page 6 to 7 */
mbed_official 237:f3da66175598 126 #define OB_WRP_PAGES8TO9 ((uint32_t)0x00000010) /* Write protection of page 8 to 9 */
mbed_official 237:f3da66175598 127 #define OB_WRP_PAGES10TO11 ((uint32_t)0x00000020) /* Write protection of page 10 to 11 */
mbed_official 237:f3da66175598 128 #define OB_WRP_PAGES12TO13 ((uint32_t)0x00000040) /* Write protection of page 12 to 13 */
mbed_official 237:f3da66175598 129 #define OB_WRP_PAGES14TO15 ((uint32_t)0x00000080) /* Write protection of page 14 to 15 */
mbed_official 237:f3da66175598 130 #define OB_WRP_PAGES16TO17 ((uint32_t)0x00000100) /* Write protection of page 16 to 17 */
mbed_official 237:f3da66175598 131 #define OB_WRP_PAGES18TO19 ((uint32_t)0x00000200) /* Write protection of page 18 to 19 */
mbed_official 237:f3da66175598 132 #define OB_WRP_PAGES20TO21 ((uint32_t)0x00000400) /* Write protection of page 20 to 21 */
mbed_official 237:f3da66175598 133 #define OB_WRP_PAGES22TO23 ((uint32_t)0x00000800) /* Write protection of page 22 to 23 */
mbed_official 237:f3da66175598 134 #define OB_WRP_PAGES24TO25 ((uint32_t)0x00001000) /* Write protection of page 24 to 25 */
mbed_official 237:f3da66175598 135 #define OB_WRP_PAGES26TO27 ((uint32_t)0x00002000) /* Write protection of page 26 to 27 */
mbed_official 237:f3da66175598 136 #define OB_WRP_PAGES28TO29 ((uint32_t)0x00004000) /* Write protection of page 28 to 29 */
mbed_official 237:f3da66175598 137 #define OB_WRP_PAGES30TO31 ((uint32_t)0x00008000) /* Write protection of page 30 to 31 */
mbed_official 237:f3da66175598 138 #if defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx) || defined(STM32F373xC) || defined(STM32F378xx)
mbed_official 237:f3da66175598 139 #define OB_WRP_PAGES32TO33 ((uint32_t)0x00010000) /* Write protection of page 32 to 33 */
mbed_official 237:f3da66175598 140 #define OB_WRP_PAGES34TO35 ((uint32_t)0x00020000) /* Write protection of page 34 to 35 */
mbed_official 237:f3da66175598 141 #define OB_WRP_PAGES36TO37 ((uint32_t)0x00040000) /* Write protection of page 36 to 37 */
mbed_official 237:f3da66175598 142 #define OB_WRP_PAGES38TO39 ((uint32_t)0x00080000) /* Write protection of page 38 to 39 */
mbed_official 237:f3da66175598 143 #define OB_WRP_PAGES40TO41 ((uint32_t)0x00100000) /* Write protection of page 40 to 41 */
mbed_official 237:f3da66175598 144 #define OB_WRP_PAGES42TO43 ((uint32_t)0x00200000) /* Write protection of page 42 to 43 */
mbed_official 237:f3da66175598 145 #define OB_WRP_PAGES44TO45 ((uint32_t)0x00400000) /* Write protection of page 44 to 45 */
mbed_official 237:f3da66175598 146 #define OB_WRP_PAGES46TO47 ((uint32_t)0x00800000) /* Write protection of page 46 to 47 */
mbed_official 237:f3da66175598 147 #define OB_WRP_PAGES48TO49 ((uint32_t)0x01000000) /* Write protection of page 48 to 49 */
mbed_official 237:f3da66175598 148 #define OB_WRP_PAGES50TO51 ((uint32_t)0x02000000) /* Write protection of page 50 to 51 */
mbed_official 237:f3da66175598 149 #define OB_WRP_PAGES52TO53 ((uint32_t)0x04000000) /* Write protection of page 52 to 53 */
mbed_official 237:f3da66175598 150 #define OB_WRP_PAGES54TO55 ((uint32_t)0x08000000) /* Write protection of page 54 to 55 */
mbed_official 237:f3da66175598 151 #define OB_WRP_PAGES56TO57 ((uint32_t)0x10000000) /* Write protection of page 56 to 57 */
mbed_official 237:f3da66175598 152 #define OB_WRP_PAGES58TO59 ((uint32_t)0x20000000) /* Write protection of page 58 to 59 */
mbed_official 237:f3da66175598 153 #define OB_WRP_PAGES60TO61 ((uint32_t)0x40000000) /* Write protection of page 60 to 61 */
mbed_official 237:f3da66175598 154 #define OB_WRP_PAGES62TO127 ((uint32_t)0x80000000) /* Write protection of page 62 to 127 */
mbed_official 237:f3da66175598 155 #endif /* STM32F302xC || STM32F303xC || STM32F358xx || STM32F373xC || STM32F378xx */
mbed_official 237:f3da66175598 156
mbed_official 237:f3da66175598 157 #define OB_WRP_PAGES0TO15MASK ((uint32_t)0x000000FF)
mbed_official 237:f3da66175598 158 #define OB_WRP_PAGES16TO31MASK ((uint32_t)0x0000FF00)
mbed_official 237:f3da66175598 159 #if defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx) || defined(STM32F373xC) || defined(STM32F378xx)
mbed_official 237:f3da66175598 160 #define OB_WRP_PAGES32TO47MASK ((uint32_t)0x00FF0000)
mbed_official 237:f3da66175598 161 #define OB_WRP_PAGES48TO127MASK ((uint32_t)0xFF000000)
mbed_official 237:f3da66175598 162 #endif /* STM32F302xC || STM32F303xC || STM32F358xx || STM32F373xC || STM32F378xx */
mbed_official 237:f3da66175598 163
mbed_official 237:f3da66175598 164 #if defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx) || defined(STM32F373xC) || defined(STM32F378xx)
mbed_official 237:f3da66175598 165 #define OB_WRP_PAGES32TO47MASK ((uint32_t)0x00FF0000)
mbed_official 237:f3da66175598 166 #define OB_WRP_PAGES48TO127MASK ((uint32_t)0xFF000000)
mbed_official 237:f3da66175598 167 #endif /* STM32F302xC || STM32F303xC || STM32F358xx || STM32F373xC || STM32F378xx */
mbed_official 237:f3da66175598 168
mbed_official 237:f3da66175598 169 #if defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx) || defined(STM32F373xC) || defined(STM32F378xx)
mbed_official 237:f3da66175598 170 #define OB_WRP_ALLPAGES ((uint32_t)0xFFFFFFFF) /*!< Write protection of all pages */
mbed_official 237:f3da66175598 171 #endif /* STM32F302xC || STM32F303xC || STM32F358xx || STM32F373xC || STM32F378xx */
mbed_official 237:f3da66175598 172
mbed_official 237:f3da66175598 173 #if defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx) || \
mbed_official 237:f3da66175598 174 defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx)
mbed_official 237:f3da66175598 175 #define OB_WRP_ALLPAGES ((uint32_t)0x0000FFFF) /*!< Write protection of all pages */
mbed_official 237:f3da66175598 176 #endif /* STM32F301x8 || STM32F302x8 || STM32F318xx || */
mbed_official 237:f3da66175598 177 /* STM32F303x8 || STM32F334x8 || STM32F328xx */
mbed_official 237:f3da66175598 178
mbed_official 237:f3da66175598 179 #define IS_OB_WRP(PAGE) (((PAGE) != 0x0000000))
mbed_official 237:f3da66175598 180 /**
mbed_official 237:f3da66175598 181 * @}
mbed_official 237:f3da66175598 182 */
mbed_official 237:f3da66175598 183
mbed_official 237:f3da66175598 184 #if defined(STM32F373xC) || defined(STM32F378xx)
mbed_official 237:f3da66175598 185 /** @defgroup FLASHEx_OB_SDADC12_VDD_MONITOR
mbed_official 237:f3da66175598 186 * @{
mbed_official 237:f3da66175598 187 */
mbed_official 237:f3da66175598 188 #define OB_SDACD_VDD_MONITOR_RESET ((uint8_t)0x00) /*!< SDADC VDD Monitor reset */
mbed_official 237:f3da66175598 189 #define OB_SDACD_VDD_MONITOR_SET ((uint8_t)0x80) /*!< SDADC VDD Monitor set */
mbed_official 237:f3da66175598 190
mbed_official 237:f3da66175598 191 #define IS_OB_SDACD_VDD_MONITOR(VDD_MONITOR) (((VDD_MONITOR) == OB_SDACD_VDD_MONITOR_SET) || \
mbed_official 237:f3da66175598 192 ((VDD_MONITOR) == OB_SDACD_VDD_MONITOR_RESET))
mbed_official 237:f3da66175598 193 /**
mbed_official 237:f3da66175598 194 * @}
mbed_official 237:f3da66175598 195 */
mbed_official 237:f3da66175598 196 #endif /* STM32F373xC || STM32F378xx */
mbed_official 237:f3da66175598 197
mbed_official 237:f3da66175598 198
mbed_official 237:f3da66175598 199 /* Exported macro ------------------------------------------------------------*/
mbed_official 237:f3da66175598 200
mbed_official 237:f3da66175598 201 /* Exported functions --------------------------------------------------------*/
mbed_official 237:f3da66175598 202
mbed_official 237:f3da66175598 203 /* IO operation functions *****************************************************/
mbed_official 237:f3da66175598 204 HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *PageError);
mbed_official 237:f3da66175598 205 HAL_StatusTypeDef HAL_FLASHEx_Erase_IT(FLASH_EraseInitTypeDef *pEraseInit);
mbed_official 237:f3da66175598 206
mbed_official 237:f3da66175598 207 /* Peripheral Control functions ***********************************************/
mbed_official 237:f3da66175598 208 HAL_StatusTypeDef HAL_FLASHEx_OBErase(void);
mbed_official 237:f3da66175598 209 HAL_StatusTypeDef HAL_FLASHEx_OBProgram(FLASH_OBProgramInitTypeDef *pOBInit);
mbed_official 237:f3da66175598 210 void HAL_FLASHEx_OBGetConfig(FLASH_OBProgramInitTypeDef *pOBInit);
mbed_official 237:f3da66175598 211
mbed_official 237:f3da66175598 212 /**
mbed_official 237:f3da66175598 213 * @}
mbed_official 237:f3da66175598 214 */
mbed_official 237:f3da66175598 215
mbed_official 237:f3da66175598 216 /**
mbed_official 237:f3da66175598 217 * @}
mbed_official 237:f3da66175598 218 */
mbed_official 237:f3da66175598 219 #ifdef __cplusplus
mbed_official 237:f3da66175598 220 }
mbed_official 237:f3da66175598 221 #endif
mbed_official 237:f3da66175598 222
mbed_official 237:f3da66175598 223 #endif /* __STM32F3xx_HAL_FLASH_EX_H */
mbed_official 237:f3da66175598 224
mbed_official 237:f3da66175598 225 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/