📄 sys_conf.h
字号:
/*---------------------------------------------------------------------*//* pSOS+ configuration parameters *//*---------------------------------------------------------------------*/#define KC_RN0USIZE 0x100 /* region 0 unit size */#define KC_NTASK 12 /* max number of tasks */#define KC_NQUEUE 10 /* max number of message queues */#define KC_NSEMA4 30 /* max number of semaphores */#define KC_NTIMER 10 /* max number of timers */#define KC_NMUTEX 10 /* Max number of mutexes */#define KC_NCVAR 5 /* Max number of condition variables */#define KC_NTVAR 5 /* Max number of task variables */#define KC_NCOCB 5 /* Max number of callouts */#define KC_NTSD 5 /* Max # of Task Specific Data entries */#define KC_NLOCOBJ 50 /* max number of local objects */#define KC_NMSGBUF 256 /* max number of message buffers */#define KC_NSIGACT 5 /* max number of SIGACT structures */#define KC_TICKS2SEC 100 /* clock tick interrupt frequency */#define KC_TICKS2SLICE 10 /* time slice quantum, in ticks */#define KC_MAXDNTENT 10 /* max number of device names in DNT */#define KC_DNLEN 10 /* max length of a device name in DNT */#define KC_SYSSTK 0x0C00 /* pSOS+ system stack size (bytes) */#define KC_ROOTSSTK 0x0800 /* ROOT supervisor stack size */#define KC_IDLESTK 0x0400 /* IDLE stack size */#define KC_ROOTUSTK 0 /* ROOT user stack size */#define KC_ROOTMODE (T_SUPV | T_ISR) /* ROOT initial mode */#define KC_ROOTPRI 230 /* ROOT task priority */#define KC_NIO (SC_DEVMAX+1) /* # of devices in initial iojtab */#define KC_MAXIO (SC_DEVMAX+1) /* Max # of devices in the system */#define KC_STK_UNDERFLOW NO /* Stack underflow detection be enabled*/#define KC_STK_OVERFLOW YES /* Stack overflow detection be enabled */#define KC_GUARD_PAGES 1 /* Guard size (in pagesize) for stack */ /* underflow and overflow detection */#define KC_NDYNOBJ 0 /* Number of dynamic objects *//*---------------------------------------------------------------------*//* User and Supervisor stack lengths that are used by the MMU library *//* to create page table entries for the stack region in the virtual *//* space. *//*---------------------------------------------------------------------*/#define KC_USTKMAPLEN 0x100000#define KC_SSTKMAPLEN 0x100000/*---------------------------------------------------------------------*//* Default stack sizes to use if t_create values are 0. *//*---------------------------------------------------------------------*/#define KC_DFTSSTK 8096 /* Default supervisor-mode stack size */#define KC_DFTUSTK 8096 /* Default user-mode stack size *//*---------------------------------------------------------------------*//* The following are examples for modifying the following defines *//* *//* To configure a user written routine as a fatal error handler, you *//* need to do the following: *//* *//* extern void MyHandler (void); *//* #define KC_FATAL ((void (*)()) MyHandler) *//* *//* except KC_RMONCO which should be of type: *//* ULONG (*)(ULONG, ULONG, ULONG, void *, ULONG, struct hrt_count *) *//* *//* You should add the partial structure definition: *//* struct hrt_count; *//* to prevent compiler warnings, unless you include hrtimer.h. *//*---------------------------------------------------------------------*/#define KC_STARTCO 0 /* callout at task activation */#define KC_DELETECO 0 /* callout at task deletion */#define KC_SWITCHCO 0 /* callout at task switch */#define KC_FATAL 0 /* fatal error handler address */#define KC_IDLECO 0 /* Idle Task Callout */#define KC_RMONCO 0 /* Resource Monitoring Callout *//*---------------------------------------------------------------------*//* Example KC_SYSERRCO definition: *//* extern void MyCallout(void *TCB, ULONG Tid, ULONG Error, *//* ULONG ErrorAddr) *//* #define KC_SYSERRCO (MyCallout) *//*---------------------------------------------------------------------*/#define KC_SYSERRCO 0 /* System call error callout address *//*---------------------------------------------------------------------*//* Example KC_SIGDFTACO definition: *//* extern void MyCallout(ULONG sig) *//* #define KC_SIGDFTACO (MyCallout) *//*---------------------------------------------------------------------*/#define KC_SIGDFTACO 0 /* POSIX signal default action callout *//*---------------------------------------------------------------------*//* pROBE+ configuration parameters *//* *//* NOTE: The SMODE_MASK bit in TD_FLAGS is set as *//* SC_SD_DEBUG_MODE = DBG_AP. *//*---------------------------------------------------------------------*/#define TD_ILEV (MAX_ILEV << 12) /* pROBE+ interrupt mask */#define TD_FLAGS (STK_USAGE_MASK | STK_CHECK_MASK | NODOTS_MASK | TD_ILEV | NOTUPD_MASK) /* flags *//*---------------------------------------------------------------------*//* The variable defined below should be set to the Starting address *//* for pROBE+ DATA AREA. This is required by all the smaller boards. *//* NOTE: *//* Setting of this value should be a variable which is a array *//* of characters with atleast 0x4400 bytes free space. *//*---------------------------------------------------------------------*/#define TD_DATASTART 0x0/*---------------------------------------------------------------------*//* Example for how to modify TD_URCOM_HANDLER to add user-written *//* handler to handle the user-defined commands from pROBE+ console: *//* *//* extern long probe_user_cmd_handler(UCHAR *); *//* #define TD_URCOM_HANDLER probe_user_cmd_handler *//*---------------------------------------------------------------------*/#define TD_URCOM_HANDLER 0 /* user-defined cammand handler. *//*---------------------------------------------------------------------*//* pHILE+ configuration parameters *//*---------------------------------------------------------------------*/#define FC_LOGBSIZE 9 /* Block size (base-2 exponent) */#define FC_NBUF 6 /* Number of cache buffers */#define FC_NMOUNT 3 /* Max # of mounted volumes */#define FC_NFCB 10 /* Max # of opened files per system */#define FC_NCFILE 2 /* Max # of opened files per task */#define FC_NDNLC 0 /* Max # of cached directory entries *//*---------------------------------------------------------------------*//* pHILE+ DATA AREA definitions. *//*---------------------------------------------------------------------*/#define FC_DATA 0 /* pHILE+ Data Area Starting Address */#define FC_DATASIZE 0 /* pHILE+ Data Area Size *//*---------------------------------------------------------------------*//* Set the FC_ERRCO define to install the callout handler for I/O *//* errors. The callout handler provided in FC_ERRCO will be called if *//* there is an error during an I/O operation on the Volume. *//* *//* To install the error callout handler: Follow the syntax below *//* *//* #include <phile.h> *//* extern user_fcerrco(int, ULONG, const struct buffer_header *) *//* #define FC_ERRCO user_fcerrco *//* *//*---------------------------------------------------------------------*/#define FC_ERRCO 0 /* I/O error call-out *//*---------------------------------------------------------------------*//* pLM+ configuration parameters *//*---------------------------------------------------------------------*/#define LM_MAXREG 8 /* Max # of registered libraries */#define LM_DATA 0 /* pLM+ data area */#define LM_DATASIZE 0 /* pLM+ data area size *//*---------------------------------------------------------------------*//* Set LM_DEFAULT_COUTS to YES if you need to use the pSOSystem Default*//* pLM Callouts. Set it to NO if you are providing the callouts. *//* *//* Setting LM_DEFAULT_COUTS to NO needs "LM_LOADCO" and "LM_UNLOADCO" *//* definitions to be valid address (Function address). *//*---------------------------------------------------------------------*/#define LM_DEFAULT_COUTS YES/*---------------------------------------------------------------------*//* *//* The following callouts needs to be defined by user, If users wants *//* their callouts to be used instead of pSOSystem default Callouts. *//* *//* If we are using pSOSystem default callouts, Users needs to add their*//* callouts to the pSOSystem callouts table using PssRegister_pLM_couts*//* and remove using PssDeregister_pLM_couts. *//* *//* To have user callouts follow the syntax below: *//* *//* #include <plm.h> *//* extern ULONG user_load_co(const char *libname, ULONG scope, *//* ULONG version, const void *libinfo, *//* sl_attrib *attr); *//* extern ULONG user_unload_co(const sl_attrib *attr); *//* *//* #define LM_LOADCO user_load_co *//* #define LM_UNLOADCO user_unload_co *//* *//*---------------------------------------------------------------------*/#define LM_LOADCO 0#define LM_UNLOADCO 0/*---------------------------------------------------------------------*//* Target Agent Manager (TAM) configuration parameters *//*---------------------------------------------------------------------*/#define TAM_MAX_AGENTS 6 /* Specify number of target agents */#define TAM_MAX_BUFFS 10 /* Specify number of buffers. */#define TAM_MAX_HDRS 50 /* Specify number of Tx. Headers. */#define TAM_NON_OS NO /* Is TAM running for Non-OS platform */#define TAM_MIN_TIMEOUT 0 /* Minimum timeout used in TAM before */ /* Re-trying the packet in System mode*/#define TAM_IN_TASK_PRI 255 /* TAM Input Task priority. */#define TAM_OUT_TASK_PRI 255 /* TAM Output Task priority. *//*---------------------------------------------------------------------*//* Is there a User Configurable Escape Sequence Characters *//* This value should be multiple of 2. *//*---------------------------------------------------------------------*/#define TAM_NESC_CHARS 0 /* Number of escape Chars. *//*---------------------------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -