Color Oled(SSD1331) connect to STMicroelectronics Nucleo-F466

Dependencies:   ssd1331

Revision:
0:8fdf9a60065b
diff -r 000000000000 -r 8fdf9a60065b mbed-os/targets/TARGET_NUVOTON/TARGET_M2351/device/system_M2351.c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-os/targets/TARGET_NUVOTON/TARGET_M2351/device/system_M2351.c	Wed Oct 10 00:33:53 2018 +0000
@@ -0,0 +1,117 @@
+/**************************************************************************//**
+ * @file     system_M2351.c
+ * @version  V2.00
+ * $Revision: 6 $
+ * $Date: 16/12/02 2:01p $
+ * @brief    System Setting Source File
+ *
+ * @note
+ * Copyright (C) 2016 Nuvoton Technology Corp. All rights reserved.
+ *
+ ******************************************************************************/
+#include <arm_cmse.h>
+#include <stdio.h>
+#include <stdint.h>
+#include "M2351.h"
+
+#if defined (__ARM_FEATURE_CMSE) &&  (__ARM_FEATURE_CMSE == 3U)
+#include "partition_M2351.h"
+#endif
+
+
+#if defined(__ICCARM__)
+extern void *__vector_table;                   /* see startup file */
+#else
+extern void *__vector_handlers;                   /* see startup file */
+#endif
+
+
+/*----------------------------------------------------------------------------
+  Clock Variable definitions
+ *----------------------------------------------------------------------------*/
+uint32_t SystemCoreClock  = __HSI;              /*!< System Clock Frequency (Core Clock) */
+uint32_t CyclesPerUs      = (__HSI / 1000000);  /*!< Cycles per micro second             */
+uint32_t PllClock         = __HSI;              /*!< PLL Output Clock Frequency          */
+const uint32_t gau32ClkSrcTbl[] = {__HXT, __LXT, NULL, __LIRC, NULL, NULL, NULL, __HIRC};
+
+
+/**
+ * @brief    Update the Variable SystemCoreClock
+ *
+ * @param    None
+ *
+ * @return   None
+ *
+ * @details  This function is used to update the variable SystemCoreClock
+ *           and must be called whenever the core clock is changed.
+ */
+void SystemCoreClockUpdate(void)
+{
+    /* Update PLL Clock */
+    PllClock = CLK_GetPLLClockFreq();
+
+    /* Update System Core Clock */
+    SystemCoreClock = CLK_GetCPUFreq();
+
+    /* Update Cycles per micro second */    
+    CyclesPerUs = (SystemCoreClock + 500000) / 1000000; 
+}
+
+
+
+/**
+ * @brief    System Initialization
+ *
+ * @param    None
+ *
+ * @return   None
+ *
+ * @details  The necessary initialization of system. Global variables are forbidden here.
+ */
+void SystemInit(void)
+{
+
+#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U)
+#if defined(__ICCARM__)
+    SCB->VTOR = (uint32_t) &__vector_table;
+#else
+    SCB->VTOR = (uint32_t) &__vector_handlers;
+#endif
+#endif
+
+#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
+    TZ_SAU_Setup();
+    SCU_Setup();
+    FMC_NSBA_Setup();
+#endif
+    
+#ifdef INIT_SYSCLK_AT_BOOTING
+
+#endif
+
+}
+
+
+#if USE_ASSERT
+
+/**
+ * @brief      Assert Error Message
+ *
+ * @param[in]  file  the source file name
+ * @param[in]  line  line number
+ *
+ * @return     None
+ *
+ * @details    The function prints the source file name and line number where
+ *             the ASSERT_PARAM() error occurs, and then stops in an infinite loop.
+ */
+void AssertError(uint8_t * file, uint32_t line)
+{
+
+    printf("[%s] line %d : wrong parameters.\r\n", file, line);
+
+    /* Infinite loop */
+    while(1) ;
+}
+#endif
+