====== 태스크 정리 ====== 현재 DAC5000 에 있는 여러개의 Task 가 존재한다. 각각의 Task 들은 서로 Message 를 주고 받고, 큐를 만들어서 통신을 한다. 각각이 Taks 는 아래와 같이 생성하게 된다. task_create((void (*)(void *))keyMicom, NULL, 8192, 7, "tKEYm", 0); taks_create 라는 시스템 콜을 이용해서 Task 를 만드는 데, 이에 대한 설명을 하자면, 아래와 같다. | 이름 | 설명 | | keyMicom | 실행할 함수 | | NULL | 넘겨주는 파라미터 | | 8192 | 스택 사이즈 | | 7 | 우선순위 | | "tKEYm" | 이름 | | 0 | flags | 위에서 짚고 넘어가야 하는 것이 바로 우선순위이다. 각각의 태스크를 생성할 때마다, 우선순위를 정해주어야 하는 데, 숫자가 높을 수록 우선순위가 높다. 전체적인 프로그램이 수행되는 데 있어, 여러가지 태스크의 우선순위가 결정되는 데, 이는 아주 중요하다, 예를 들어, UI 의 우선순위가 A/V 보다 높다면, UI 를 실행하는 동안에는 A/V 가 끊기거나, 멈출 수 있기 때문이다. 때문에 어떤 태스크가 중요한지 또는 중요하지 않은지를 결정해서 우선순위를 부여해야 한다. ====== DAC5000 사용중인 Task ====== | 이름 | 우선순위 | | channelChangeAV | 10 | | channelScan | 12 | | timerTask | 8 | | keyMicom | 7 | | keyTask | 7 | | PsipOperation | 14 | | SignalWait | 13 |