RTOS 3
- ECB
(추천) Qt QML과 C++로 시작하는 크로스플랫폼 앱 개발 강의 - 입문편
- ECB
: Event Control Block
: 세마포어, 메일박스 등
: 태스크가 다른 태스크나 ISR의 시그널 전달을 대기하는 경우
: 여러 태스크나 ISR이 신호 전달하는 경우
: 세마포어처럼 사용하는 경우
- ECB struct OS_EVENT
: OSEventType: 이벤트 타입
: OSEventGrp: Wait list의 그룹 관리 비트
: OSEventCnt: 카운팅 세마포어 사용할때 사용되는 카운트
: *OSEventPtr: 메일박스나 큐를 사용할때 사용되는 메시지나 큐의 포인터
: OSEventTbl[]: 이벤트에 대한 Wait list
- Wait list
: TCB에서 우선순위 비트X,Y를 계산하는 방식과 동일하게 Grp 비트에 해당하는 Tbl의 해당 비트로 접근하는 방식으로 관리
- 함수
: OS_EventTaskRdy(): 태스크를 Ready 상태로 전환함 (태스크를 Event Wait list에서 제거하고 Ready list에 추가하는 과정)
: OSEventTaskWait(): 태스크를 Wait 상태로 전환함 (태스크를 Ready list에서 제거하고 Wait list에 추가하는 과정)
: OSEventTO(): 태스크를 Ready 상태로 전환함
(
- ECB
: Event Control Block
: Semaphore, Mailbox, etc.
: When a task is waiting for signal delivery from another task or ISR
: When multiple tasks or ISRs pass a signal
: When used like a semaphore
- ECB struct OS_EVENT
: OSEventType: event type
: OSEventGrp: Group management bit of Wait list
: OSEventCnt: Count used when using counting semaphore
: *OSEventPtr: A pointer to a message or queue used when using a mailbox or queue.
: OSEventTbl[]: Wait list for event
- Wait list
: In the same way as the method of calculating the priority bits X and Y in TCB, it is managed by accessing the corresponding bit of Tbl corresponding to the Grp bit.
- function
: OS_EventTaskRdy(): Transitions the task to the Ready state (the process of removing a task from the Event Wait list and adding it to the Ready list)
: OSEventTaskWait(): Transitions the task to the Wait state (the process of removing a task from the Ready list and adding it to the Wait list)
: OSEventTO(): put task into Ready state
)
본 게시글은 개인 공부용으로 작성하여 내용의 퀄리티가 부족할 수 있습니다.
(추천) Qt QML과 C++로 시작하는 크로스플랫폼 앱 개발 강의 - 입문편