• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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                                    250000000
30 /* 用户注册的获取系统时间的函数*/
31 #define OS_SYS_TIME_HOOK                                NULL
32 
33 /* ***************************** 中断模块配置 ************************** */
34 /* 硬中断最大支持个数 */
35 #define OS_HWI_MAX_NUM_CONFIG                           150
36 
37 /* ***************************** 配置Tick中断模块 *************************** */
38 /* Tick中断模块裁剪开关 */
39 #define OS_INCLUDE_TICK                                 YES
40 /* Tick中断时间间隔,tick处理时间不能超过1/OS_TICK_PER_SECOND(s) */
41 #define OS_TICK_PER_SECOND                              1000
42 
43 /* ***************************** 配置定时器模块 ***************************** */
44 /* 基于TICK的软件定时器裁剪开关 */
45 #define OS_INCLUDE_TICK_SWTMER                          NO
46 /* 基于TICK的软件定时器最大个数 */
47 #define OS_TICK_SWITIMER_MAX_NUM                        32
48 
49 /* ***************************** 配置任务模块 ******************************* */
50 /* 任务模块裁剪开关 */
51 #define OS_INCLUDE_TASK                                 YES
52 /* 最大支持的任务数,最大共支持254个 */
53 #define OS_TSK_MAX_SUPPORT_NUM                          8
54 /* 缺省的任务栈大小 */
55 #define OS_TSK_DEFAULT_STACK_SIZE                       0x1000
56 /* IDLE任务栈的大小 */
57 #define OS_TSK_IDLE_STACK_SIZE                          0x1000
58 /* 任务栈初始化魔术字,默认是0xCA,只支持配置一个字节 */
59 #define OS_TSK_STACK_MAGIC_WORD                         0xCA
60 
61 /* ***************************** 配置CPU占用率及CPU告警模块 **************** */
62 /* CPU占用率模块裁剪开关 */
63 #define OS_INCLUDE_CPUP                                 NO
64 /* 采样时间间隔(单位tick),若其值大于0,则作为采样周期,否则两次调用PRT_CpupNow或PRT_CpupThread间隔作为周期 */
65 #define OS_CPUP_SAMPLE_INTERVAL                         10
66 /* CPU占用率告警动态配置项 */
67 #define OS_CONFIG_CPUP_WARN                             NO
68 /* CPU占用率告警阈值(精度为万分比) */
69 #define OS_CPUP_SHORT_WARN                              8500
70 /* CPU占用率告警恢复阈值(精度为万分比) */
71 #define OS_CPUP_SHORT_RESUME                            7500
72 
73 /* ***************************** 配置内存管理模块 ************************** */
74 /* 用户可以创建的最大分区数,取值范围[0,253] */
75 #define OS_MEM_MAX_PT_NUM                               200
76 /* 私有FSC内存分区起始地址 */
77 #define OS_MEM_FSC_PT_ADDR                              (uintptr_t)&g_memRegion00[0]
78 /* 私有FSC内存分区大小 */
79 #define OS_MEM_FSC_PT_SIZE                              0x80000
80 
81 /* ***************************** 配置信号量管理模块 ************************* */
82 /* 信号量模块裁剪开关 */
83 #define OS_INCLUDE_SEM                                  YES
84 
85 /* 最大支持的信号量数 */
86 #define OS_SEM_MAX_SUPPORT_NUM                          10
87 
88 /* ***************************** 配置队列模块 ******************************* */
89 /* 队列模块裁剪开关 */
90 #define OS_INCLUDE_QUEUE                                YES
91 /* 最大支持的队列数,范围(0,0xFFFF] */
92 #define OS_QUEUE_MAX_SUPPORT_NUM                        10
93 
94 /* ************************* 钩子模块配置 *********************************** */
95 /* 硬中断进入钩子最大支持个数, 范围[0, 255] */
96 #define OS_HOOK_HWI_ENTRY_NUM                           5
97 /* 硬中断退出钩子最大支持个数, 范围[0, 255] */
98 #define OS_HOOK_HWI_EXIT_NUM                            5
99 /* 任务切换钩子最大支持个数, 范围[0, 255] */
100 #define OS_HOOK_TSK_SWITCH_NUM                          8
101 /* IDLE钩子最大支持个数, 范围[0, 255] */
102 #define OS_HOOK_IDLE_NUM                                4
103 
104 /* ************************* GIC模块配置 *********************************** */
105 /* GIC地址可配置开关 */
106 #define OS_INCLUDE_GIC_BASE_ADDR_CONFIG                 YES
107 /* GIC基地址配置 */
108 #define OS_GIC_BASE_ADDR                                0x24000000U
109 /* GICR相对于GIC基地址偏移量配置 */
110 #define OS_GICR_OFFSET                                  0x40000U
111 /* GICR核间偏移量配置 */
112 #define OS_GICR_STRIDE                                  0x20000U
113 
114 extern U8 g_memRegion00[];
115 
116 #ifdef __cplusplus
117 #if __cplusplus
118 }
119 #endif /* __cpluscplus */
120 #endif /* __cpluscplus */
121 
122 #endif /* PRT_CONFIG_H */
123