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:
Mon Sep 28 14:00:11 2015 +0100
Revision:
632:7687fb9c4f91
Parent:
385:be64abf45658
Child:
634:ac7d6880524d
Synchronized with git revision f7ce4ed029cc611121464252ff28d5e8beb895b0

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

NUCLEO_F303K8 - add support of the STM32F303K8

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 330:c80ac197fa6a 1 /**
mbed_official 330:c80ac197fa6a 2 ******************************************************************************
mbed_official 330:c80ac197fa6a 3 * @file stm32f3xx_hal_cortex.h
mbed_official 330:c80ac197fa6a 4 * @author MCD Application Team
mbed_official 632:7687fb9c4f91 5 * @version V1.1.1
mbed_official 632:7687fb9c4f91 6 * @date 19-June-2015
mbed_official 330:c80ac197fa6a 7 * @brief Header file of CORTEX HAL module.
mbed_official 330:c80ac197fa6a 8 ******************************************************************************
mbed_official 330:c80ac197fa6a 9 * @attention
mbed_official 330:c80ac197fa6a 10 *
mbed_official 632:7687fb9c4f91 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
mbed_official 330:c80ac197fa6a 12 *
mbed_official 330:c80ac197fa6a 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 330:c80ac197fa6a 14 * are permitted provided that the following conditions are met:
mbed_official 330:c80ac197fa6a 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 330:c80ac197fa6a 16 * this list of conditions and the following disclaimer.
mbed_official 330:c80ac197fa6a 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 330:c80ac197fa6a 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 330:c80ac197fa6a 19 * and/or other materials provided with the distribution.
mbed_official 330:c80ac197fa6a 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 330:c80ac197fa6a 21 * may be used to endorse or promote products derived from this software
mbed_official 330:c80ac197fa6a 22 * without specific prior written permission.
mbed_official 330:c80ac197fa6a 23 *
mbed_official 330:c80ac197fa6a 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 330:c80ac197fa6a 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 330:c80ac197fa6a 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 330:c80ac197fa6a 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 330:c80ac197fa6a 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 330:c80ac197fa6a 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 330:c80ac197fa6a 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 330:c80ac197fa6a 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 330:c80ac197fa6a 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 330:c80ac197fa6a 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 330:c80ac197fa6a 34 *
mbed_official 330:c80ac197fa6a 35 ******************************************************************************
mbed_official 330:c80ac197fa6a 36 */
mbed_official 330:c80ac197fa6a 37
mbed_official 330:c80ac197fa6a 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 330:c80ac197fa6a 39 #ifndef __STM32F3xx_HAL_CORTEX_H
mbed_official 330:c80ac197fa6a 40 #define __STM32F3xx_HAL_CORTEX_H
mbed_official 330:c80ac197fa6a 41
mbed_official 330:c80ac197fa6a 42 #ifdef __cplusplus
mbed_official 330:c80ac197fa6a 43 extern "C" {
mbed_official 330:c80ac197fa6a 44 #endif
mbed_official 330:c80ac197fa6a 45
mbed_official 330:c80ac197fa6a 46 /* Includes ------------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 47 #include "stm32f3xx_hal_def.h"
mbed_official 330:c80ac197fa6a 48
mbed_official 330:c80ac197fa6a 49 /** @addtogroup STM32F3xx_HAL_Driver
mbed_official 330:c80ac197fa6a 50 * @{
mbed_official 330:c80ac197fa6a 51 */
mbed_official 330:c80ac197fa6a 52
mbed_official 330:c80ac197fa6a 53 /** @addtogroup CORTEX
mbed_official 330:c80ac197fa6a 54 * @{
mbed_official 330:c80ac197fa6a 55 */
mbed_official 330:c80ac197fa6a 56 /* Exported types ------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 57 /* Exported constants --------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 58
mbed_official 330:c80ac197fa6a 59 /** @defgroup CORTEX_Exported_Constants CORTEX Exported Constants
mbed_official 330:c80ac197fa6a 60 * @{
mbed_official 330:c80ac197fa6a 61 */
mbed_official 330:c80ac197fa6a 62
mbed_official 330:c80ac197fa6a 63 /** @defgroup CORTEX_Preemption_Priority_Group CORTEX Preemption Priority Group
mbed_official 330:c80ac197fa6a 64 * @{
mbed_official 330:c80ac197fa6a 65 */
mbed_official 330:c80ac197fa6a 66
mbed_official 330:c80ac197fa6a 67 #define NVIC_PRIORITYGROUP_0 ((uint32_t)0x00000007) /*!< 0 bits for pre-emption priority
mbed_official 330:c80ac197fa6a 68 4 bits for subpriority */
mbed_official 330:c80ac197fa6a 69 #define NVIC_PRIORITYGROUP_1 ((uint32_t)0x00000006) /*!< 1 bits for pre-emption priority
mbed_official 330:c80ac197fa6a 70 3 bits for subpriority */
mbed_official 330:c80ac197fa6a 71 #define NVIC_PRIORITYGROUP_2 ((uint32_t)0x00000005) /*!< 2 bits for pre-emption priority
mbed_official 330:c80ac197fa6a 72 2 bits for subpriority */
mbed_official 330:c80ac197fa6a 73 #define NVIC_PRIORITYGROUP_3 ((uint32_t)0x00000004) /*!< 3 bits for pre-emption priority
mbed_official 330:c80ac197fa6a 74 1 bits for subpriority */
mbed_official 330:c80ac197fa6a 75 #define NVIC_PRIORITYGROUP_4 ((uint32_t)0x00000003) /*!< 4 bits for pre-emption priority
mbed_official 330:c80ac197fa6a 76 0 bits for subpriority */
mbed_official 330:c80ac197fa6a 77
mbed_official 330:c80ac197fa6a 78 #define IS_NVIC_PRIORITY_GROUP(GROUP) (((GROUP) == NVIC_PRIORITYGROUP_0) || \
mbed_official 330:c80ac197fa6a 79 ((GROUP) == NVIC_PRIORITYGROUP_1) || \
mbed_official 330:c80ac197fa6a 80 ((GROUP) == NVIC_PRIORITYGROUP_2) || \
mbed_official 330:c80ac197fa6a 81 ((GROUP) == NVIC_PRIORITYGROUP_3) || \
mbed_official 330:c80ac197fa6a 82 ((GROUP) == NVIC_PRIORITYGROUP_4))
mbed_official 330:c80ac197fa6a 83
mbed_official 330:c80ac197fa6a 84 #define IS_NVIC_PREEMPTION_PRIORITY(PRIORITY) ((PRIORITY) < 0x10)
mbed_official 330:c80ac197fa6a 85
mbed_official 330:c80ac197fa6a 86 #define IS_NVIC_SUB_PRIORITY(PRIORITY) ((PRIORITY) < 0x10)
mbed_official 330:c80ac197fa6a 87
mbed_official 330:c80ac197fa6a 88 /**
mbed_official 330:c80ac197fa6a 89 * @}
mbed_official 330:c80ac197fa6a 90 */
mbed_official 330:c80ac197fa6a 91
mbed_official 330:c80ac197fa6a 92 /** @defgroup CORTEX_SysTick_clock_source CORTEX _SysTick clock source
mbed_official 330:c80ac197fa6a 93 * @{
mbed_official 330:c80ac197fa6a 94 */
mbed_official 330:c80ac197fa6a 95 #define SYSTICK_CLKSOURCE_HCLK_DIV8 ((uint32_t)0x00000000)
mbed_official 330:c80ac197fa6a 96 #define SYSTICK_CLKSOURCE_HCLK ((uint32_t)0x00000004)
mbed_official 330:c80ac197fa6a 97 #define IS_SYSTICK_CLK_SOURCE(SOURCE) (((SOURCE) == SYSTICK_CLKSOURCE_HCLK) || \
mbed_official 330:c80ac197fa6a 98 ((SOURCE) == SYSTICK_CLKSOURCE_HCLK_DIV8))
mbed_official 330:c80ac197fa6a 99 /**
mbed_official 330:c80ac197fa6a 100 * @}
mbed_official 330:c80ac197fa6a 101 */
mbed_official 330:c80ac197fa6a 102
mbed_official 330:c80ac197fa6a 103 /**
mbed_official 330:c80ac197fa6a 104 * @}
mbed_official 330:c80ac197fa6a 105 */
mbed_official 330:c80ac197fa6a 106
mbed_official 330:c80ac197fa6a 107
mbed_official 330:c80ac197fa6a 108 /* Exported Macros -----------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 109 /** @defgroup CORTEX_Exported_Macros CORTEX Exported Macros
mbed_official 330:c80ac197fa6a 110 * @{
mbed_official 330:c80ac197fa6a 111 */
mbed_official 330:c80ac197fa6a 112
mbed_official 330:c80ac197fa6a 113 /** @brief Configures the SysTick clock source.
mbed_official 330:c80ac197fa6a 114 * @param __CLKSRC__: specifies the SysTick clock source.
mbed_official 330:c80ac197fa6a 115 * This parameter can be one of the following values:
mbed_official 330:c80ac197fa6a 116 * @arg SYSTICK_CLKSOURCE_HCLK_DIV8: AHB clock divided by 8 selected as SysTick clock source.
mbed_official 330:c80ac197fa6a 117 * @arg SYSTICK_CLKSOURCE_HCLK: AHB clock selected as SysTick clock source.
mbed_official 330:c80ac197fa6a 118 * @retval None
mbed_official 330:c80ac197fa6a 119 */
mbed_official 330:c80ac197fa6a 120 #define __HAL_CORTEX_SYSTICKCLK_CONFIG(__CLKSRC__) \
mbed_official 330:c80ac197fa6a 121 do { \
mbed_official 330:c80ac197fa6a 122 if ((__CLKSRC__) == SYSTICK_CLKSOURCE_HCLK) \
mbed_official 330:c80ac197fa6a 123 { \
mbed_official 330:c80ac197fa6a 124 SysTick->CTRL |= SYSTICK_CLKSOURCE_HCLK; \
mbed_official 330:c80ac197fa6a 125 } \
mbed_official 330:c80ac197fa6a 126 else \
mbed_official 330:c80ac197fa6a 127 SysTick->CTRL &= ~SYSTICK_CLKSOURCE_HCLK; \
mbed_official 330:c80ac197fa6a 128 } while(0)
mbed_official 330:c80ac197fa6a 129 /**
mbed_official 330:c80ac197fa6a 130 * @}
mbed_official 330:c80ac197fa6a 131 */
mbed_official 330:c80ac197fa6a 132
mbed_official 330:c80ac197fa6a 133 /* Exported functions --------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 134 /** @addtogroup CORTEX_Exported_Functions CORTEX Exported Functions
mbed_official 330:c80ac197fa6a 135 * @{
mbed_official 330:c80ac197fa6a 136 */
mbed_official 330:c80ac197fa6a 137
mbed_official 330:c80ac197fa6a 138 /** @addtogroup CORTEX_Exported_Functions_Group1 Initialization and de-initialization functions
mbed_official 330:c80ac197fa6a 139 * @brief Initialization and Configuration functions
mbed_official 330:c80ac197fa6a 140 * @{
mbed_official 330:c80ac197fa6a 141 */
mbed_official 330:c80ac197fa6a 142 /* Initialization and de-initialization functions *****************************/
mbed_official 330:c80ac197fa6a 143 void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup);
mbed_official 330:c80ac197fa6a 144 void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority);
mbed_official 330:c80ac197fa6a 145 void HAL_NVIC_EnableIRQ(IRQn_Type IRQn);
mbed_official 330:c80ac197fa6a 146 void HAL_NVIC_DisableIRQ(IRQn_Type IRQn);
mbed_official 330:c80ac197fa6a 147 void HAL_NVIC_SystemReset(void);
mbed_official 330:c80ac197fa6a 148 uint32_t HAL_SYSTICK_Config(uint32_t TicksNumb);
mbed_official 330:c80ac197fa6a 149 /**
mbed_official 330:c80ac197fa6a 150 * @}
mbed_official 330:c80ac197fa6a 151 */
mbed_official 330:c80ac197fa6a 152
mbed_official 330:c80ac197fa6a 153 /** @addtogroup CORTEX_Exported_Functions_Group2 Peripheral Control functions
mbed_official 330:c80ac197fa6a 154 * @brief Cortex control functions
mbed_official 330:c80ac197fa6a 155 * @{
mbed_official 330:c80ac197fa6a 156 */
mbed_official 330:c80ac197fa6a 157 /* Peripheral Control functions ***********************************************/
mbed_official 330:c80ac197fa6a 158 uint32_t HAL_NVIC_GetPriorityGrouping(void);
mbed_official 330:c80ac197fa6a 159 void HAL_NVIC_GetPriority(IRQn_Type IRQn, uint32_t PriorityGroup, uint32_t* pPreemptPriority, uint32_t* pSubPriority);
mbed_official 330:c80ac197fa6a 160 uint32_t HAL_NVIC_GetPendingIRQ(IRQn_Type IRQn);
mbed_official 330:c80ac197fa6a 161 void HAL_NVIC_SetPendingIRQ(IRQn_Type IRQn);
mbed_official 330:c80ac197fa6a 162 void HAL_NVIC_ClearPendingIRQ(IRQn_Type IRQn);
mbed_official 330:c80ac197fa6a 163 uint32_t HAL_NVIC_GetActive(IRQn_Type IRQn);
mbed_official 330:c80ac197fa6a 164 void HAL_SYSTICK_CLKSourceConfig(uint32_t CLKSource);
mbed_official 330:c80ac197fa6a 165 void HAL_SYSTICK_IRQHandler(void);
mbed_official 330:c80ac197fa6a 166 void HAL_SYSTICK_Callback(void);
mbed_official 330:c80ac197fa6a 167 /**
mbed_official 330:c80ac197fa6a 168 * @}
mbed_official 330:c80ac197fa6a 169 */
mbed_official 330:c80ac197fa6a 170
mbed_official 330:c80ac197fa6a 171 /**
mbed_official 330:c80ac197fa6a 172 * @}
mbed_official 330:c80ac197fa6a 173 */
mbed_official 330:c80ac197fa6a 174
mbed_official 330:c80ac197fa6a 175 /**
mbed_official 330:c80ac197fa6a 176 * @}
mbed_official 330:c80ac197fa6a 177 */
mbed_official 330:c80ac197fa6a 178
mbed_official 330:c80ac197fa6a 179 /**
mbed_official 330:c80ac197fa6a 180 * @}
mbed_official 330:c80ac197fa6a 181 */
mbed_official 330:c80ac197fa6a 182
mbed_official 330:c80ac197fa6a 183 #ifdef __cplusplus
mbed_official 330:c80ac197fa6a 184 }
mbed_official 330:c80ac197fa6a 185 #endif
mbed_official 330:c80ac197fa6a 186
mbed_official 330:c80ac197fa6a 187 #endif /* __STM32F3xx_HAL_CORTEX_H */
mbed_official 330:c80ac197fa6a 188
mbed_official 330:c80ac197fa6a 189
mbed_official 330:c80ac197fa6a 190 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/