도와주세요!!
안녕하세요?.
지난주 이지부트 교육은 잘 받았슴니다.
저희가 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.