13d0407baSopenharmony_ci/* 23d0407baSopenharmony_ci * Copyright (c) 2022 FuZhou Lockzhiner Electronic Co., Ltd. All rights reserved. 33d0407baSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 43d0407baSopenharmony_ci * you may not use this file except in compliance with the License. 53d0407baSopenharmony_ci * You may obtain a copy of the License at 63d0407baSopenharmony_ci * 73d0407baSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 83d0407baSopenharmony_ci * 93d0407baSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 103d0407baSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 113d0407baSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 123d0407baSopenharmony_ci * See the License for the specific language governing permissions and 133d0407baSopenharmony_ci * limitations under the License. 143d0407baSopenharmony_ci */ 153d0407baSopenharmony_ci 163d0407baSopenharmony_ci/**@defgroup los_config System configuration items 173d0407baSopenharmony_ci * @ingroup kernel 183d0407baSopenharmony_ci */ 193d0407baSopenharmony_ci 203d0407baSopenharmony_ci#ifndef _TARGET_CONFIG_H 213d0407baSopenharmony_ci#define _TARGET_CONFIG_H 223d0407baSopenharmony_ci 233d0407baSopenharmony_ci#include "link.h" 243d0407baSopenharmony_ci#include "soc.h" 253d0407baSopenharmony_ci 263d0407baSopenharmony_ci#ifdef __cplusplus 273d0407baSopenharmony_ci#if __cplusplus 283d0407baSopenharmony_ciextern "C" { 293d0407baSopenharmony_ci#endif /* __cplusplus */ 303d0407baSopenharmony_ci#endif /* __cplusplus */ 313d0407baSopenharmony_ci 323d0407baSopenharmony_ci/*============================================================================= 333d0407baSopenharmony_ci System clock module configuration 343d0407baSopenharmony_ci=============================================================================*/ 353d0407baSopenharmony_ci#define OS_SYS_CLOCK 96000000UL 363d0407baSopenharmony_ci#define LOSCFG_BASE_CORE_TICK_PER_SECOND (1000UL) 373d0407baSopenharmony_ci#define LOSCFG_BASE_CORE_TICK_HW_TIME 0 383d0407baSopenharmony_ci#define LOSCFG_BASE_CORE_TICK_WTIMER 0 393d0407baSopenharmony_ci#define LOSCFG_BASE_CORE_TICK_RESPONSE_MAX 0xFFFFFFUL 403d0407baSopenharmony_ci 413d0407baSopenharmony_ci 423d0407baSopenharmony_ci/*============================================================================= 433d0407baSopenharmony_ci Hardware interrupt module configuration 443d0407baSopenharmony_ci=============================================================================*/ 453d0407baSopenharmony_ci#define LOSCFG_PLATFORM_HWI 1 463d0407baSopenharmony_ci#define LOSCFG_USE_SYSTEM_DEFINED_INTERRUPT 1 473d0407baSopenharmony_ci#define LOSCFG_PLATFORM_HWI_LIMIT 128 483d0407baSopenharmony_ci 493d0407baSopenharmony_ci 503d0407baSopenharmony_ci/*============================================================================= 513d0407baSopenharmony_ci Task module configuration 523d0407baSopenharmony_ci=============================================================================*/ 533d0407baSopenharmony_ci#define LOSCFG_BASE_CORE_TSK_LIMIT 63 543d0407baSopenharmony_ci#define LOSCFG_BASE_CORE_TSK_IDLE_STACK_SIZE (0x1000U) 553d0407baSopenharmony_ci#define LOSCFG_BASE_CORE_TSK_DEFAULT_STACK_SIZE (0x1000U) 563d0407baSopenharmony_ci#define LOSCFG_BASE_CORE_TSK_MIN_STACK_SIZE (0x200U) 573d0407baSopenharmony_ci#define LOSCFG_BASE_CORE_TIMESLICE 1 583d0407baSopenharmony_ci#define LOSCFG_BASE_CORE_TIMESLICE_TIMEOUT 20000 593d0407baSopenharmony_ci 603d0407baSopenharmony_ci 613d0407baSopenharmony_ci/*============================================================================= 623d0407baSopenharmony_ci Semaphore module configuration 633d0407baSopenharmony_ci=============================================================================*/ 643d0407baSopenharmony_ci#define LOSCFG_BASE_IPC_SEM 1 653d0407baSopenharmony_ci#define LOSCFG_BASE_IPC_SEM_LIMIT 48 663d0407baSopenharmony_ci 673d0407baSopenharmony_ci 683d0407baSopenharmony_ci/*============================================================================= 693d0407baSopenharmony_ci Mutex module configuration 703d0407baSopenharmony_ci=============================================================================*/ 713d0407baSopenharmony_ci#define LOSCFG_BASE_IPC_MUX 1 723d0407baSopenharmony_ci#define LOSCFG_BASE_IPC_MUX_LIMIT 48 733d0407baSopenharmony_ci 743d0407baSopenharmony_ci 753d0407baSopenharmony_ci/*============================================================================= 763d0407baSopenharmony_ci Queue module configuration 773d0407baSopenharmony_ci=============================================================================*/ 783d0407baSopenharmony_ci#define LOSCFG_BASE_IPC_QUEUE 1 793d0407baSopenharmony_ci#define LOSCFG_BASE_IPC_QUEUE_LIMIT 48 803d0407baSopenharmony_ci 813d0407baSopenharmony_ci 823d0407baSopenharmony_ci/*============================================================================= 833d0407baSopenharmony_ci Software timer module configuration 843d0407baSopenharmony_ci=============================================================================*/ 853d0407baSopenharmony_ci#define LOSCFG_BASE_CORE_SWTMR 1 863d0407baSopenharmony_ci#define LOSCFG_BASE_CORE_SWTMR_ALIGN 0 873d0407baSopenharmony_ci#define LOSCFG_BASE_CORE_SWTMR_LIMIT 48 883d0407baSopenharmony_ci 893d0407baSopenharmony_ci 903d0407baSopenharmony_ci/*============================================================================= 913d0407baSopenharmony_ci Memory module configuration 923d0407baSopenharmony_ci=============================================================================*/ 933d0407baSopenharmony_ci#define LOSCFG_MEM_MUL_POOL 1 943d0407baSopenharmony_ci#define OS_SYS_MEM_NUM 20 953d0407baSopenharmony_ci 963d0407baSopenharmony_ci 973d0407baSopenharmony_ci/*============================================================================= 983d0407baSopenharmony_ci Exception module configuration 993d0407baSopenharmony_ci=============================================================================*/ 1003d0407baSopenharmony_ci#define LOSCFG_PLATFORM_EXC 1 1013d0407baSopenharmony_ci 1023d0407baSopenharmony_ci 1033d0407baSopenharmony_ci/* ============================================================================= 1043d0407baSopenharmony_ci printf module configuration 1053d0407baSopenharmony_ci============================================================================= */ 1063d0407baSopenharmony_ci#define LOSCFG_KERNEL_PRINTF 1 1073d0407baSopenharmony_ci#define LOSCFG_BASE_CORE_SCHED_SLEEP 1 1083d0407baSopenharmony_ci#define LOSCFG_BASE_CORE_TSK_MONITOR 1 1093d0407baSopenharmony_ci#define LOSCFG_BASE_CORE_CPUP 1 1103d0407baSopenharmony_ci#define LOSCFG_BASE_CORE_EXC_TSK_SWITCH 1 1113d0407baSopenharmony_ci#define LOSCFG_SYS_EXTERNAL_HEAP 1 1123d0407baSopenharmony_ci#define LOSCFG_MEM_FREE_BY_TASKID 1 1133d0407baSopenharmony_ci#define LOSCFG_BASE_MEM_NODE_INTEGRITY_CHECK 1 1143d0407baSopenharmony_ci#define LOSCFG_MEM_LEAKCHECK 1 1153d0407baSopenharmony_ci#define LOSCFG_HAL_TRACE_PRINTF 1 1163d0407baSopenharmony_ci#define HAL_TRACE_DEBUG 8 1173d0407baSopenharmony_ci 1183d0407baSopenharmony_ci/*============================================================================= 1193d0407baSopenharmony_ci Memory module configuration 1203d0407baSopenharmony_ci=============================================================================*/ 1213d0407baSopenharmony_ciextern unsigned int _heap_start; 1223d0407baSopenharmony_ci#define LOSCFG_SYS_HEAP_ADDR ((unsigned char *)(&_heap_start)) 1233d0407baSopenharmony_ci#define LOSCFG_SYS_HEAP_SIZE (PSRAM_SIZE - SYS_STACK_SIZE) 1243d0407baSopenharmony_ci 1253d0407baSopenharmony_ci 1263d0407baSopenharmony_ci/*============================================================================= 1273d0407baSopenharmony_ci Hardware interrupt configuration 1283d0407baSopenharmony_ci=============================================================================*/ 1293d0407baSopenharmony_ci#define LOSCFG_PLATFORM_HWI_WITH_ARG 1 1303d0407baSopenharmony_ci 1313d0407baSopenharmony_ci 1323d0407baSopenharmony_ci/*============================================================================= 1333d0407baSopenharmony_ci Section configuration 1343d0407baSopenharmony_ci=============================================================================*/ 1353d0407baSopenharmony_ci 1363d0407baSopenharmony_ci 1373d0407baSopenharmony_ci#define LOSCFG_ARCH_HWI_VECTOR_ALIGN 0x200 1383d0407baSopenharmony_ci 1393d0407baSopenharmony_ci 1403d0407baSopenharmony_ci#ifdef __cplusplus 1413d0407baSopenharmony_ci#if __cplusplus 1423d0407baSopenharmony_ci} 1433d0407baSopenharmony_ci#endif /* __cplusplus */ 1443d0407baSopenharmony_ci#endif /* __cplusplus */ 1453d0407baSopenharmony_ci 1463d0407baSopenharmony_ci#endif /* _TARGET_CONFIG_H */ 147