STUDY/RTOS2 [실시간 시스템] 시간(Time) 관리 함수 ※ 모든 정보는 uC/OS ii 2nd Edition을 기준으로 함. 1. OSTimeDly() - 사용자가 정한 시간만큼 태스크를 지연시키는 함수. - 호출 시 문맥 교환 발생(단, 가장 높은 우선순위의 태스크일 경우). - 정한 시간이 다되거나, 다른 태스크가 OSTimeDlyResume() 함수로 지연을 취소하면 종료. (1) ticks: 만약 주어진 ticks 값이 0이라면, 태스크를 지연시키지 않겠다는 의미. 바로 리턴. (2) 현재의 태스크를 Ready List에서 삭제 (3) ticks 값은 현재 태스크의 OS_TCB에 저장되며, OSTimeTick() 함수가 이 값을 계속해서 감소시킴. (4) OSSched(): 스케줄러가 다음으로 높은 우선순위의 태스크를 실행. 과정 (1) Tick in.. 2020. 5. 14. [실시간 시스템] 태스크 관리 (1) 태스크 관리(1) 목차 - 테스크 생성 - 테스크 스택 - 테스크 삭제 ※ 모든 정보는 uC/OS-ii 2nd Edition을 기준으로 함. 1. 태스크 생성 리턴 타입을 포함해서 C 함수처럼 구현됨. 단, 실제로 return 되는 것은 없는 void형태임. 기본형 OSTaskCreate()와 확장형 OSTaskCreateExt()의 두 가지 함수 존재. 태스크의 종류 - infinite loop function: for문 등 반복문을 통해 계속해서 수행됨. 주로 무언가를 감시하는 태스크. - deletes itself after done executing: 실제 메모리에서 삭제되는 것이 아닌, 다시 수행되지 않는다는 의미. 1.1 OSTaskCreate() - 하드웨어적인 부분 포함. (문맥을 포함하므.. 2020. 4. 22. 이전 1 다음