안녕하세요?. 

지난주 이지부트 교육은 잘 받았슴니다.

저희가 s3c6410을 가지고 응용 프로그램을 개발하고있는데 한가지 문의사항 있어 여기에 글을올림니다.

 

(개발환경)

- 보드 :s3c6410 기반 디지틀보드

- 커널 : 2.6.29

- 외부인터럽트 사용 EINT 15번(GPN 15번) : 외부에 FPGA가 연결됨.

- request_irq(EINT(15),service_fction,IRQF_DISABLE,"name",0)로 등록 및 서비스루틴에서 인터럽트 clear함.

-set_irq_type(EINT(15),IRQ_TYPE_EDGE_RISING);

 

(보드현상)

 1. 외부 FPGA가 인터럽트요구시 가끔 CPU 에서 인터럽트인지못함. 그결과 서비스함수가 깨어나지못함.

    - 이때 /proc/interrupt 화일을 cat으로 보면 인터럽트 발생때는 증가하다가 인지못할때는  계수가 증가하지않고 있음.

    - 오실로스코프상으로 동시에 보면 FPGA는 인터럽트를 발생한상태로 있음

 2. 보드7장 조립시 2장 정도는 인터럽트 잘됨.

 3. 저희가 PXA320으로 1년전에도 동일한방법으로 개발시 문제없었음.  --> 보드를 6410으로 교체후 발생함. 

4. 인터럽트핀을 바꾸어서 실험을해도 마찬가지임(우선순위도 바꾸어봄)

5. 참고로 다른인터럽트는 이더넷 1개 사용중 입니다.

 

(질문1)  해결방법 또는 디버깅 방법이 있을까요?  

(질문 2)  s3c6410 이  에지 트리거 인터럽트 방식이 잘동작하는지요? 

(질문3)   s3c6410 디지틀보드 하드웨어조립문제인지 아니면 커널이 인지못하는것인지 이유가 궁금합니다.

 

빠른회신 부탁드림니다.

 

수고하세요.

 

2012.1.16.