⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sysconst.inc

📁 Utils and test SD card read write cycles
💻 INC
字号:
;============================================================================;
;  Project    : Hyperstone Realtime Kernel HYRTK			     ;
;									     ;
;  Module     : SYSCONST.INC						     ;
;									     ;
;  Description: This module contains the global constants		     ;
;									     ;
;  Copyright  : hyperstone electronics GmbH				     ;
;		Am Seerhein 8						     ;
;		D-78467 Konstanz, Germany				     ;
;									     ;
;  Date       : October 10, 1996					     ;
;============================================================================;

;----------------------------------------------------------------------------;
;  Status-Register Flags						     ;
;----------------------------------------------------------------------------;

CFLAG			EQU   1 	    ; Carry-Flag
ZFLAG			EQU   1 <<  1	    ; Zero-Flag
NFLAG			EQU   1 <<  2	    ; Negative-Flag
VFLAG			EQU   1 <<  3	    ; Overflow-Flag
MFLAG			EQU   1 <<  4	    ; Cache-Mode-Flag
HFLAG			EQU   1 <<  5	    ; High-Global-Flag
LFLAG			EQU   1 << 15	    ; Interrupt-Lock-Flag
TFLAG			EQU   1 << 16	    ; Trace-Mode-Flag
PFLAG			EQU   1 << 17	    ; Trace-Pending-Flag
SFLAG			EQU   1 << 18	    ; Supervisor-State-Flag
TaskLevelFlag		EQU   1 <<  7	    ; 0=SLT, 1=ILT

;----------------------------------------------------------------------------;
; Kernel-Flags (global register G2)					     ;
;----------------------------------------------------------------------------;

BFLAG			EQU   1 <<  5	    ; Indicates BP re-insert undone
KFLAG			EQU   1 <<  6	    ; Return frame is Kernel frame
IFLAG			EQU   1 <<  7	    ; Return frame is TimeInsert frame
FirstUndoneFlag 	EQU   1 << 13	    ; Indicates first element in
					    ; UndoneList changed during
					    ; TimeInsert
TPFLAG			EQU   1 << 14	    ; Indicates that current task is
					    ; already pushed onto stack

;----------------------------------------------------------------------------;
; FCR-Bits                         					     ;
;----------------------------------------------------------------------------;

TimerEnableBit		EQU   1 << 23       ; Enables Timer-Interrupt

;----------------------------------------------------------------------------;
; System-Traps								     ;
;----------------------------------------------------------------------------;

ResetTrap		EQU  62
DataPageFaultTrap	EQU  61
RangeErrorTrap		EQU  60
TraceExceptionTrap	EQU  57
InstructPageFaultTrap	EQU  56
PassiveBreakPointTrap	EQU  16

LowestUserTrap		EQU  17
HighestUserTrap 	EQU  22

;----------------------------------------------------------------------------;
; Maximum Index for indirect Trap-Calls 				     ;
;----------------------------------------------------------------------------;

MAXFUNCTIONINDEX	EQU 212

;----------------------------------------------------------------------------;
; Stack-Reserve 							     ;
;----------------------------------------------------------------------------;

STACKRESERVETOP 	EQU 100 * 4
STACKRESERVEBOTTOM	EQU   8 * 4
STACKRESERVE		EQU STACKRESERVETOP + STACKRESERVEBOTTOM

UBRESERVE		EQU  64 * 4
STACKADDON		EQU  32 * 4

;----------------------------------------------------------------------------;
; Values for "GlobalFlags"                                                   ;
;----------------------------------------------------------------------------;

ALLTASKSSTOPPED 	EQU  1

;----------------------------------------------------------------------------;
; Task States								     ;
;----------------------------------------------------------------------------;

TERMINATED		EQU  1
DELAYED 		EQU  2
WAITING 		EQU  3
SCHEDULED		EQU  4

;----------------------------------------------------------------------------;
; Task Debug States							     ;
;----------------------------------------------------------------------------;

RUNNING 		EQU  0
STOPPED 		EQU  1

;----------------------------------------------------------------------------;
; Wait-Flag Values							     ;
;----------------------------------------------------------------------------;

NOTIMEOUT		EQU  0
TIMEOUT 		EQU  1
UNLINKED		EQU  2

;----------------------------------------------------------------------------;
; SysTask-Priority  and Stack-Size					     ;
;----------------------------------------------------------------------------;

SYSTASKPRIORITY 	EQU  0
SYSTASKSTACKSIZE	EQU  256

;----------------------------------------------------------------------------;
; Message-CommandCodes (PC -> HyperStone)				     ;
;----------------------------------------------------------------------------;

MAXCOMMANDS		EQU   28

GETBAUDRATE		EQU    1
SETBAUDRATE		EQU    2
WRITEMEMORY		EQU    3
WRITEREGISTER		EQU    4
WRITEIO 		EQU    5
WRITEZEROS		EQU    6
READMEMORY		EQU    7
READREGISTER		EQU    8
READIO			EQU    9
READTCBS		EQU   10
STARTSYSTEM		EQU   11
STARTUSER		EQU   12
RUNTASK 		EQU   13
STOPTASK		EQU   14
STEPINTO		EQU   15
STEPOVER		EQU   16
SKIPWAIT		EQU   17
SETBREAKPOINT		EQU   18
CLEARBREAKPOINT 	EQU   19
SETTIME 		EQU   20
GETTIME 		EQU   21
READBREAKDATA		EQU   22
RUNWITHPROFILER 	EQU   23
LOADUSER		EQU   24
PCREMOTEPROCCALL	EQU   25
RPCTRAILER		EQU   26
RPCWRITEMEMORY          EQU   27
RPCREADMEMORY           EQU   28

;----------------------------------------------------------------------------;
; Message-CommandCodes (HyperStone -> PC)				     ;
;----------------------------------------------------------------------------;

TASKTERMINATED		EQU  129
TASKSTOPPED		EQU  130
EXEERROR		EQU  131
BREAKDATA		EQU  132
REMOTEPROCCALL		EQU  133
PROGEXIT		EQU  134
TASKCREATED		EQU  135
PROFILEDATA		EQU  136
RPCSENDDATA		EQU  137
RPCRECEIVEDATA		EQU  138

;----------------------------------------------------------------------------;
; SysSendFlag and SysReceiveFlag Values 				     ;
;----------------------------------------------------------------------------;

NotActive		EQU  $00
InProgress		EQU  $01
CommandInProgress	EQU  $02
CommandDoneCorrect	EQU  $04
CommandDoneFalse	EQU  $08
ResponseInProgress	EQU  $20
ResponseDoneCorrect	EQU  $40
ResponseDoneFalse	EQU  $80

DoneCorrect		EQU  $02
DoneFalse		EQU  $04

;----------------------------------------------------------------------------;
; SysReadyFlag Values							     ;
;----------------------------------------------------------------------------;

PCNotConnected		EQU  0
PCConnected		EQU  1

;----------------------------------------------------------------------------;
; SysTask-Flags 							     ;
;----------------------------------------------------------------------------;

AwaitingResponse	EQU  1
SendMessagePending	EQU  1 << 1
SendResponsePending	EQU  1 << 2
ProfDataSent		EQU  1 << 3

;----------------------------------------------------------------------------;
; Debug-Flags								     ;
;----------------------------------------------------------------------------;

SingleStepFlag		EQU  1
StepOverFlag		EQU  1 << 1
ActiveBPStopFlag	EQU  1 << 2

;----------------------------------------------------------------------------;
; BreakPointTable (Offsets for each entry)				     ;
;----------------------------------------------------------------------------;

TRAPOPCODE		EQU  $FF03
PASSIVEBREAKPOINT	EQU  TRAPOPCODE | PassiveBreakPointTrap * 4

BPENTRYSIZE		EQU  8

BPAddress		EQU  0		    ; BreakPoint-Address
BPTrapCode		EQU  4		    ; BreakPoint-TrapCode
BPOpCode		EQU  6		    ; Original OpCode

;----------------------------------------------------------------------------;
; Buffer and Table-Sizes (in Bytes)					     ;
;----------------------------------------------------------------------------;

HEADERLENGTH		EQU   12
TRAILINGDATASIZE	EQU  256
COMRESERVE              EQU   32

MAXSYSCOMMANDS		EQU  128
SYSBUFFERSIZE		EQU  MAXSYSCOMMANDS * HEADERLENGTH

RPCBUFFERSIZE		EQU  256

MAXBREAKPOINTS		EQU  256
BREAKPOINTTABLESIZE	EQU  MAXBREAKPOINTS * BPENTRYSIZE

ACTIVEBREAKTABLESIZE	EQU  16 * BPENTRYSIZE

BREAKVARARRAYSIZE	EQU  16 * 4
BREAKVARSIZE		EQU  16 * 4
BREAKCODEBUFFERSIZE	EQU  512

PROFDATASIZESMALL	EQU   4 * 64
PROFDATASIZELARGE	EQU  15 * 64

;----------------------------------------------------------------------------;
; Task Control Block (Offsets)						     ;
;----------------------------------------------------------------------------;

NextTaskPtr	   EQU	 0	  ; Ptr to next TCB (List of all TCBs)
LastTaskPtr	   EQU	 4	  ; Ptr to last TCB (List of all TCBs)
NextTimePtr	   EQU	 8	  ; Ptr to next TCB (timer linked list)
LastTimePtr	   EQU	12	  ; Ptr to last TCB (timer linked list)
EventTime	   EQU	16	  ; Event Time
EventTimeLow	   EQU	20	  ; Event Time (lower word)
TimeEventPtr	   EQU	24	  ; Ptr to program entry at time event
TaskLevel	   EQU	28	  ; 0 = StackLevel, 1 = InterruptLevel
TaskPriority	   EQU	29	  ; Task priority (0 = highest priority)
WaitFlag	   EQU	30	  ; 0 = NOTIMEOUT, 1 = TIMEOUT, 2 = UNLINKED
TaskState	   EQU	31	  ; Task State (only valid for SLTs)
DebugState	   EQU	32	  ; Task Debug State: 0 = RUNNING, 1 = STOPPED
DebugFlags	   EQU	33	  ; Debug Control Flags
OldFP		   EQU	34	  ; Old FramePointer (used for StepOver)
;		   EQU	35	  ; Reserved
MaxTimeUnits	   EQU	36	  ; Maximum slice or watch time units
ErrorNumber	   EQU	40	  ; Indicate Error Number (0 = No Error)
ErrorAddress	   EQU	44	  ; Indicate Error Address
TaskGuardPtr	   EQU	48	  ; Ptr to guard waiting for
OnCreatePtr	   EQU	52	  ; Ptr to program entry on error
OnErrorPtr	   EQU	56	  ; Ptr to program entry on task create
OnResetPtr	   EQU	60	  ; Ptr to program entry on task reset
OnDeletePtr	   EQU	64	  ; Ptr to program entry on task delete
OnWatchPtr	   EQU	68	  ; Ptr to program entry on watchtime exceeded
TaskBPAddress	   EQU	72	  ; Indicates Stopped at addressed breakpoint
;		   EQU	76	  ; Reserved
				  ; -------------- Length (ILT-TCB) = 80 Bytes
NextGuardPtr	   EQU	80	  ; Ptr to next TCB in the guard linked list
LastGuardPtr	   EQU	84	  ; Ptr to last TCB in the guard linked list
Stack1Ptr	   EQU	88	  ; Ptr to beginning of Stack 1 (Hardware)
Stack1Size	   EQU	92	  ; Maximum byte size of Stack 1
Stack2Ptr	   EQU	96	  ; Ptr to beginning of Stack 2 (Aggregate)
Stack2Size	   EQU 100	  ; Maximum byte size of Stack 2
OldSP		   EQU 104	  ; Saved SP  of task
OldUB		   EQU 108	  ; Saved UB  of task
OldPC		   EQU 112	  ; Saved PC  of task
OldSR		   EQU 116	  ; Saved SR  of task
OldG2		   EQU 120	  ; Saved G2  of task
OldG3		   EQU 124	  ; Saved G3  of task
OldG4		   EQU 128	  ; Saved G4  of task
OldG5		   EQU 132	  ; Saved G5  of task
;		   EQU 136	  ; Saved G8  of task (Reserve)
;		   EQU 140	  ; Saved G9  of task (Reserve)
OldG10		   EQU 144	  ; Saved G10 of task
OldG11		   EQU 148	  ; Saved G11 of task
OldG12		   EQU 152	  ; Saved G12 of task
OldG13		   EQU 156	  ; Saved G13 of task
OldG14		   EQU 160	  ; Saved G14 of task
OldG15		   EQU 164	  ; Saved G15 of task
Errno		   EQU 168	  ; ErrorNo for C environment
SigFuncPtr	   EQU 172	  ; SigFuncPtr for C environment
FPEModResult	   EQU 176	  ; FPE: ModResult  (High)
;		   EQU 180	  ; FPE: ModResult  (Low)
FPESrcOperand	   EQU 184	  ; FPE: SrcOperand (High)
;		   EQU 188	  ; FPE: SrcOperand (Low)
FPEDestPointer	   EQU 192	  ; FPE: DestPointer
FPEErrorNumber	   EQU 196	  ; FPE: ErrorNumber
				  ; ------------- Length (SLT-TCB) = 200 Bytes



;----------------------------------------------------------------------------;
; Guard (Offsets)							     ;
;----------------------------------------------------------------------------;

GuardState	   EQU	 0
GuardUsePtr	   EQU	 4
GuardFirst	   EQU	 8
GuardLast	   EQU	12


;----------------------------------------------------------------------------;
; Message Descriptor (Offsets)						     ;
;----------------------------------------------------------------------------;

MessageNextPtr	   EQU	 0
MessageLastPtr	   EQU	 4
MessageReceivePtr  EQU	 8
MessageSendPtr	   EQU	12

SOFTRESET          EQU      0   ; Settings of G9
HARDRESET          EQU      1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -