1d6aed566Sopenharmony_ci/* 2d6aed566Sopenharmony_ci * Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved. 3d6aed566Sopenharmony_ci * Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved. 4d6aed566Sopenharmony_ci * 5d6aed566Sopenharmony_ci * Redistribution and use in source and binary forms, with or without modification, 6d6aed566Sopenharmony_ci * are permitted provided that the following conditions are met: 7d6aed566Sopenharmony_ci * 8d6aed566Sopenharmony_ci * 1. Redistributions of source code must retain the above copyright notice, this list of 9d6aed566Sopenharmony_ci * conditions and the following disclaimer. 10d6aed566Sopenharmony_ci * 11d6aed566Sopenharmony_ci * 2. Redistributions in binary form must reproduce the above copyright notice, this list 12d6aed566Sopenharmony_ci * of conditions and the following disclaimer in the documentation and/or other materials 13d6aed566Sopenharmony_ci * provided with the distribution. 14d6aed566Sopenharmony_ci * 15d6aed566Sopenharmony_ci * 3. Neither the name of the copyright holder nor the names of its contributors may be used 16d6aed566Sopenharmony_ci * to endorse or promote products derived from this software without specific prior written 17d6aed566Sopenharmony_ci * permission. 18d6aed566Sopenharmony_ci * 19d6aed566Sopenharmony_ci * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20d6aed566Sopenharmony_ci * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 21d6aed566Sopenharmony_ci * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 22d6aed566Sopenharmony_ci * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 23d6aed566Sopenharmony_ci * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 24d6aed566Sopenharmony_ci * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 25d6aed566Sopenharmony_ci * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 26d6aed566Sopenharmony_ci * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 27d6aed566Sopenharmony_ci * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 28d6aed566Sopenharmony_ci * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 29d6aed566Sopenharmony_ci * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30d6aed566Sopenharmony_ci */ 31d6aed566Sopenharmony_ci 32d6aed566Sopenharmony_ci#ifndef _TARGET_CONFIG_H 33d6aed566Sopenharmony_ci#define _TARGET_CONFIG_H 34d6aed566Sopenharmony_ci 35d6aed566Sopenharmony_ci#include "los_compiler.h" 36d6aed566Sopenharmony_ci 37d6aed566Sopenharmony_ci#ifdef __cplusplus 38d6aed566Sopenharmony_ci#if __cplusplus 39d6aed566Sopenharmony_ciextern "C" { 40d6aed566Sopenharmony_ci#endif /* __cplusplus */ 41d6aed566Sopenharmony_ci#endif /* __cplusplus */ 42d6aed566Sopenharmony_ci 43d6aed566Sopenharmony_ci#ifndef __NEED_uintptr_t 44d6aed566Sopenharmony_ci#define __NEED_uintptr_t 45d6aed566Sopenharmony_ci#endif 46d6aed566Sopenharmony_ci 47d6aed566Sopenharmony_ci#ifndef __NEED_intptr_t 48d6aed566Sopenharmony_ci#define __NEED_intptr_t 49d6aed566Sopenharmony_ci#endif 50d6aed566Sopenharmony_ci 51d6aed566Sopenharmony_ci/*============================================================================= 52d6aed566Sopenharmony_ci System clock module configuration 53d6aed566Sopenharmony_ci=============================================================================*/ 54d6aed566Sopenharmony_ci#define OS_SYS_CLOCK 800000000 55d6aed566Sopenharmony_ci#define LOSCFG_BASE_CORE_TICK_PER_SECOND (1000UL) 56d6aed566Sopenharmony_ci#define LOSCFG_BASE_CORE_TICK_HW_TIME 0 57d6aed566Sopenharmony_ci#define LOSCFG_BASE_CORE_TICK_WTIMER 1 58d6aed566Sopenharmony_ci#define LOSCFG_BASE_CORE_CYCLE_PER_TICK (OS_SYS_CLOCK / LOSCFG_BASE_CORE_TICK_PER_SECOND) 59d6aed566Sopenharmony_ci#define LOSCFG_BASE_CORE_TICK_RESPONSE_MAX (0xFFFFFFFF - LOSCFG_BASE_CORE_CYCLE_PER_TICK) 60d6aed566Sopenharmony_ci 61d6aed566Sopenharmony_ci/*============================================================================= 62d6aed566Sopenharmony_ci Hardware interrupt module configuration 63d6aed566Sopenharmony_ci=============================================================================*/ 64d6aed566Sopenharmony_ci#define LOSCFG_PLATFORM_HWI 1 65d6aed566Sopenharmony_ci#define OS_TICK_INT_NUM 6 66d6aed566Sopenharmony_ci#define LOSCFG_PLATFORM_HWI_LIMIT 32 67d6aed566Sopenharmony_ci/*============================================================================= 68d6aed566Sopenharmony_ci Task module configuration 69d6aed566Sopenharmony_ci=============================================================================*/ 70d6aed566Sopenharmony_ci#define LOSCFG_BASE_CORE_TSK_LIMIT 24 71d6aed566Sopenharmony_ci#define LOSCFG_BASE_CORE_TSK_IDLE_STACK_SIZE (0x1000U) 72d6aed566Sopenharmony_ci#define LOSCFG_BASE_CORE_TSK_DEFAULT_STACK_SIZE (0x1000U) 73d6aed566Sopenharmony_ci#define LOSCFG_BASE_CORE_TSK_MIN_STACK_SIZE (0x800U) 74d6aed566Sopenharmony_ci#define LOSCFG_BASE_CORE_TIMESLICE 1 75d6aed566Sopenharmony_ci#define LOSCFG_BASE_CORE_TIMESLICE_TIMEOUT 20000 76d6aed566Sopenharmony_ci#define LOSCFG_BASE_CORE_TSK_DEFAULT_PRIO 15 77d6aed566Sopenharmony_ci/*============================================================================= 78d6aed566Sopenharmony_ci Semaphore module configuration 79d6aed566Sopenharmony_ci=============================================================================*/ 80d6aed566Sopenharmony_ci#define LOSCFG_BASE_IPC_SEM 1 81d6aed566Sopenharmony_ci#define LOSCFG_BASE_IPC_SEM_LIMIT 48 82d6aed566Sopenharmony_ci/*============================================================================= 83d6aed566Sopenharmony_ci Mutex module configuration 84d6aed566Sopenharmony_ci=============================================================================*/ 85d6aed566Sopenharmony_ci#define LOSCFG_BASE_IPC_MUX 1 86d6aed566Sopenharmony_ci#define LOSCFG_BASE_IPC_MUX_LIMIT 24 87d6aed566Sopenharmony_ci/*============================================================================= 88d6aed566Sopenharmony_ci Queue module configuration 89d6aed566Sopenharmony_ci=============================================================================*/ 90d6aed566Sopenharmony_ci#define LOSCFG_BASE_IPC_QUEUE 1 91d6aed566Sopenharmony_ci#define LOSCFG_BASE_IPC_QUEUE_LIMIT 24 92d6aed566Sopenharmony_ci/*============================================================================= 93d6aed566Sopenharmony_ci Software timer module configuration 94d6aed566Sopenharmony_ci=============================================================================*/ 95d6aed566Sopenharmony_ci#define LOSCFG_BASE_CORE_SWTMR 1 96d6aed566Sopenharmony_ci#define LOSCFG_BASE_CORE_SWTMR_ALIGN 1 97d6aed566Sopenharmony_ci#define LOSCFG_BASE_CORE_SWTMR_LIMIT 48 98d6aed566Sopenharmony_ci/*============================================================================= 99d6aed566Sopenharmony_ci Memory module configuration 100d6aed566Sopenharmony_ci=============================================================================*/ 101d6aed566Sopenharmony_ciextern UINTPTR __heap_start; 102d6aed566Sopenharmony_ci#define LOSCFG_SYS_HEAP_ADDR (CHAR *)(UINTPTR)(&__heap_start) 103d6aed566Sopenharmony_ci#define LOSCFG_SYS_EXTERNAL_HEAP 1 104d6aed566Sopenharmony_ci#define LOSCFG_SYS_HEAP_SIZE 0x24000 105d6aed566Sopenharmony_ci#define LOSCFG_BASE_MEM_NODE_SIZE_CHECK 1 106d6aed566Sopenharmony_ci#define LOSCFG_MEM_MUL_POOL 1 107d6aed566Sopenharmony_ci#define OS_SYS_MEM_NUM 20 108d6aed566Sopenharmony_ci#define LOSCFG_KERNEL_MEM_SLAB 0 109d6aed566Sopenharmony_ci/*============================================================================= 110d6aed566Sopenharmony_ci Exception module configuration 111d6aed566Sopenharmony_ci=============================================================================*/ 112d6aed566Sopenharmony_ci#define LOSCFG_KERNEL_PRINTF 1 113d6aed566Sopenharmony_ci 114d6aed566Sopenharmony_ci#ifdef __cplusplus 115d6aed566Sopenharmony_ci#if __cplusplus 116d6aed566Sopenharmony_ci} 117d6aed566Sopenharmony_ci#endif /* __cplusplus */ 118d6aed566Sopenharmony_ci#endif /* __cplusplus */ 119d6aed566Sopenharmony_ci 120d6aed566Sopenharmony_ci#endif /* _TARGET_CONFIG_H */ 121