www.pudn.com > r&s1.10°æ±¾£«Îĵµ.rar > config.h


/* 
=============================================================================== 
| Copyright (C) 2004 RuanHaiShen, All rights reserved. 
| SUMMARY:  
|   R&S Real-Time Kernel configuration file. 
| 
| DESCRIPTION: 
|   See http://www.01s.org for documentation, latest information, license  
|   and contact details. 
|   email:ruanhaishen@01s.org 
=============================================================================*/ 
#ifndef __CONFIG_H__ 
#define __CONFIG_H__ 
/*===========================================================================*/ 
 
                                /*========= configure task ==================*/ 
#define CFG_MAX_TASKS     128   /* maximum number of tasks must be < 255     */ 
 
#define CFG_PRIO_MODE       2   /* 0 -simple priority mode                   */ 
                                /* 1 -simple priority mode (support task pri-*/ 
                                /*    ority change)                          */ 
                                /* 2 -complex task priority mode (support ta-*/ 
                                /*    sk priority change and mutex etc)      */ 
 
#define CFG_TASK_DEL_EN     1   /* 0 -disable delete task                    */ 
                                /* 1 -enable delete task                     */ 
                                 
#define CFG_TASK_SUS_EN     1   /* 0 -disable task suspend and resume        */ 
                                /* 1 -enable task suspend and resume         */ 
                                 
#define CFG_TASK_NAMESZ     0   /* maximum size of tasks name,               */ 
                                /* OR 0 -disable task name description       */ 
 
#define CFG_IDLE_STACKSZ  128   /* stack size for idle task                  */ 
 
#define CFG_TASK_INFO_EN    1   /* 0 -disable status tasks                   */ 
                                /* 1 -enable status tasks                    */ 
 
#define CFG_INFO_STACKSZ  256   /* stack size for info task                  */ 
 
                                /*========= configure ticks =================*/ 
#define CFG_TICK_COUNT_EN   1   /* 0 -disable tick counting                  */ 
                                /* 1 -enable tick counting                   */ 
 
                                /*========= configure IPC common ============*/ 
#define CFG_IPC_TIMEOUT_EN  1   /* 0 -disable IPC timeout                    */ 
                                /* 1 -enable IPC timeout                     */ 
 
                                /*========= configure binary semaphores =====*/ 
#define CFG_SEMB_EN         1   /* 0 -disable binary semaphores              */ 
                                /* 1 -enable binary semaphores               */ 
 
                                /*========= configure counting semaphores ===*/ 
#define CFG_SEM_EN          1   /* 0 -disable semaphores                     */ 
                                /* 1 -enable semaphores (normal mode -16bit  */ 
                                /*    counter max. 65535)                    */ 
                                /* 2 -enable semaphores (tiny mode -8bit cou-*/ 
                                /*    nter max. 255)                         */ 
 
                                /*========= configure mutex =================*/ 
#define CFG_MUTEX_EN        1   /* 0 -disable mutex                          */ 
                                /* 1 -enable mutex (inheritable mode)        */ 
                                /* 2 -enable mutex (ceiling mode)            */ 
                                /* NOTE:enable mutex requires CFG_PRIO_MODE  */ 
                                /* >= 2                                      */ 
 
                                /*========= configure mailbox ===============*/ 
#define CFG_MBOX_EN         1   /* 0 -disable mailbox                        */ 
                                /* 1 -enable mailbox                         */ 
 
                                /*========= configure message queue =========*/ 
#define CFG_MSGQ_EN         1   /* 0 -disable message queue                  */ 
                                /* 1 -enable message queue                   */ 
                                /* NOTE:enable message queue requires CFG_MM-*/ 
                                /* _EN >= 1                                  */ 
                                 
                                /*========= configure memory management =====*/ 
#define CFG_MM_EN           1   /* 0 -disable message management             */ 
                                /* 1 -enable message management              */ 
 
#define CFG_MM_SIZE    0x3A00   /* defines the size of memory management can */ 
                                /* use, OR you can also define start address */ 
                                /* like:#define CFG_MM_START_ADDR 0x1122AABB */ 
 
#define CFG_MM_BLOCKS \ 
                {    8,  64 }, \ 
                {   16,  64 }, \ 
                {   32,  64 }, \ 
                {   64,  16 }, \ 
                {  128,   8 }, \ 
                {  256,   4 }, \ 
                {  512,   4 }, \ 
                { 1024,   2 }, \ 
                { 4096,   1 }   /* defines the blocks and block's size       */ 
                                /* { block_size (bytes), blocks }            */ 
                                /* the CFG_MM_SIZE must be equal to the total*/  
                                /* blocks sizes                              */  
                                /* block_size and blocks must be > 0         */ 
                                /* the number of different block_size must be*/ 
                                /* less than 256(max. 255)                   */ 
 
                                /*========= configure miscellaneous =========*/ 
#define CFG_ARG_CHK         2   /* 0 -disable argument checking              */ 
                                /* 1 -normal argument checking               */ 
                                /* 2 -full argument checking                 */ 
 
#define CFG_DEBUG           1   /* 0 -disable kernel debug                   */ 
                                /* 1 -enable kernel debug mode               */ 
#define CFG_DUMP_BUFSZ    256   /* maximum size of dump info buf (chars)     */ 
                                /* OR 0 -disable dump info support           */ 
 
 
/*===========================================================================*/ 
#endif