11bd4fe43Sopenharmony_ci/*
21bd4fe43Sopenharmony_ci * Copyright (c) 2020 Huawei Device Co., Ltd.
31bd4fe43Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
41bd4fe43Sopenharmony_ci * you may not use this file except in compliance with the License.
51bd4fe43Sopenharmony_ci * You may obtain a copy of the License at
61bd4fe43Sopenharmony_ci *
71bd4fe43Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
81bd4fe43Sopenharmony_ci *
91bd4fe43Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
101bd4fe43Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
111bd4fe43Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
121bd4fe43Sopenharmony_ci * See the License for the specific language governing permissions and
131bd4fe43Sopenharmony_ci * limitations under the License.
141bd4fe43Sopenharmony_ci */
151bd4fe43Sopenharmony_ci
161bd4fe43Sopenharmony_ci#ifndef _SYSTEM_CONFIG_H
171bd4fe43Sopenharmony_ci#define _SYSTEM_CONFIG_H
181bd4fe43Sopenharmony_ci
191bd4fe43Sopenharmony_ci#ifdef __cplusplus
201bd4fe43Sopenharmony_ci#if __cplusplus
211bd4fe43Sopenharmony_ciextern "C" {
221bd4fe43Sopenharmony_ci#endif /* __cplusplus */
231bd4fe43Sopenharmony_ci#endif /* __cplusplus */
241bd4fe43Sopenharmony_ci
251bd4fe43Sopenharmony_ci/* =============================================================================
261bd4fe43Sopenharmony_ci                                       LiteOS kernel version configuration
271bd4fe43Sopenharmony_ci============================================================================= */
281bd4fe43Sopenharmony_ci/**
291bd4fe43Sopenharmony_ci * @ingroup los_config
301bd4fe43Sopenharmony_ci * Version number
311bd4fe43Sopenharmony_ci */
321bd4fe43Sopenharmony_ci#define LITEOS_VER
331bd4fe43Sopenharmony_ci
341bd4fe43Sopenharmony_ci/** system source configuration**/
351bd4fe43Sopenharmony_ci/**
361bd4fe43Sopenharmony_ci * @ingroup los_config
371bd4fe43Sopenharmony_ci * system clock
381bd4fe43Sopenharmony_ci */
391bd4fe43Sopenharmony_ci#ifdef HI_BOARD_ASIC
401bd4fe43Sopenharmony_ci#define OS_SYS_CLOCK_CONFIG                               160000000
411bd4fe43Sopenharmony_ci#else
421bd4fe43Sopenharmony_ci#define OS_SYS_CLOCK_CONFIG                               53000000
431bd4fe43Sopenharmony_ci#endif
441bd4fe43Sopenharmony_ci
451bd4fe43Sopenharmony_ci/** system source configuration**/
461bd4fe43Sopenharmony_ci/**
471bd4fe43Sopenharmony_ci * @ingroup los_config
481bd4fe43Sopenharmony_ci * Number of Ticks in one second
491bd4fe43Sopenharmony_ci */
501bd4fe43Sopenharmony_ci#define LOSCFG_BASE_CORE_TICK_PER_SECOND_CONFIG           100
511bd4fe43Sopenharmony_ci
521bd4fe43Sopenharmony_ci/** system source configuration**/
531bd4fe43Sopenharmony_ci/**
541bd4fe43Sopenharmony_ci * @ingroup los_config
551bd4fe43Sopenharmony_ci * Maximum supported number of tasks except the idle task rather than the number of usable tasks
561bd4fe43Sopenharmony_ci */
571bd4fe43Sopenharmony_ci#define LOSCFG_BASE_CORE_TSK_LIMIT_CONFIG                 32
581bd4fe43Sopenharmony_ci
591bd4fe43Sopenharmony_ci/**
601bd4fe43Sopenharmony_ci * @ingroup los_config
611bd4fe43Sopenharmony_ci * Maximum supported number of semaphores
621bd4fe43Sopenharmony_ci */
631bd4fe43Sopenharmony_ci#define LOSCFG_BASE_IPC_SEM_LIMIT_CONFIG                  32
641bd4fe43Sopenharmony_ci/**
651bd4fe43Sopenharmony_ci * @ingroup los_config
661bd4fe43Sopenharmony_ci * Maximum supported number of mutexes
671bd4fe43Sopenharmony_ci */
681bd4fe43Sopenharmony_ci#define LOSCFG_BASE_IPC_MUX_LIMIT_CONFIG                  38
691bd4fe43Sopenharmony_ci
701bd4fe43Sopenharmony_ci/**
711bd4fe43Sopenharmony_ci * @ingroup los_config
721bd4fe43Sopenharmony_ci * Maximum supported number of queues rather than the number of usable queues
731bd4fe43Sopenharmony_ci */
741bd4fe43Sopenharmony_ci#define LOSCFG_BASE_IPC_QUEUE_LIMIT_CONFIG                32
751bd4fe43Sopenharmony_ci/**
761bd4fe43Sopenharmony_ci * @ingroup los_config
771bd4fe43Sopenharmony_ci * Maximum supported number of software timers rather than the number of usable software timers
781bd4fe43Sopenharmony_ci */
791bd4fe43Sopenharmony_ci#define LOSCFG_BASE_CORE_SWTMR_LIMIT_CONFIG               32
801bd4fe43Sopenharmony_ci
811bd4fe43Sopenharmony_ci/**
821bd4fe43Sopenharmony_ci * @ingroup los_config
831bd4fe43Sopenharmony_ci * Default task stack size
841bd4fe43Sopenharmony_ci */
851bd4fe43Sopenharmony_ci#define LOSCFG_BASE_CORE_TSK_DEFAULT_STACK_SIZE_CONFIG          (0x1000UL)
861bd4fe43Sopenharmony_ci/**
871bd4fe43Sopenharmony_ci * @ingroup los_config
881bd4fe43Sopenharmony_ci * Idle task stack size.
891bd4fe43Sopenharmony_ci */
901bd4fe43Sopenharmony_ci#define LOSCFG_BASE_CORE_TSK_IDLE_STACK_SIZE_CONFIG             (0x400UL)
911bd4fe43Sopenharmony_ci/**
921bd4fe43Sopenharmony_ci * @ingroup los_config
931bd4fe43Sopenharmony_ci * Idle task stack size.
941bd4fe43Sopenharmony_ci */
951bd4fe43Sopenharmony_ci#define LOSCFG_BASE_CORE_TSK_SWTMR_STACK_SIZE_CONFIG             (0x800UL)
961bd4fe43Sopenharmony_ci
971bd4fe43Sopenharmony_ci/**
981bd4fe43Sopenharmony_ci * @ingroup los_config
991bd4fe43Sopenharmony_ci * Minimum stack size.
1001bd4fe43Sopenharmony_ci */
1011bd4fe43Sopenharmony_ci#define LOSCFG_BASE_CORE_TSK_MIN_STACK_SIZE_CONFIG              (0x180UL)
1021bd4fe43Sopenharmony_ci/**
1031bd4fe43Sopenharmony_ci * @ingroup los_config
1041bd4fe43Sopenharmony_ci * Stack point align size.
1051bd4fe43Sopenharmony_ci */
1061bd4fe43Sopenharmony_ci#define LOSCFG_STACK_POINT_ALIGN_SIZE                           16
1071bd4fe43Sopenharmony_ci/**
1081bd4fe43Sopenharmony_ci * @ingroup los_config
1091bd4fe43Sopenharmony_ci * Longest execution time of tasks with the same priorities
1101bd4fe43Sopenharmony_ci */
1111bd4fe43Sopenharmony_ci#define LOSCFG_BASE_CORE_TIMESLICE_TIMEOUT_CONFIG               2
1121bd4fe43Sopenharmony_ci/**
1131bd4fe43Sopenharmony_ci * @ingroup los_cpup
1141bd4fe43Sopenharmony_ci * Number of track items
1151bd4fe43Sopenharmony_ci */
1161bd4fe43Sopenharmony_ci#define LOSCFG_BASE_MISC_TRACK_COUNT_CONFIG                     10
1171bd4fe43Sopenharmony_ci
1181bd4fe43Sopenharmony_ci#define LOSCFG_NMI_SERVICE                                      0
1191bd4fe43Sopenharmony_ci
1201bd4fe43Sopenharmony_ci#ifdef LOSCFG_DEBUG_KASAN
1211bd4fe43Sopenharmony_ci#define LOSCFG_KASAN_TASK_STACK_LIMIT_NUM                       3
1221bd4fe43Sopenharmony_ci#endif
1231bd4fe43Sopenharmony_ci
1241bd4fe43Sopenharmony_ci#define LOSCFG_MEM_POOL_SIZE                                    0x3C00
1251bd4fe43Sopenharmony_ci
1261bd4fe43Sopenharmony_ci#ifdef __cplusplus
1271bd4fe43Sopenharmony_ci#if __cplusplus
1281bd4fe43Sopenharmony_ci}
1291bd4fe43Sopenharmony_ci#endif /* __cplusplus */
1301bd4fe43Sopenharmony_ci#endif /* __cplusplus */
1311bd4fe43Sopenharmony_ci
1321bd4fe43Sopenharmony_ci#endif /* _SYSTEM_CONFIG_H */
133