1 /* 2 * Copyright (c) 2009-2022 Huawei Technologies Co., Ltd. All rights reserved. 3 * 4 * UniProton is licensed under Mulan PSL v2. 5 * You can use this software according to the terms and conditions of the Mulan PSL v2. 6 * You may obtain a copy of Mulan PSL v2 at: 7 * http://license.coscl.org.cn/MulanPSL2 8 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, 9 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, 10 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. 11 * See the Mulan PSL v2 for more details. 12 * Create: 2009-12-22 13 * Description: UniProton配置头文件,裁剪开关和配置项。 14 */ 15 #ifndef PRT_CONFIG_H 16 #define PRT_CONFIG_H 17 18 #include "prt_buildef.h" 19 #include "prt_typedef.h" 20 21 #ifdef __cplusplus 22 #if __cplusplus 23 extern "C" { 24 #endif 25 #endif 26 27 /* ***************************** 配置系统基本信息 ******************************* */ 28 /* 芯片主频 */ 29 #define OS_SYS_CLOCK 0 30 31 /* ***************************** 中断模块配置 ************************** */ 32 /* 硬中断最大支持个数 */ 33 #define OS_HWI_MAX_NUM_CONFIG 150 34 35 /* ***************************** 配置Tick中断模块 *************************** */ 36 /* Tick中断模块裁剪开关 */ 37 #define OS_INCLUDE_TICK YES 38 /* Tick中断时间间隔,tick处理时间不能超过1/OS_TICK_PER_SECOND(s) */ 39 #define OS_TICK_PER_SECOND 5000 40 41 /* ***************************** 配置定时器模块 ***************************** */ 42 /* 基于TICK的软件定时器裁剪开关 */ 43 #define OS_INCLUDE_TICK_SWTMER NO 44 /* 基于TICK的软件定时器最大个数 */ 45 #define OS_TICK_SWITIMER_MAX_NUM 8 46 47 /* ***************************** 配置任务模块 ******************************* */ 48 /* 任务模块裁剪开关 */ 49 #define OS_INCLUDE_TASK YES 50 /* 最大支持的任务数,最大共支持254个 */ 51 #define OS_TSK_MAX_SUPPORT_NUM 8 52 /* 缺省的任务栈大小 */ 53 #define OS_TSK_DEFAULT_STACK_SIZE 0x800 54 /* IDLE任务栈的大小 */ 55 #define OS_TSK_IDLE_STACK_SIZE 0x800 56 /* 任务栈初始化魔术字,默认是0xCA,只支持配置一个字节 */ 57 #define OS_TSK_STACK_MAGIC_WORD 0xCA 58 59 /* ***************************** 配置CPU占用率及CPU告警模块 **************** */ 60 /* CPU占用率模块裁剪开关 */ 61 #define OS_INCLUDE_CPUP NO 62 /* 采样时间间隔(单位tick),若其值大于0,则作为采样周期,否则两次调用PRT_CpupNow或PRT_CpupThread间隔作为周期 */ 63 #define OS_CPUP_SAMPLE_INTERVAL 0 64 /* CPU占用率告警动态配置项 */ 65 #define OS_CONFIG_CPUP_WARN NO 66 /* CPU占用率告警阈值(精度为万分比) */ 67 #define OS_CPUP_SHORT_WARN 0 68 /* CPU占用率告警恢复阈值(精度为万分比) */ 69 #define OS_CPUP_SHORT_RESUME 0 70 71 /* ***************************** 配置内存管理模块 ************************** */ 72 /* 用户可以创建的最大分区数,取值范围[0,253] */ 73 #define OS_MEM_MAX_PT_NUM 10 74 /* 私有FSC内存分区起始地址 */ 75 #define OS_MEM_FSC_PT_ADDR NULL 76 /* 私有FSC内存分区大小 */ 77 #define OS_MEM_FSC_PT_SIZE 0 78 79 /* ***************************** 配置信号量管理模块 ************************* */ 80 /* 信号量模块裁剪开关 */ 81 #define OS_INCLUDE_SEM NO 82 83 /* 最大支持的信号量数 */ 84 #define OS_SEM_MAX_SUPPORT_NUM 0 85 86 /* ***************************** 配置队列模块 ******************************* */ 87 /* 队列模块裁剪开关 */ 88 #define OS_INCLUDE_QUEUE NO 89 /* 最大支持的队列数,范围(0,0xFFFF] */ 90 #define OS_QUEUE_MAX_SUPPORT_NUM 10 91 92 /* ************************* 钩子模块配置 *********************************** */ 93 /* 硬中断进入钩子最大支持个数, 范围[0, 255] */ 94 #define OS_HOOK_HWI_ENTRY_NUM 0 95 /* 硬中断退出钩子最大支持个数, 范围[0, 255] */ 96 #define OS_HOOK_HWI_EXIT_NUM 0 97 /* 任务切换钩子最大支持个数, 范围[0, 255] */ 98 #define OS_HOOK_TSK_SWITCH_NUM 0 99 /* IDLE钩子最大支持个数, 范围[0, 255] */ 100 #define OS_HOOK_IDLE_NUM 0 101 102 #ifdef __cplusplus 103 #if __cplusplus 104 } 105 #endif /* __cpluscplus */ 106 #endif /* __cpluscplus */ 107 108 #endif /* PRT_CONFIG_H */ 109