summaryrefslogtreecommitdiff
path: root/tests/projects/embed/gnu-rm/hello/src/system_ARMCM3.c
diff options
context:
space:
mode:
authorJianpeng Peng <[email protected]>2022-10-19 11:15:47 +0800
committerJianpeng Peng <[email protected]>2022-10-19 11:15:47 +0800
commitf6a1811657d2a2abc5ca6026bb340cb68942db0a (patch)
tree90e26f24189863a289d26ac2679a71a0f84c2501 /tests/projects/embed/gnu-rm/hello/src/system_ARMCM3.c
parentd9595826e8f81ec19673adcce87e44931cf75c0f (diff)
Add rule and test project for gnu-rm.
Diffstat (limited to 'tests/projects/embed/gnu-rm/hello/src/system_ARMCM3.c')
-rw-r--r--tests/projects/embed/gnu-rm/hello/src/system_ARMCM3.c65
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/projects/embed/gnu-rm/hello/src/system_ARMCM3.c b/tests/projects/embed/gnu-rm/hello/src/system_ARMCM3.c
new file mode 100644
index 000000000..3c5eda7dc
--- /dev/null
+++ b/tests/projects/embed/gnu-rm/hello/src/system_ARMCM3.c
@@ -0,0 +1,65 @@
+/**************************************************************************//**
+ * @file system_ARMCM3.c
+ * @brief CMSIS Device System Source File for
+ * ARMCM3 Device
+ * @version V1.0.1
+ * @date 15. November 2019
+ ******************************************************************************/
+/*
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "ARMCM3.h"
+
+/*----------------------------------------------------------------------------
+ Define clocks
+ *----------------------------------------------------------------------------*/
+#define XTAL (50000000UL) /* Oscillator frequency */
+
+#define SYSTEM_CLOCK (XTAL / 2U)
+
+/*----------------------------------------------------------------------------
+ Exception / Interrupt Vector table
+ *----------------------------------------------------------------------------*/
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[240];
+
+/*----------------------------------------------------------------------------
+ System Core Clock Variable
+ *----------------------------------------------------------------------------*/
+uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */
+
+
+/*----------------------------------------------------------------------------
+ System Core Clock update function
+ *----------------------------------------------------------------------------*/
+void SystemCoreClockUpdate (void)
+{
+ SystemCoreClock = SYSTEM_CLOCK;
+}
+
+/*----------------------------------------------------------------------------
+ System initialization function
+ *----------------------------------------------------------------------------*/
+void SystemInit (void)
+{
+
+#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U)
+ SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]);
+#endif
+
+ SystemCoreClock = SYSTEM_CLOCK;
+}