Repostiory containing DAPLink source code with Reset Pin workaround for HANI_IOT board.
Upstream: https://github.com/ARMmbed/DAPLink
source/rtos/RTX_Config.c
- Committer:
- Pawel Zarembski
- Date:
- 2020-04-07
- Revision:
- 0:01f31e923fe2
File content as of revision 0:01f31e923fe2:
/** * @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 *---------------------------------------------------------------------------*/