Repostiory containing DAPLink source code with Reset Pin workaround for HANI_IOT board.

Upstream: https://github.com/ARMmbed/DAPLink

Revision:
0:01f31e923fe2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/source/rtos/RTX_Config.c	Tue Apr 07 12:55:42 2020 +0200
@@ -0,0 +1,217 @@
+/**
+ * @file    RTX_Config.c
+ * @brief   Project settings for the RTX kernel
+ *
+ * DAPLink Interface Firmware
+ * Copyright (c) 2009-2016, 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
+ *
+ * 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.
+ */
+
+#include "RTL.h"
+#include "util.h"
+#include "cortex_m.h"
+
+/*----------------------------------------------------------------------------
+ *      RTX User configuration part BEGIN
+ *---------------------------------------------------------------------------*/
+
+//-------- <<< Use Configuration Wizard in Context Menu >>> -----------------
+//
+// <h>Task Configuration
+// =====================
+//
+//   <o>Number of concurrent running tasks <0-250>
+//   <i> Define max. number of tasks that will run at the same time.
+//   <i> Default: 6
+#ifndef OS_TASKCNT
+#define OS_TASKCNT    4
+// Threads with user provided stacks:
+// -serial_process
+// -hid_process
+// -timer_task_30mS
+// -main_task
+#endif
+
+//   <o>Number of tasks with user-provided stack <0-250>
+//   <i> Define the number of tasks that will use a bigger stack.
+//   <i> The memory space for the stack is provided by the user.
+//   <i> Default: 0
+#ifndef OS_PRIVCNT
+#define OS_PRIVCNT     OS_TASKCNT
+// All tasks use private stacks (aside from background thread)
+#endif
+
+//   <o>Task stack size [bytes] <20-4096:8><#/4>
+//   <i> Set the stack size for tasks which is assigned by the system.
+//   <i> Default: 200
+#ifndef OS_STKSIZE
+#define OS_STKSIZE     34
+// Used by:
+// -os_idle_demon
+#endif
+
+// <q>Check for the stack overflow
+// ===============================
+// <i> Include the stack checking code for a stack overflow.
+// <i> Note that additional code reduces the Kernel performance.
+#ifndef OS_STKCHECK
+#define OS_STKCHECK    1
+#endif
+
+// <q>Run in privileged mode
+// =========================
+// <i> Run all Tasks in privileged mode.
+// <i> Default: Unprivileged
+#ifndef OS_RUNPRIV
+#define OS_RUNPRIV     1
+#endif
+
+// </h>
+// <h>SysTick Timer Configuration
+// =============================
+//   <o>Timer clock value [Hz] <1-1000000000>
+//   <i> Set the timer clock value for selected timer.
+#ifndef OS_CLOCK
+#error "OS_CLOCK should be defined by HIC configuration"
+#endif
+
+//   <o>Timer tick value [us] <1-1000000>
+//   <i> Set the timer tick value for selected timer.
+#ifndef OS_TICK
+#error "OS_TICK should be defined by RTOS configuration"
+#endif
+
+// </h>
+
+// <h>System Configuration
+// =======================
+// <e>Round-Robin Task switching
+// =============================
+// <i> Enable Round-Robin Task switching.
+#ifndef OS_ROBIN
+#define OS_ROBIN       0
+#endif
+
+//   <o>Round-Robin Timeout [ticks] <1-1000>
+//   <i> Define how long a task will execute before a task switch.
+//   <i> Default: 5
+#ifndef OS_ROBINTOUT
+#define OS_ROBINTOUT   10
+#endif
+
+// </e>
+
+//   <o>Number of user timers <0-250>
+//   <i> Define max. number of user timers that will run at the same time.
+//   <i> Default: 0  (User timers disabled)
+#ifndef OS_TIMERCNT
+#define OS_TIMERCNT    0
+#endif
+
+//   <o>ISR FIFO Queue size<4=>   4 entries  <8=>   8 entries
+//                         <12=> 12 entries  <16=> 16 entries
+//                         <24=> 24 entries  <32=> 32 entries
+//                         <48=> 48 entries  <64=> 64 entries
+//                         <96=> 96 entries
+//   <i> ISR functions store requests to this buffer,
+//   <i> when they are called from the iterrupt handler.
+//   <i> Default: 16 entries
+#ifndef OS_FIFOSZ
+#define OS_FIFOSZ      4
+#endif
+
+// </h>
+
+//------------- <<< end of configuration section >>> -----------------------
+
+// Standard library system mutexes
+// ===============================
+//  Define max. number system mutexes that are used to protect
+//  the arm standard runtime library. For microlib they are not used.
+#ifndef OS_MUTEXCNT
+#define OS_MUTEXCNT    1
+#endif
+
+/*----------------------------------------------------------------------------
+ *      RTX User configuration part END
+ *---------------------------------------------------------------------------*/
+
+#define OS_TRV          ((U32)(((double)OS_CLOCK*(double)OS_TICK)/1E6)-1)
+
+/*----------------------------------------------------------------------------
+ *      Global Functions
+ *---------------------------------------------------------------------------*/
+
+/*--------------------------- os_idle_demon ---------------------------------*/
+
+__task void os_idle_demon(void)
+{
+    /* The idle demon is a system task, running when no other task is ready */
+    /* to run. The 'os_xxx' function calls are not allowed from this task.  */
+    for (;;) {
+        /* HERE: include optional user code to be executed when no task runs.*/
+    }
+}
+
+
+/*--------------------------- os_tmr_call -----------------------------------*/
+
+void os_tmr_call(U16 info)
+{
+    /* This function is called when the user timer has expired. Parameter   */
+    /* 'info' holds the value, defined when the timer was created.          */
+    /* HERE: include optional user code to be executed on timeout. */
+}
+
+
+/*--------------------------- os_error --------------------------------------*/
+
+void os_error(U32 err_code)
+{
+    /* This function is called when a runtime error is detected. Parameter */
+    /* 'err_code' holds the runtime error code (defined in RTL.H).         */
+    switch (err_code) {
+        case OS_ERR_STK_OVF:
+            util_assert(0);
+            break;
+
+        case OS_ERR_FIFO_OVF:
+            util_assert(0);
+            break;
+
+        case OS_ERR_MBX_OVF:
+            util_assert(0);
+            break;
+
+        default:
+            util_assert(0);
+            break;
+    }
+
+    SystemReset();
+
+    for (;;); // Wait for reset
+}
+
+
+/*----------------------------------------------------------------------------
+ *      RTX Configuration Functions
+ *---------------------------------------------------------------------------*/
+
+#include "RTX_lib.c"
+
+/*----------------------------------------------------------------------------
+ * end of file
+ *---------------------------------------------------------------------------*/