RTC auf true

Revision:
0:38ceb79fef03
diff -r 000000000000 -r 38ceb79fef03 rtos/TARGET_CORTEX/mbed_boot.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rtos/TARGET_CORTEX/mbed_boot.h	Wed Nov 28 15:10:15 2018 +0000
@@ -0,0 +1,171 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2018-2018 ARM Limited
+ *
+ * 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
+ *
+ *     http://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.
+ */
+#ifndef MBED_BOOT_H
+#define MBED_BOOT_H
+
+#include "mbed_toolchain.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mbed_rtx.h"
+
+/**
+ * \defgroup boot Boot sequence
+ * Boot sequence overview
+ *
+ * 1. Setup target
+ *      - Configure clocks
+ *      - Configure watchdog (if applicable)
+ *      - Turn on RAM (if applicable)
+ *      - Jump to setup toolchain
+ * 2. Setup toolchain
+ *      - Initialize RAM
+ *      - Initialize standard library
+ *      - Call mbed_init
+ *      - jump to start rtos
+ * 3. Start RTOS
+ *      - Create main thread
+ *      - Start scheduler
+ *      - main thread calls start mbed
+ * 4. Start mbed
+ *      - Call mbed_main
+ *      - Call main
+ *
+ * @{
+ */
+
+/* Define stack sizes if they haven't been set already */
+#if !defined(ISR_STACK_SIZE)
+    #define ISR_STACK_SIZE ((uint32_t)1024)
+#endif
+
+/* Heap limits - only used if set */
+extern unsigned char *mbed_heap_start;
+extern uint32_t mbed_heap_size;
+
+/* Stack limits */
+extern unsigned char *mbed_stack_isr_start;
+extern uint32_t mbed_stack_isr_size;
+
+/**
+ * Perform low level init of mbed
+ *
+ * The toolchain calls this function as part of the boot
+ * sequence. This function does the following:
+ * - Sets up NVIC so interrupts can be used
+ * - Calls into the vendor SDK so it can be used
+ * - Initializes the RTOS so it can be used
+ *
+ * Preconditions:
+ * - Target is initialized
+ * - Ram is initialized
+ * - value set for mbed_heap_start
+ * - value set for mbed_heap_size
+ * - value set for mbed_stack_isr_start
+ * - value set for mbed_stack_isr_size
+ *
+ * The following events must not have happened yet:
+ * - global constructors must not be called yet
+ *
+ */
+void mbed_init(void);
+
+/**
+ * Start the main mbed application
+ *
+ * This is the last stage of the boot sequence. This function must be
+ * called only after the RTOS has been fully initialized.
+ * This function does the following:
+ * - Initialize the toolchain
+ * - Run mbed_main
+ * - Run main
+ *
+ * Preconditions:
+ * - The RTOS has been started by a call to mbed_rtos_start
+ *
+ */
+void mbed_start(void);
+
+/**
+ * Perform low level initialization of the RTOS
+ *
+ * Set the RTOS to a known state but don't start the scheduler. After
+ * the RTOS has been initialized it is safe to create RTOS primitives
+ * for file locks or other purposes.
+ *
+ * Preconditions:
+ * - Ram is initialized
+ * - NVIC is setup
+ * - Vendor SDK must be initialized by a call to mbed_sdk_init
+ */
+void mbed_rtos_init(void);
+
+/**
+ * Start the RTOS
+ *
+ * Start the RTOS scheduler and call mbed_start on the
+ * main thread. This function does not return.
+ *
+ * Preconditions:
+ * - RTOS has been initialized by a call to mbed_rtos_init
+ */
+MBED_NORETURN void mbed_rtos_start(void);
+
+/**
+ * Perform toolchain specific initialization
+ *
+ * Initialize locks if this has not been done already
+ * and call global C++ constructors.
+ *
+ * Preconditions:
+ * - The RTOS has been started by a call to mbed_rtos_start
+ */
+void mbed_toolchain_init(void);
+
+/**
+ * SDK hook for running code before ctors or OS
+ *
+ * This is a weak function which can be overridden by a target's
+ * SDK to allow code to run after ram is initialized but before
+ * the OS has been started or constructors have run.
+ *
+ * Preconditions:
+ * - Ram is initialized
+ * - NVIC is setup
+ */
+void mbed_sdk_init(void);
+
+/**
+ * Application hook for running code before main
+ *
+ * This is a weak function which can be overridden by an application
+ * to allow code to run before main is called.
+ *
+ * Preconditions:
+ * - The RTOS has been started by a call to mbed_rtos_start
+ * - The toolchain has been initialized by a call to mbed_toolchain_init
+ */
+void mbed_main(void);
+
+/**@}*/
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* MBED_BOOT_H */