본문/내용
동적으로 실행 중인 태스크의 우선순위를 변경
- INT8U OSTaskChangePrio(INT8U oldprio,
INT8U newprio);
oldprio/newprio: 이전/새로운 우선순위
- OSTaskChangePrio() 실행 과정
1.변경될 우선순위가 가용한지 확인
가용하면 변경될 우선순위를 미리 점유
2.변경될 태스크가 존재하는지 확인
존재하면 이전 우선순위를 반납
3.실행 준비 상태 태스크의 우선 순위를 변경할 경우
준비 리스트와 이벤트(세마포어 등) 대기 리스트에서 해당 태스크를 삭제 후 새로운 우선 순위로 다시 삽입
4.OSTCBPrioTbl[]에 태스크의 OS_TCB 포인터를 저장하고 스케줄러를 호출