mbed library sources

Dependents:   frdm_kl05z_gpio_test

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Mon Jan 27 14:30:07 2014 +0000
Revision:
76:aeb1df146756
Child:
106:ced8cbb51063
Synchronized with git revision a31ec9c5f7bcb5c8a1b2eced103f6a1dfa921abd

Full URL: https://github.com/mbedmicro/mbed/commit/a31ec9c5f7bcb5c8a1b2eced103f6a1dfa921abd/

Add NUCLEO_L152RE

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 76:aeb1df146756 1 /**
mbed_official 76:aeb1df146756 2 ******************************************************************************
mbed_official 76:aeb1df146756 3 * @file stm32f0xx_dbgmcu.c
mbed_official 76:aeb1df146756 4 * @author MCD Application Team
mbed_official 76:aeb1df146756 5 * @version V1.3.0
mbed_official 76:aeb1df146756 6 * @date 16-January-2014
mbed_official 76:aeb1df146756 7 * @brief This file provides firmware functions to manage the following
mbed_official 76:aeb1df146756 8 * functionalities of the Debug MCU (DBGMCU) peripheral:
mbed_official 76:aeb1df146756 9 * + Device and Revision ID management
mbed_official 76:aeb1df146756 10 * + Peripherals Configuration
mbed_official 76:aeb1df146756 11 * @verbatim
mbed_official 76:aeb1df146756 12 * @endverbatim
mbed_official 76:aeb1df146756 13 *
mbed_official 76:aeb1df146756 14 ******************************************************************************
mbed_official 76:aeb1df146756 15 * @attention
mbed_official 76:aeb1df146756 16 *
mbed_official 76:aeb1df146756 17 * <h2><center>&copy; COPYRIGHT 2014 STMicroelectronics</center></h2>
mbed_official 76:aeb1df146756 18 *
mbed_official 76:aeb1df146756 19 * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
mbed_official 76:aeb1df146756 20 * You may not use this file except in compliance with the License.
mbed_official 76:aeb1df146756 21 * You may obtain a copy of the License at:
mbed_official 76:aeb1df146756 22 *
mbed_official 76:aeb1df146756 23 * http://www.st.com/software_license_agreement_liberty_v2
mbed_official 76:aeb1df146756 24 *
mbed_official 76:aeb1df146756 25 * Unless required by applicable law or agreed to in writing, software
mbed_official 76:aeb1df146756 26 * distributed under the License is distributed on an "AS IS" BASIS,
mbed_official 76:aeb1df146756 27 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mbed_official 76:aeb1df146756 28 * See the License for the specific language governing permissions and
mbed_official 76:aeb1df146756 29 * limitations under the License.
mbed_official 76:aeb1df146756 30 *
mbed_official 76:aeb1df146756 31 ******************************************************************************
mbed_official 76:aeb1df146756 32 */
mbed_official 76:aeb1df146756 33
mbed_official 76:aeb1df146756 34 /* Includes ------------------------------------------------------------------*/
mbed_official 76:aeb1df146756 35 #include "stm32f0xx_dbgmcu.h"
mbed_official 76:aeb1df146756 36
mbed_official 76:aeb1df146756 37 /** @addtogroup STM32F0xx_StdPeriph_Driver
mbed_official 76:aeb1df146756 38 * @{
mbed_official 76:aeb1df146756 39 */
mbed_official 76:aeb1df146756 40
mbed_official 76:aeb1df146756 41 /** @defgroup DBGMCU
mbed_official 76:aeb1df146756 42 * @brief DBGMCU driver modules
mbed_official 76:aeb1df146756 43 * @{
mbed_official 76:aeb1df146756 44 */
mbed_official 76:aeb1df146756 45
mbed_official 76:aeb1df146756 46 /* Private typedef -----------------------------------------------------------*/
mbed_official 76:aeb1df146756 47 /* Private define ------------------------------------------------------------*/
mbed_official 76:aeb1df146756 48 #define IDCODE_DEVID_MASK ((uint32_t)0x00000FFF)
mbed_official 76:aeb1df146756 49
mbed_official 76:aeb1df146756 50 /* Private macro -------------------------------------------------------------*/
mbed_official 76:aeb1df146756 51 /* Private variables ---------------------------------------------------------*/
mbed_official 76:aeb1df146756 52 /* Private function prototypes -----------------------------------------------*/
mbed_official 76:aeb1df146756 53 /* Private functions ---------------------------------------------------------*/
mbed_official 76:aeb1df146756 54
mbed_official 76:aeb1df146756 55 /** @defgroup DBGMCU_Private_Functions
mbed_official 76:aeb1df146756 56 * @{
mbed_official 76:aeb1df146756 57 */
mbed_official 76:aeb1df146756 58
mbed_official 76:aeb1df146756 59
mbed_official 76:aeb1df146756 60 /** @defgroup DBGMCU_Group1 Device and Revision ID management functions
mbed_official 76:aeb1df146756 61 * @brief Device and Revision ID management functions
mbed_official 76:aeb1df146756 62 *
mbed_official 76:aeb1df146756 63 @verbatim
mbed_official 76:aeb1df146756 64 ==============================================================================
mbed_official 76:aeb1df146756 65 ##### Device and Revision ID management functions #####
mbed_official 76:aeb1df146756 66 ==============================================================================
mbed_official 76:aeb1df146756 67
mbed_official 76:aeb1df146756 68 @endverbatim
mbed_official 76:aeb1df146756 69 * @{
mbed_official 76:aeb1df146756 70 */
mbed_official 76:aeb1df146756 71
mbed_official 76:aeb1df146756 72 /**
mbed_official 76:aeb1df146756 73 * @brief Returns the device revision identifier.
mbed_official 76:aeb1df146756 74 * @param None
mbed_official 76:aeb1df146756 75 * @retval Device revision identifier
mbed_official 76:aeb1df146756 76 */
mbed_official 76:aeb1df146756 77 uint32_t DBGMCU_GetREVID(void)
mbed_official 76:aeb1df146756 78 {
mbed_official 76:aeb1df146756 79 return(DBGMCU->IDCODE >> 16);
mbed_official 76:aeb1df146756 80 }
mbed_official 76:aeb1df146756 81
mbed_official 76:aeb1df146756 82 /**
mbed_official 76:aeb1df146756 83 * @brief Returns the device identifier.
mbed_official 76:aeb1df146756 84 * @param None
mbed_official 76:aeb1df146756 85 * @retval Device identifier
mbed_official 76:aeb1df146756 86 */
mbed_official 76:aeb1df146756 87 uint32_t DBGMCU_GetDEVID(void)
mbed_official 76:aeb1df146756 88 {
mbed_official 76:aeb1df146756 89 return(DBGMCU->IDCODE & IDCODE_DEVID_MASK);
mbed_official 76:aeb1df146756 90 }
mbed_official 76:aeb1df146756 91
mbed_official 76:aeb1df146756 92 /**
mbed_official 76:aeb1df146756 93 * @}
mbed_official 76:aeb1df146756 94 */
mbed_official 76:aeb1df146756 95
mbed_official 76:aeb1df146756 96 /** @defgroup DBGMCU_Group2 Peripherals Configuration functions
mbed_official 76:aeb1df146756 97 * @brief Peripherals Configuration
mbed_official 76:aeb1df146756 98 *
mbed_official 76:aeb1df146756 99 @verbatim
mbed_official 76:aeb1df146756 100 ==============================================================================
mbed_official 76:aeb1df146756 101 ##### Peripherals Configuration functions #####
mbed_official 76:aeb1df146756 102 ==============================================================================
mbed_official 76:aeb1df146756 103
mbed_official 76:aeb1df146756 104 @endverbatim
mbed_official 76:aeb1df146756 105 * @{
mbed_official 76:aeb1df146756 106 */
mbed_official 76:aeb1df146756 107
mbed_official 76:aeb1df146756 108 /**
mbed_official 76:aeb1df146756 109 * @brief Configures low power mode behavior when the MCU is in Debug mode.
mbed_official 76:aeb1df146756 110 * @param DBGMCU_Periph: specifies the low power mode.
mbed_official 76:aeb1df146756 111 * This parameter can be any combination of the following values:
mbed_official 76:aeb1df146756 112 * @arg DBGMCU_STOP: Keep debugger connection during STOP mode
mbed_official 76:aeb1df146756 113 * @arg DBGMCU_STANDBY: Keep debugger connection during STANDBY mode
mbed_official 76:aeb1df146756 114 * @param NewState: new state of the specified low power mode in Debug mode.
mbed_official 76:aeb1df146756 115 * This parameter can be: ENABLE or DISABLE.
mbed_official 76:aeb1df146756 116 * @retval None
mbed_official 76:aeb1df146756 117 */
mbed_official 76:aeb1df146756 118 void DBGMCU_Config(uint32_t DBGMCU_Periph, FunctionalState NewState)
mbed_official 76:aeb1df146756 119 {
mbed_official 76:aeb1df146756 120 /* Check the parameters */
mbed_official 76:aeb1df146756 121 assert_param(IS_DBGMCU_PERIPH(DBGMCU_Periph));
mbed_official 76:aeb1df146756 122 assert_param(IS_FUNCTIONAL_STATE(NewState));
mbed_official 76:aeb1df146756 123
mbed_official 76:aeb1df146756 124 if (NewState != DISABLE)
mbed_official 76:aeb1df146756 125 {
mbed_official 76:aeb1df146756 126 DBGMCU->CR |= DBGMCU_Periph;
mbed_official 76:aeb1df146756 127 }
mbed_official 76:aeb1df146756 128 else
mbed_official 76:aeb1df146756 129 {
mbed_official 76:aeb1df146756 130 DBGMCU->CR &= ~DBGMCU_Periph;
mbed_official 76:aeb1df146756 131 }
mbed_official 76:aeb1df146756 132 }
mbed_official 76:aeb1df146756 133
mbed_official 76:aeb1df146756 134
mbed_official 76:aeb1df146756 135 /**
mbed_official 76:aeb1df146756 136 * @brief Configures APB1 peripheral behavior when the MCU is in Debug mode.
mbed_official 76:aeb1df146756 137 * @param DBGMCU_Periph: specifies the APB1 peripheral.
mbed_official 76:aeb1df146756 138 * This parameter can be any combination of the following values:
mbed_official 76:aeb1df146756 139 * @arg DBGMCU_TIM2_STOP: TIM2 counter stopped when Core is halted,
mbed_official 76:aeb1df146756 140 * not applicable for STM32F030 devices
mbed_official 76:aeb1df146756 141 * @arg DBGMCU_TIM3_STOP: TIM3 counter stopped when Core is halted
mbed_official 76:aeb1df146756 142 * @arg DBGMCU_TIM6_STOP: TIM6 counter stopped when Core is halted
mbed_official 76:aeb1df146756 143 * @arg DBGMCU_TIM7_STOP: TIM7 counter stopped when Core is halted,
mbed_official 76:aeb1df146756 144 * applicable only for STM32F072 devices
mbed_official 76:aeb1df146756 145 * @arg DBGMCU_TIM14_STOP: TIM14 counter stopped when Core is halted
mbed_official 76:aeb1df146756 146 * @arg DBGMCU_RTC_STOP: RTC Calendar and Wakeup counter stopped
mbed_official 76:aeb1df146756 147 * when Core is halted.
mbed_official 76:aeb1df146756 148 * @arg DBGMCU_WWDG_STOP: Debug WWDG stopped when Core is halted
mbed_official 76:aeb1df146756 149 * @arg DBGMCU_IWDG_STOP: Debug IWDG stopped when Core is halted
mbed_official 76:aeb1df146756 150 * @arg DBGMCU_I2C1_SMBUS_TIMEOUT: I2C1 SMBUS timeout mode stopped
mbed_official 76:aeb1df146756 151 * when Core is halted
mbed_official 76:aeb1df146756 152 * @arg DBGMCU_CAN1_STOP: Debug CAN1 stopped when Core is halted,
mbed_official 76:aeb1df146756 153 * applicable only for STM32F042 and STM32F072 devices
mbed_official 76:aeb1df146756 154 * @param NewState: new state of the specified APB1 peripheral in Debug mode.
mbed_official 76:aeb1df146756 155 * This parameter can be: ENABLE or DISABLE.
mbed_official 76:aeb1df146756 156 * @retval None
mbed_official 76:aeb1df146756 157 */
mbed_official 76:aeb1df146756 158 void DBGMCU_APB1PeriphConfig(uint32_t DBGMCU_Periph, FunctionalState NewState)
mbed_official 76:aeb1df146756 159 {
mbed_official 76:aeb1df146756 160 /* Check the parameters */
mbed_official 76:aeb1df146756 161 assert_param(IS_DBGMCU_APB1PERIPH(DBGMCU_Periph));
mbed_official 76:aeb1df146756 162 assert_param(IS_FUNCTIONAL_STATE(NewState));
mbed_official 76:aeb1df146756 163
mbed_official 76:aeb1df146756 164 if (NewState != DISABLE)
mbed_official 76:aeb1df146756 165 {
mbed_official 76:aeb1df146756 166 DBGMCU->APB1FZ |= DBGMCU_Periph;
mbed_official 76:aeb1df146756 167 }
mbed_official 76:aeb1df146756 168 else
mbed_official 76:aeb1df146756 169 {
mbed_official 76:aeb1df146756 170 DBGMCU->APB1FZ &= ~DBGMCU_Periph;
mbed_official 76:aeb1df146756 171 }
mbed_official 76:aeb1df146756 172 }
mbed_official 76:aeb1df146756 173
mbed_official 76:aeb1df146756 174 /**
mbed_official 76:aeb1df146756 175 * @brief Configures APB2 peripheral behavior when the MCU is in Debug mode.
mbed_official 76:aeb1df146756 176 * @param DBGMCU_Periph: specifies the APB2 peripheral.
mbed_official 76:aeb1df146756 177 * This parameter can be any combination of the following values:
mbed_official 76:aeb1df146756 178 * @arg DBGMCU_TIM1_STOP: TIM1 counter stopped when Core is halted
mbed_official 76:aeb1df146756 179 * @arg DBGMCU_TIM15_STOP: TIM15 counter stopped when Core is halted
mbed_official 76:aeb1df146756 180 * @arg DBGMCU_TIM16_STOP: TIM16 counter stopped when Core is halted
mbed_official 76:aeb1df146756 181 * @arg DBGMCU_TIM17_STOP: TIM17 counter stopped when Core is halted
mbed_official 76:aeb1df146756 182 * @param NewState: new state of the specified APB2 peripheral in Debug mode.
mbed_official 76:aeb1df146756 183 * This parameter can be: ENABLE or DISABLE.
mbed_official 76:aeb1df146756 184 * @retval None
mbed_official 76:aeb1df146756 185 */
mbed_official 76:aeb1df146756 186 void DBGMCU_APB2PeriphConfig(uint32_t DBGMCU_Periph, FunctionalState NewState)
mbed_official 76:aeb1df146756 187 {
mbed_official 76:aeb1df146756 188 /* Check the parameters */
mbed_official 76:aeb1df146756 189 assert_param(IS_DBGMCU_APB2PERIPH(DBGMCU_Periph));
mbed_official 76:aeb1df146756 190 assert_param(IS_FUNCTIONAL_STATE(NewState));
mbed_official 76:aeb1df146756 191
mbed_official 76:aeb1df146756 192 if (NewState != DISABLE)
mbed_official 76:aeb1df146756 193 {
mbed_official 76:aeb1df146756 194 DBGMCU->APB2FZ |= DBGMCU_Periph;
mbed_official 76:aeb1df146756 195 }
mbed_official 76:aeb1df146756 196 else
mbed_official 76:aeb1df146756 197 {
mbed_official 76:aeb1df146756 198 DBGMCU->APB2FZ &= ~DBGMCU_Periph;
mbed_official 76:aeb1df146756 199 }
mbed_official 76:aeb1df146756 200 }
mbed_official 76:aeb1df146756 201
mbed_official 76:aeb1df146756 202 /**
mbed_official 76:aeb1df146756 203 * @}
mbed_official 76:aeb1df146756 204 */
mbed_official 76:aeb1df146756 205
mbed_official 76:aeb1df146756 206 /**
mbed_official 76:aeb1df146756 207 * @}
mbed_official 76:aeb1df146756 208 */
mbed_official 76:aeb1df146756 209
mbed_official 76:aeb1df146756 210 /**
mbed_official 76:aeb1df146756 211 * @}
mbed_official 76:aeb1df146756 212 */
mbed_official 76:aeb1df146756 213
mbed_official 76:aeb1df146756 214 /**
mbed_official 76:aeb1df146756 215 * @}
mbed_official 76:aeb1df146756 216 */
mbed_official 76:aeb1df146756 217
mbed_official 76:aeb1df146756 218 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/