From 97b8c1e2932316f596a0cc957e56ed46aca78729 Mon Sep 17 00:00:00 2001 From: justinkim Date: Mon, 20 Nov 2017 10:05:09 +0900 Subject: [PATCH] edit system_W7500.c / h --- .../Device/WIZnet/W7500/Include/system_W7500x.h | 1 + .../Device/WIZnet/W7500/Source/system_W7500x.c | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/W7500P_FW/Libraries/CMSIS/Device/WIZnet/W7500/Include/system_W7500x.h b/W7500P_FW/Libraries/CMSIS/Device/WIZnet/W7500/Include/system_W7500x.h index fbb20da..9031ce7 100644 --- a/W7500P_FW/Libraries/CMSIS/Device/WIZnet/W7500/Include/system_W7500x.h +++ b/W7500P_FW/Libraries/CMSIS/Device/WIZnet/W7500/Include/system_W7500x.h @@ -39,6 +39,7 @@ extern "C" { #include "W7500x.h" extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ +extern uint32_t SystemFrequency; /*!< System Clock Frequency (Core Clock) */ extern uint32_t GetSystemClock(void); /*!< Get System Clock Frequency */ diff --git a/W7500P_FW/Libraries/CMSIS/Device/WIZnet/W7500/Source/system_W7500x.c b/W7500P_FW/Libraries/CMSIS/Device/WIZnet/W7500/Source/system_W7500x.c index 6548fe9..d7814eb 100644 --- a/W7500P_FW/Libraries/CMSIS/Device/WIZnet/W7500/Source/system_W7500x.c +++ b/W7500P_FW/Libraries/CMSIS/Device/WIZnet/W7500/Source/system_W7500x.c @@ -51,7 +51,22 @@ uint32_t SystemCoreClock = 0; /*!< Processor Clock Frequency */ *----------------------------------------------------------------------------*/ void SystemCoreClockUpdate (void) /* Get Core Clock Frequency */ { - //SystemCoreClock = XTAL; + uint8_t M,N,OD; + +#ifdef SYSCLK_EXTERN_OSC + CRG->PLL_IFSR = CRG_PLL_IFSR_OCLK; +#else + CRG->PLL_IFSR = CRG_PLL_IFSR_RCLK; +#endif + OD = (1 << (CRG->PLL_FCR & 0x01)) * (1 << ((CRG->PLL_FCR & 0x02) >> 1)); + N = (CRG->PLL_FCR >> 8 ) & 0x3F; + M = (CRG->PLL_FCR >> 16) & 0x3F; + +#ifdef SYSCLK_EXTERN_OSC + SystemCoreClock = EXTERN_XTAL * M / N * 1 / OD; +#else + SystemCoreClock = INTERN_XTAL * M / N * 1 / OD; +#endif } uint32_t GetSystemClock()