E D R , A S I H C RSS

LIB_4

손이 고생을 많이 ν•΄μ„œ 그렇지 μ†ŒμŠ€λŠ” λ³„λ‘œ λ§Žμ§€ μ•Šλ‹€..λ‹€λ§Œ λ‹€ μ†μœΌλ‘œ 치라ꡬ ν•˜λ‹ˆ νž˜λ“€μ—ˆμ„ 뿐

μ—¬ν•˜νŠΌ κ·Έλž˜μ„œ μ£Όμš”λΆ€λΆ„μ˜ μ†ŒμŠ€λŠ” λ‹€ λ³΄μ—¬μ€ κ²ƒ κ°™λ‹€.
사싀 U_C_OS 도 주석과 μ“°μž˜λŒ€κΈ° μ—†λŠ” μ½”λ“œκ°€ μ€ λ§Žλ‹€.
그리고 μ„Έλ§ˆν¬μ–΄μ™€ μ΄λ²€νŠΈμ— κ΄€ν•œ μ½”λ“œλŠ” λŒ€λΆ€λΆ„ λΉ„μŠ€λ€λ ˆ ν•˜λ‹€...μ΄μœ λŠ” 거의 λ™κΈ°ν™”ν•˜λŠ” 방법이
λΉ„μŠ·ν•˜κ²Œ λ•Œλ¬Έμ΄λ‹€. κ·Έλž˜μ„œ μ€‘μš”μ½”λ“œλΌ λ³΄λ©΄ κ·Έλ ‡κ²Œ λ§Žμ§€ μ•Šλ‹€..κ±°κΈ°λ‹€ U_C_OS-Iμ—μ„œ U_C_OS_II둜 κ°€λŠ” λ„μ€‘μ˜
ν˜Έν™˜μ„± λ•Œλ¬Έμ— λ§Žμ€ 주석이 더 ν•„μš”ν–ˆμ‘Œλ‹€...μ•”νŠΌ κ·Έλž˜μ„œ..λ‚΄ μ½”λ“œλŠ” 짧닀....
~cpp 
#if !defined(LIB_STACK_CPP)
#define LIB_STACK_CPP
void LIB_STACK_INIT (void (*task)(void),INT16U * Stack)
{
	*Stack-- = 0x0000;
	*Stack-- = (INT16U)FP_SEG(task);
	*Stack-- = (INT16U)FP_OFF(task);
	*Stack-- = (INT16U)0x0202; // Flag Register
	*Stack-- = (INT16U)FP_SEG(task);
	*Stack-- = (INT16U)FP_OFF(task);
	*Stack-- = (INT16U)0xAAAA;// AX
	*Stack-- = (INT16U)0xBBBB;// BX
	*Stack-- = (INT16U)0xCCCC;// CX
	*Stack-- = (INT16U)0xDDDD;// DX
	*Stack-- = (INT16U)0xEEEE;// ES
	*Stack-- = _DS;
	*Stack-- = (INT16U)0x0000;// SI
	*Stack-- = (INT16U)0x0000;// DI
	*Stack-- = (INT16U)0xFFFF;// BP
}

μŠ€νƒ μ‚¬μ΄μ¦ˆ κ΅¬ν•˜λŠ” λΆ€λΆ„
~cpp 
INT16U LIB_STACK_SIZE (INT16U *Stack)
{
	int size = 0;
	for (int i = 0 ; i<256 ; i ++){
		if ( (*Stack--) != 0 ) size++;
	}
	return size;
}
#endif

λ‹€μŒμ€ TCB ꡬ쑰체 λͺ¨μ–‘이닀....
TCBλŠ” TASK CONTROL BLOCK의 μ•½μž.. ν•œλ§ˆλ””λ‘œ νƒœμŠ€ν¬μ— λŒ€ν•œ μ •λ³΄λΌ λ‹΄κ³  μžˆλŠ” ꡬ쑰체
~cpp 
#if !defined(LIB_STRU)
#define LIB_STRU

#include "LIB_DATA.H"
struct LIB_TCB {
	// Task Priority
	INT8U *Task_Name;
	INT8U priority;

	// Task Stack
	INT16U StackSeg;
	INT16U StackOff;
	INT16U *Stack;

	// Task Delay
	int  delay;

	// Task Status
	INT8U     Task_Status;
	// Event Ptr;
	LIB_TCB *NextEvent;
};
μ΄λ²€νŠΈμ— κ΄€ν•œ λΈ”λŸ­
~cpp 
struct LIB_ECB {
	void	*Event_Ptr;
	LIB_TCB *Wait_TCB;

	INT8U	Event_Type;
	INT16U	Sema_Count;
};
#endif
---
REAL_LIBOS
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:37
Processing time 0.0098 sec