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