lck.h62

来自「SEED的VPM642测试程序-板级支持库」· H62 代码 · 共 121 行

H62
121
字号
;
;  Copyright 2003 by Texas Instruments Incorporated.
;  All rights reserved. Property of Texas Instruments Incorporated.
;  Restricted rights to use, duplicate or disclose this code are
;  granted through contract.
;  
;
; "@(#) DSP/BIOS 4.90.270 12-18-03 (barracuda-o04)"
;
;  ======== lck.h62 ========
;
;

	.if ($isdefed("LCK_") = 0)  ; prevent multiple includes of this file
LCK_	.set	1

	.include std.h62
	.include sem.h62

	.eval	SEM_CORESIZE+2, LCK_OBJSIZE

;
;# ======== LCK_config ========
;  Static configuration of the LCK module
;
;#
;# Preconditions:
;#      none
;#
;# Postconditions:
;#      none
;#
;
	.asg    "", LCK_config$regs
LCK_config	.macro
	.endm

;
;# ======== LCK_Obj ========
;
;#
;# Preconditions:
;#      none
;#
;# Postconditions:
;#      none
;#
;

	.asg    "", LCK_Obj$regs
LCK_Obj	.macro cflag, name, id

:name:	.usect ".lck", LCK_OBJSIZE * STD_TARGWORDMAUS, STD_TARGWORDMAUS

	.sect	".cinit"
	.align	STD_TARGALIGN
	.word	LCK_OBJSIZE * STD_TARGWORDMAUS
	.word	:name:
	SEM_core :name:, 1			; lock->sem, STS object is null
	.word	0				; lock->value
	.word	0				; lock->owner

	.endm

;
;# ======== LCK_init ========
;  Runtime initialization of the LCK module
;
;#
;# Preconditions: 
;#	none
;#
;# Postconditions:
;#	none
;#
;
	.asg    "", LCK_init$regs
LCK_init	.macro

	; only expand if the LCK module is configured
	.if (LCK$ = 1)
	.endif

	.endm

;
;# ======== LCK_startup ========
;
;#
;# Preconditions:
;#      none
;#
;# Postconditions:
;#      none
;#
	.asg    "", LCK_startup$regs
LCK_startup        .macro

	.if	LCK$NUMOF != 0
	.endif
	.endm

;
;# ======== LCK_end ========
;  Invoked at the end of all other configuration
;  declarations.
;
;#
;# Preconditions:
;#      none
;#
;# Postconditions:
;#      none
;#
;
        .asg    "", LCK_end$regs
LCK_end .macro
        .endm

	.endif		; if LCK_ is not defined

⌨️ 快捷键说明

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