/*************************************************************************//** * @file system_RP2040.c * @brief CMSIS-Core(M) Device Peripheral Access Layer Header File for * Device RP2040 * @version V1.1.0 * @date 21. Nov 2023 *****************************************************************************/ /* * Copyright (c) 2009-2021 Arm Limited. All rights reserved. * Copyright (c) 2020 Raspberry Pi (Trading) Ltd. * * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the License); you may * not use this file except in compliance with the License. * You may obtain a copy of the License at * * www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an AS IS BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * SPDX-License-Identifier: BSD-3-Clause */ #include #include "rp2040.h" #define XTAL (12000000UL) /* Oscillator frequency */ #define SYSTEM_CLOCK (XTAL / 2U) /*--------------------------------------------------------------------------- System Core Clock Variable *---------------------------------------------------------------------------*/ uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Clock Frequency (Core Clock)*/ /*--------------------------------------------------------------------------- System Core Clock function *---------------------------------------------------------------------------*/ __WEAK void SystemCoreClockUpdate (void) { SystemCoreClock = SYSTEM_CLOCK; } /*--------------------------------------------------------------------------- System initialization function *---------------------------------------------------------------------------*/ extern const VECTOR_TABLE_Type __VECTOR_TABLE[48]; void SystemInit (void) { #if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) SCB->VTOR = (uint32_t) &(__VECTOR_TABLE); #endif SystemCoreClock = SYSTEM_CLOCK; }