The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.
Dependents: hello SerialTestv11 SerialTestv12 Sierpinski ... more
mbed 2
This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.
TARGET_RDA5981X/TOOLCHAIN_GCC_ARM/RDA5981_nvic_virtual.h@172:65be27845400, 2019-02-20 (annotated)
- Committer:
- AnnaBridge
- Date:
- Wed Feb 20 20:53:29 2019 +0000
- Revision:
- 172:65be27845400
mbed library release version 165
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
AnnaBridge | 172:65be27845400 | 1 | /**************************************************************************//** |
AnnaBridge | 172:65be27845400 | 2 | * @file RDA5981_nvic_virtual.h |
AnnaBridge | 172:65be27845400 | 3 | * @brief |
AnnaBridge | 172:65be27845400 | 4 | * @version |
AnnaBridge | 172:65be27845400 | 5 | * @date |
AnnaBridge | 172:65be27845400 | 6 | ******************************************************************************/ |
AnnaBridge | 172:65be27845400 | 7 | /* mbed Microcontroller Library |
AnnaBridge | 172:65be27845400 | 8 | * Copyright (c) 2006-2018 ARM Limited |
AnnaBridge | 172:65be27845400 | 9 | * |
AnnaBridge | 172:65be27845400 | 10 | * Licensed under the Apache License, Version 2.0 (the "License"); |
AnnaBridge | 172:65be27845400 | 11 | * you may not use this file except in compliance with the License. |
AnnaBridge | 172:65be27845400 | 12 | * You may obtain a copy of the License at |
AnnaBridge | 172:65be27845400 | 13 | * |
AnnaBridge | 172:65be27845400 | 14 | * http://www.apache.org/licenses/LICENSE-2.0 |
AnnaBridge | 172:65be27845400 | 15 | * |
AnnaBridge | 172:65be27845400 | 16 | * Unless required by applicable law or agreed to in writing, software |
AnnaBridge | 172:65be27845400 | 17 | * distributed under the License is distributed on an "AS IS" BASIS, |
AnnaBridge | 172:65be27845400 | 18 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
AnnaBridge | 172:65be27845400 | 19 | * See the License for the specific language governing permissions and |
AnnaBridge | 172:65be27845400 | 20 | * limitations under the License. |
AnnaBridge | 172:65be27845400 | 21 | */ |
AnnaBridge | 172:65be27845400 | 22 | |
AnnaBridge | 172:65be27845400 | 23 | #ifndef __RDA5981_NVIC |
AnnaBridge | 172:65be27845400 | 24 | #define __RDA5981_NVIC |
AnnaBridge | 172:65be27845400 | 25 | |
AnnaBridge | 172:65be27845400 | 26 | //#include "cmsis.h" |
AnnaBridge | 172:65be27845400 | 27 | //#include <stdint.h> |
AnnaBridge | 172:65be27845400 | 28 | |
AnnaBridge | 172:65be27845400 | 29 | extern void rda_ccfg_ckrst(void); |
AnnaBridge | 172:65be27845400 | 30 | extern void rda_wdt_softreset(void); |
AnnaBridge | 172:65be27845400 | 31 | #ifdef __cplusplus |
AnnaBridge | 172:65be27845400 | 32 | extern "C" { |
AnnaBridge | 172:65be27845400 | 33 | #endif |
AnnaBridge | 172:65be27845400 | 34 | |
AnnaBridge | 172:65be27845400 | 35 | /** |
AnnaBridge | 172:65be27845400 | 36 | \brief System Reset |
AnnaBridge | 172:65be27845400 | 37 | \details Initiates a system reset request to reset the MCU. |
AnnaBridge | 172:65be27845400 | 38 | */ |
AnnaBridge | 172:65be27845400 | 39 | __NO_RETURN __STATIC_INLINE void __RDA5981_SystemReset(void) |
AnnaBridge | 172:65be27845400 | 40 | { |
AnnaBridge | 172:65be27845400 | 41 | |
AnnaBridge | 172:65be27845400 | 42 | rda_ccfg_ckrst () ; |
AnnaBridge | 172:65be27845400 | 43 | __DSB(); /* Ensure all outstanding memory accesses included |
AnnaBridge | 172:65be27845400 | 44 | buffered write are completed before reset */ |
AnnaBridge | 172:65be27845400 | 45 | SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | |
AnnaBridge | 172:65be27845400 | 46 | (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | |
AnnaBridge | 172:65be27845400 | 47 | SCB_AIRCR_VECTRESET_Msk ); /* Keep priority group unchanged */ |
AnnaBridge | 172:65be27845400 | 48 | __DSB(); /* Ensure completion of memory access */ |
AnnaBridge | 172:65be27845400 | 49 | |
AnnaBridge | 172:65be27845400 | 50 | for(;;) /* wait until reset */ |
AnnaBridge | 172:65be27845400 | 51 | { |
AnnaBridge | 172:65be27845400 | 52 | __NOP(); |
AnnaBridge | 172:65be27845400 | 53 | } |
AnnaBridge | 172:65be27845400 | 54 | |
AnnaBridge | 172:65be27845400 | 55 | } |
AnnaBridge | 172:65be27845400 | 56 | |
AnnaBridge | 172:65be27845400 | 57 | |
AnnaBridge | 172:65be27845400 | 58 | #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping |
AnnaBridge | 172:65be27845400 | 59 | #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping |
AnnaBridge | 172:65be27845400 | 60 | #define NVIC_EnableIRQ __NVIC_EnableIRQ |
AnnaBridge | 172:65be27845400 | 61 | #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ |
AnnaBridge | 172:65be27845400 | 62 | #define NVIC_DisableIRQ __NVIC_DisableIRQ |
AnnaBridge | 172:65be27845400 | 63 | #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ |
AnnaBridge | 172:65be27845400 | 64 | #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ |
AnnaBridge | 172:65be27845400 | 65 | #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ |
AnnaBridge | 172:65be27845400 | 66 | #define NVIC_GetActive __NVIC_GetActive |
AnnaBridge | 172:65be27845400 | 67 | #define NVIC_SetPriority __NVIC_SetPriority |
AnnaBridge | 172:65be27845400 | 68 | #define NVIC_GetPriority __NVIC_GetPriority |
AnnaBridge | 172:65be27845400 | 69 | #define NVIC_SystemReset __RDA5981_SystemReset |
AnnaBridge | 172:65be27845400 | 70 | |
AnnaBridge | 172:65be27845400 | 71 | |
AnnaBridge | 172:65be27845400 | 72 | #ifdef __cplusplus |
AnnaBridge | 172:65be27845400 | 73 | } |
AnnaBridge | 172:65be27845400 | 74 | #endif |
AnnaBridge | 172:65be27845400 | 75 | |
AnnaBridge | 172:65be27845400 | 76 | #endif |
AnnaBridge | 172:65be27845400 | 77 | |
AnnaBridge | 172:65be27845400 | 78 |