1/* 2 * Copyright (c) 2020-2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16/**@defgroup los_config System configuration items 17 * @ingroup kernel 18 */ 19 20#ifndef _TARGET_CONFIG_H 21#define _TARGET_CONFIG_H 22 23#include "stdint.h" 24#include "stdbool.h" 25#include "soc.h" 26#include "los_compiler.h" 27 28#ifdef __cplusplus 29#if __cplusplus 30extern "C" { 31#endif /* __cplusplus */ 32#endif /* __cplusplus */ 33 34/*============================================================================= 35 System clock module configuration 36=============================================================================*/ 37#define OS_SYS_CLOCK 10000000UL 38#define LOSCFG_BASE_CORE_TICK_PER_SECOND (100UL) 39#define LOSCFG_BASE_CORE_TICK_HW_TIME 0 40#define LOSCFG_BASE_CORE_TICK_WTIMER 1 41#define LOSCFG_BASE_CORE_TICK_RESPONSE_MAX ((UINT64)-1) 42 43/*============================================================================= 44 Task module configuration 45=============================================================================*/ 46#define LOSCFG_BASE_CORE_TSK_LIMIT 24 47#define LOSCFG_BASE_CORE_TSK_IDLE_STACK_SIZE (0x500U) 48#define LOSCFG_BASE_CORE_TSK_DEFAULT_STACK_SIZE (0x1000U) 49#define LOSCFG_BASE_CORE_TSK_MIN_STACK_SIZE (0x500U) 50#define LOSCFG_BASE_CORE_TIMESLICE 1 51#define LOSCFG_BASE_CORE_TIMESLICE_TIMEOUT 20000 52#define LOSCFG_BASE_CORE_TSK_MONITOR 1 53 54/*============================================================================= 55 Semaphore module configuration 56=============================================================================*/ 57#define LOSCFG_BASE_IPC_SEM 1 58#define LOSCFG_BASE_IPC_SEM_LIMIT 48 59/*============================================================================= 60 Mutex module configuration 61=============================================================================*/ 62#define LOSCFG_BASE_IPC_MUX 1 63#define LOSCFG_BASE_IPC_MUX_LIMIT 50 64/*============================================================================= 65 Queue module configuration 66=============================================================================*/ 67#define LOSCFG_BASE_IPC_QUEUE 1 68#define LOSCFG_BASE_IPC_QUEUE_LIMIT 24 69/*============================================================================= 70 Software timer module configuration 71=============================================================================*/ 72#define LOSCFG_BASE_CORE_SWTMR 1 73#define LOSCFG_BASE_CORE_SWTMR_ALIGN 1 74#define LOSCFG_BASE_CORE_SWTMR_LIMIT 48 75/*============================================================================= 76 Memory module configuration 77=============================================================================*/ 78extern UINTPTR __heap_start; 79extern UINTPTR __heap_size; 80#define LOSCFG_SYS_EXTERNAL_HEAP 1 81#define LOSCFG_SYS_HEAP_ADDR (VOID *)&__heap_start 82#define LOSCFG_SYS_HEAP_SIZE (UINTPTR)&__heap_size 83#define LOSCFG_BASE_MEM_NODE_SIZE_CHECK 0 84#define LOSCFG_MEM_MUL_POOL 1 85#define OS_SYS_MEM_NUM 20 86#define LOSCFG_KERNEL_MEM_SLAB 0 87#define LOSCFG_MEMORY_BESTFIT 1 88/*============================================================================= 89 Exception module configuration 90=============================================================================*/ 91#define LOSCFG_PLATFORM_HWI_WITH_ARG 1 92 93#define LOSCFG_KERNEL_PRINTF 1 94 95#define LOS_KERNEL_TEST_NOT_SMOKE 0 96#define LOS_KERNEL_HWI_TEST 0 97/*============================================================================= 98 shell module configuration 99=============================================================================*/ 100#define LOSCFG_USE_SHELL 1 101#define LOSCFG_SHELL_PRIO 3 102 103extern UINT32 QemuCLZ(UINT32); 104#undef CLZ 105#define CLZ(n) QemuCLZ(n) 106#ifdef __cplusplus 107#if __cplusplus 108} 109#endif /* __cplusplus */ 110#endif /* __cplusplus */ 111 112 113#endif /* _TARGET_CONFIG_H */ 114