FreeCalypso > hg > freecalypso-sw
annotate gsm-fw/nucleus/sm_defs.h @ 410:81d387690063
Intel flash: clear SR before programming
| author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> | 
|---|---|
| date | Tue, 17 Jun 2014 03:40:49 +0000 | 
| parents | afceeeb2cba1 | 
| children | 
| rev | line source | 
|---|---|
| 79 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1 /*************************************************************************/ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 2 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 3 /* Copyright Mentor Graphics Corporation 2002 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 4 /* All Rights Reserved. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 5 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 6 /* THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION WHICH IS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 7 /* THE PROPERTY OF MENTOR GRAPHICS CORPORATION OR ITS LICENSORS AND IS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 8 /* SUBJECT TO LICENSE TERMS. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 9 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 10 /*************************************************************************/ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 11 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 12 /*************************************************************************/ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 13 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 14 /* FILE NAME VERSION */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 15 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 16 /* sm_defs.h Nucleus PLUS 1.14 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 17 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 18 /* COMPONENT */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 19 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 20 /* SM - Semaphore Management */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 21 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 22 /* DESCRIPTION */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 23 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 24 /* This file contains data structure definitions and constants for */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 25 /* the Semaphore component. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 26 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 27 /* DATA STRUCTURES */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 28 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 29 /* SM_SCB Semaphore control block */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 30 /* SM_SUSPEND Semaphore suspension block */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 31 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 32 /* FUNCTIONS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 33 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 34 /* None */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 35 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 36 /* DEPENDENCIES */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 37 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 38 /* cs_defs.h Common service definitions */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 39 /* tc_defs.h Thread Control definitions */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 40 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 41 /* HISTORY */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 42 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 43 /* DATE REMARKS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 44 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 45 /* 03-01-1993 Created initial version 1.0 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 46 /* 04-19-1993 Verified version 1.0 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 47 /* 03-01-1994 Moved include files outside of */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 48 /* the file #ifndef to allow the */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 49 /* use of actual data structures, */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 50 /* removed protection structure, */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 51 /* put padding into structure, */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 52 /* resulting in version 1.1 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 53 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 54 /* 03-18-1994 Verified version 1.1 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 55 /* 04-17-1996 updated to version 1.2 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 56 /* 03-24-1998 Released version 1.3 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 57 /* 03-26-1999 Released 1.11m (new release */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 58 /* numbering scheme) */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 59 /* 04-17-2002 Released version 1.13m */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 60 /* 11-07-2002 Released version 1.14 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 61 /*************************************************************************/ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 62 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 63 #include "cs_defs.h" /* Common service constants */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 64 #include "tc_defs.h" /* Thread control constants */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 65 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 66 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 67 /* Check to see if the file has been included already. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 68 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 69 #ifndef SM_DEFS | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 70 #define SM_DEFS | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 71 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 72 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 73 /* Define constants local to this component. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 74 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 75 #define SM_SEMAPHORE_ID 0x53454d41UL | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 76 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 77 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 78 /* Define the Semaphore Control Block data type. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 79 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 80 typedef struct SM_SCB_STRUCT | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 81 { | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 82 CS_NODE sm_created; /* Node for linking to */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 83 /* created semaphore list */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 84 UNSIGNED sm_id; /* Internal SCB ID */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 85 CHAR sm_name[NU_MAX_NAME]; /* Semaphore name */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 86 UNSIGNED sm_semaphore_count; /* Counting semaphore */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 87 BOOLEAN sm_fifo_suspend; /* Suspension type flag */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 88 #if PAD_1 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 89 DATA_ELEMENT sm_padding[PAD_1]; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 90 #endif | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 91 UNSIGNED sm_tasks_waiting; /* Number of waiting tasks*/ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 92 struct SM_SUSPEND_STRUCT | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 93 *sm_suspension_list; /* Suspension list */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 94 } SM_SCB; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 95 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 96 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 97 /* Define the semaphore suspension structure. This structure is allocated | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 98 off of the caller's stack. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 99 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 100 typedef struct SM_SUSPEND_STRUCT | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 101 { | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 102 CS_NODE sm_suspend_link; /* Link to suspend blocks */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 103 SM_SCB *sm_semaphore; /* Pointer to semaphore */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 104 TC_TCB *sm_suspended_task; /* Task suspended */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 105 STATUS sm_return_status; /* Return status */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 106 } SM_SUSPEND; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 107 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 108 #endif | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 109 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 110 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 111 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 112 | 
