1 /*
2 
3 Copyright (c) 2009-2023 ARM Limited. All rights reserved.
4 
5     SPDX-License-Identifier: Apache-2.0
6 
7 Licensed under the Apache License, Version 2.0 (the License); you may
8 not use this file except in compliance with the License.
9 You may obtain a copy of the License at
10 
11     www.apache.org/licenses/LICENSE-2.0
12 
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an AS IS BASIS, WITHOUT
15 WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18 
19 NOTICE: This file has been modified by Nordic Semiconductor ASA.
20 
21 */
22 
23 #ifndef SYSTEM_NRF52_H
24 #define SYSTEM_NRF52_H
25 #ifndef __ASSEMBLY__
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 #include <stdint.h>
31 
32 /**
33   \brief Exception / Interrupt Handler Function Prototype
34 */
35 typedef void(*VECTOR_TABLE_Type)(void);
36 
37 /**
38   \brief System Clock Frequency (Core Clock)
39 */
40 extern uint32_t SystemCoreClock;
41 
42 /**
43   \brief Setup the microcontroller system.
44    Initialize the System and update the SystemCoreClock variable.
45  */
46 extern void SystemInit (void);
47 
48 
49 /**
50   \brief  Update SystemCoreClock variable.
51    Updates the SystemCoreClock with current core Clock retrieved from cpu registers.
52  */
53 extern void SystemCoreClockUpdate (void);
54 
55 
56 #ifdef __cplusplus
57 }
58 #endif
59 
60 #endif /* __ASSEMBLY__ */
61 #endif /* SYSTEM_NRF52_H */
62