mirror of
https://github.com/silenty4ng/uv-k5-firmware-chinese-lts
synced 2025-01-30 06:04:20 +00:00
189 lines
5.3 KiB
C
189 lines
5.3 KiB
C
/*
|
|
* Copyright (c) 2013-2023 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.
|
|
*
|
|
* -----------------------------------------------------------------------------
|
|
*
|
|
* $Revision: V5.6.0
|
|
*
|
|
* Project: CMSIS-RTOS RTX
|
|
* Title: RTX Library Configuration definitions
|
|
*
|
|
* -----------------------------------------------------------------------------
|
|
*/
|
|
|
|
#ifndef RTX_CONFIG_H_
|
|
#define RTX_CONFIG_H_
|
|
|
|
//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
|
|
|
|
// <h>System Configuration
|
|
// =======================
|
|
|
|
// <e>Safety features (Source variant only)
|
|
// <i> Enables FuSa related features.
|
|
// <i> Requires RTX Source variant.
|
|
// <i> Enables:
|
|
// <i> - selected features from this group
|
|
// <i> - Thread functions: osThreadProtectPrivileged
|
|
#ifndef OS_SAFETY_FEATURES
|
|
#define OS_SAFETY_FEATURES 0
|
|
#endif
|
|
|
|
// <q>Safety Class
|
|
// <i> Threads assigned to lower classes cannot modify higher class threads.
|
|
// <i> Enables:
|
|
// <i> - Object attributes: osSafetyClass
|
|
// <i> - Kernel functions: osKernelProtect, osKernelDestroyClass
|
|
// <i> - Thread functions: osThreadGetClass, osThreadSuspendClass, osThreadResumeClass
|
|
#ifndef OS_SAFETY_CLASS
|
|
#define OS_SAFETY_CLASS 1
|
|
#endif
|
|
|
|
// <q>MPU Protected Zone
|
|
// <i> Access protection via MPU (Spatial isolation).
|
|
// <i> Enables:
|
|
// <i> - Thread attributes: osThreadZone
|
|
// <i> - Thread functions: osThreadGetZone, osThreadTerminateZone
|
|
// <i> - Zone Management: osZoneSetup_Callback
|
|
#ifndef OS_EXECUTION_ZONE
|
|
#define OS_EXECUTION_ZONE 1
|
|
#endif
|
|
|
|
// <q>Thread Watchdog
|
|
// <i> Watchdog alerts ensure timing for critical threads (Temporal isolation).
|
|
// <i> Enables:
|
|
// <i> - Thread functions: osThreadFeedWatchdog
|
|
// <i> - Handler functions: osWatchdogAlarm_Handler
|
|
#ifndef OS_THREAD_WATCHDOG
|
|
#define OS_THREAD_WATCHDOG 1
|
|
#endif
|
|
|
|
// <q>Object Pointer checking
|
|
// <i> Check object pointer alignment and memory region.
|
|
#ifndef OS_OBJ_PTR_CHECK
|
|
#define OS_OBJ_PTR_CHECK 0
|
|
#endif
|
|
|
|
// <q>SVC Function Pointer checking
|
|
// <i> Check SVC function pointer alignment and memory region.
|
|
// <i> User needs to define a linker execution region RTX_SVC_VENEERS
|
|
// <i> containing input sections: rtx_*.o (.text.os.svc.veneer.*)
|
|
#ifndef OS_SVC_PTR_CHECK
|
|
#define OS_SVC_PTR_CHECK 0
|
|
#endif
|
|
|
|
// </e>
|
|
|
|
// <q>Object Memory usage counters
|
|
// <i> Enables object memory usage counters (requires RTX source variant).
|
|
#ifndef OS_OBJ_MEM_USAGE
|
|
#define OS_OBJ_MEM_USAGE 0
|
|
#endif
|
|
|
|
// </h>
|
|
|
|
// <h>Thread Configuration
|
|
// =======================
|
|
|
|
// <q>Stack overrun checking
|
|
// <i> Enables stack overrun check at thread switch (requires RTX source variant).
|
|
// <i> Enabling this option increases slightly the execution time of a thread switch.
|
|
#ifndef OS_STACK_CHECK
|
|
#define OS_STACK_CHECK 0
|
|
#endif
|
|
|
|
// </h>
|
|
|
|
// <h>Event Recorder Configuration
|
|
// ===============================
|
|
|
|
// <h>RTOS Event Generation
|
|
// <i> Enables event generation for RTX components (requires RTX source variant).
|
|
|
|
// <q>Memory Management
|
|
// <i> Enables Memory Management event generation.
|
|
#ifndef OS_EVR_MEMORY
|
|
#define OS_EVR_MEMORY 1
|
|
#endif
|
|
|
|
// <q>Kernel
|
|
// <i> Enables Kernel event generation.
|
|
#ifndef OS_EVR_KERNEL
|
|
#define OS_EVR_KERNEL 1
|
|
#endif
|
|
|
|
// <q>Thread
|
|
// <i> Enables Thread event generation.
|
|
#ifndef OS_EVR_THREAD
|
|
#define OS_EVR_THREAD 1
|
|
#endif
|
|
|
|
// <q>Generic Wait
|
|
// <i> Enables Generic Wait event generation.
|
|
#ifndef OS_EVR_WAIT
|
|
#define OS_EVR_WAIT 1
|
|
#endif
|
|
|
|
// <q>Thread Flags
|
|
// <i> Enables Thread Flags event generation.
|
|
#ifndef OS_EVR_THFLAGS
|
|
#define OS_EVR_THFLAGS 1
|
|
#endif
|
|
|
|
// <q>Event Flags
|
|
// <i> Enables Event Flags event generation.
|
|
#ifndef OS_EVR_EVFLAGS
|
|
#define OS_EVR_EVFLAGS 1
|
|
#endif
|
|
|
|
// <q>Timer
|
|
// <i> Enables Timer event generation.
|
|
#ifndef OS_EVR_TIMER
|
|
#define OS_EVR_TIMER 1
|
|
#endif
|
|
|
|
// <q>Mutex
|
|
// <i> Enables Mutex event generation.
|
|
#ifndef OS_EVR_MUTEX
|
|
#define OS_EVR_MUTEX 1
|
|
#endif
|
|
|
|
// <q>Semaphore
|
|
// <i> Enables Semaphore event generation.
|
|
#ifndef OS_EVR_SEMAPHORE
|
|
#define OS_EVR_SEMAPHORE 1
|
|
#endif
|
|
|
|
// <q>Memory Pool
|
|
// <i> Enables Memory Pool event generation.
|
|
#ifndef OS_EVR_MEMPOOL
|
|
#define OS_EVR_MEMPOOL 1
|
|
#endif
|
|
|
|
// <q>Message Queue
|
|
// <i> Enables Message Queue event generation.
|
|
#ifndef OS_EVR_MSGQUEUE
|
|
#define OS_EVR_MSGQUEUE 1
|
|
#endif
|
|
|
|
// </h>
|
|
|
|
// </h>
|
|
|
|
//------------- <<< end of configuration section >>> ---------------------------
|
|
|
|
#endif // RTX_CONFIG_H_
|