POD 의 전체적인 3개의 태스크를 각각의 알고리즘에 따라 설명한다.
앞에서는 각각의 태스크가 어떤 동작을 하는지에 대해 설명했었다.

다른 문서에서도 말했듯이 이 태스크는 POD 카드가 현재 어떤 상태인지를 체크하는 태스크이다. 카드의 상태는 크게 2가지로 나눠볼 수 있다.

  1. 카드가 꼽혀있을 때 - 처음 부터 꼽혀 있는 경우, 중간에 꼽히는 경우
  2. 카드가 없을 때 - 처음 부터 없는 경우, 중간에 빠지는 경우

이 태스크에서는 CD1 과 CD2 를 통해서 위의 4가지 경우를 구분한다. 우선 카드가 꼽혀 있을 때 의 경우부터 살펴보자!
카드가 꼽혀 있다면, CD1, CD2 를 체크하는 태스크는 Main_Task 로 메시지를 보낼 것이다. 메세지를 보낸 후에는 무한 루프에 빠지면서, 중지된다. 그리고는 후에 실행되는 Main_Task 에 의해서 루프가 풀리게 된다. 그 뒤로는 지속적으로 실행되면서 카드가 빠져있는 지, 아닌지를 체크한다.

  1. PCMCIA reset
  2. POD reset

이 역시, 어떤 오류로 인해 수행되는 태스크이다. 오류는 여러가지가 될 수 있다. 거의 수행되는 경로를 보면, sendto_reset() 에 의해 수행된다. 리셋을 시키는 것이 주 목적이다.
크게 2가지 모드로 실행된다.

  1. POD reset mode
  2. PCMCIA reset mode

우선 PCMCIA 모드부터 살펴보자면, Ci_End() 함수를 통해 하드웨어 초기화를 한다. 그전에 열려있던 상단의 모든 태스크와 세션들을 모두 Close 시키고,

  • computer/digitalarena/pod_프로그램_이해.txt
  • Last modified: 3 years ago
  • by likewind