기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

interrupt 번호에 대해서 궁금한 것이 있어서 문의 드립니다.

제가 아는 내용은 다음과 같습니다.

processor마다 interrupt source가 여러 개 있습니다.
각각의 interrupt source마다 번호가 있습니다.
그래서, interrupt source에서 H/W적으로 발생한 interrupt를 processor가 감지를 하고,
이 후에, OS(Linux)에서는 interrupt를 처리하기 위해서 interrupt를 번호를 사용합니다.
즉…발생한 interrupt source의 번호와 일치하는 isr을 수행합니다.
이상의 내용에서 제가 잘못 알고 있는 부분은 지적해 주시면 감사하겠습니다.

일단, 위에서 설명한 저의 배경지식이 맞다고 가정하고, 제가 궁금한 것을 문의 드립니다.

위에서 interrupt 번호는 누가(또는 어디서)  어떻게 정의하는 것입니까 ?
즉…”A interrupt source는 1번이고, B interrupt source는 2번이고 하는 것”은 processor에서 H/W적으로 결정되어 있는 것인지요 ?
아니면, kernel에서 S/W적으로 정의해서 번호를 할당하는 것인지요 ?
(즉…특정 processor에 대해서, kernel porting시에 porting하는 개발자가 임의로 정하면 되는 것인지요 ?) 물론, 임의라고 해서 중복되면 당연히 안되겠지만 말입니다.

만약, porting하는 사람이 임의로 정한다면,
동일 processor라고 하더라도, C라는 사람이 정한 번호 규칙(s/w적으로 interrupt source의 각 번호 할당)과 D라는 사람이 정한 번호 규칙은 달라도 무관한지요 ?

datasheet에 각 interrupt source별로 interrupt번호가 정의되어 있습니다.
이것으로 판단한다면, H/W적으로 결정되어 있다는 것이 맞을 것 같기도 합니다.
아니면, porting하는 사람 임의 데로 S/W적으로 정의(각 source별로 번호 할당)해도 되지만,
다수의 개발자들의 혼선을 방지하고, 일관성의 유지를 위해서,
processor maker에서 임의로 번호를 할당해서, datasheet에 기술해 놓은 것인지요 ?
이 경우, 특정 kernel porting자가 datasheet에서 할당한 번호체계가 아닌,
다른 번호할당으로 kernel porting을해도 동작은 되지만, 굳이 그렇게 할 필요와 이유가 없기 때문에, 그렇게 안 하는 것이라고 판단이 됩니다만...
정말 혼돈이 되네요...

암튼...좀 횡설수설한 면이 있더라도 양해해 주시고 알려 주시면 감사하겠습니다.

고현철

2008.05.16 13:10:48
*.59.122.203

1. 대부분은 hw에서 사용되는 것을 그대로 씁니다만, software적으로 지정하는 부분도 있습니다. 이유는 main interrupt와 sub interrupt가 동시에 사용되기 때문입니다.

예를 들어 mp2530f의 경우 uart0 에 대한 interrupt가 메인에서는 하나가 뜨지만, 실제 uart쪽을 보면 인터럽트 소스가 4개입니다. 이런경우는 software적으로 지정해서 씁니다.

2. 작성자 맘대로입니다.

3. hw랑 맞추는게 가장 코딩하기 편하고 부가적인 코드가 없이 동작합니다.
하지만, chained interrupt일 경우는 chained의 경우는 software적으로 지정해서 씁니다.

김경식

2008.05.23 08:20:33
*.178.110.19

답변 감사드립니다.
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
268 [NAND] 파일 복사 문제 [5] 김유석 2006-12-16 996
267 모듈 strip 관련 질문 [완료] [5] 박상수 2006-12-15 783
266 use-serial 컨버터 질문 [2] 이태간 2006-12-15 772
265 troll-ftp..에서요.. < === 완료 [3] 윤현승 2006-12-15 712
264 gcc컴파일러 arm버전 확인에 관하여...[완료] [2] 박상수 2006-12-15 1419
263 [NAND] NAND의 nand_scan() 에 대해 질문 드립니다.[완료] [3] 김유석 2006-12-14 950
262 busybox에서 질문입니다.. < === 완료 [4] 윤현승 2006-12-13 868
261 2.6.13 커널 clock관련 질문입니다. [완료] [6] 박기호 2006-12-13 781
260 [SMC91C113] ping 테스트를 하면 커널 패닉이 발생합니다.[완료] [4] 김유석 2006-12-12 1146
259 gdbserver & gdb 에 대해서 질문 <== 완료[자답] [5] 황기천 2006-12-12 1064
258 xinit 관련해서 질문입니다~ [3] 오용석 2006-12-12 622
257 [질문] PDS 게시판에 올린 VGA to Composite 관련 질문이요~[완... [2] 양용현 2006-12-11 713
256 I2C 통신을 하는 FOST02A칩을 보드에 달으려고 하는데요 (참조글) 방창혁 2006-12-08 712
255 I2C 통신을 하는 FOST02A칩을 보드에 달으려고 하는데요[완료] [6] 유태경 2006-12-08 1264
254 usb gadget 관련.. [완료] [1] 박기호 2006-12-08 902
253 [질문] SDL 사용시 프레임버퍼 드라이버 ??? [1] 장석원 2006-12-08 787
252 SMSC91C113 인터럽트 질문 드립니다.[완료] [6] 김유석 2006-12-08 1178
251 smdk2440 사운드 관련 질문입니다[완료] [2] 박상수 2006-12-07 806
250 이솝보드에서 SDL로 ttf 사용 가능 한가요? [1] 김증일 2006-12-07 886
249 테스트 보드 관련 질문입니다. -> 혹시 aesop 2차보드 파실분이?... [3] MrAhn 2006-12-07 845

사용자 로그인