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

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 odroid vista용 드라이버는 별도로 없나요? [3] 오영종 2009-11-07 479
267 odroid를 지금 받았습니다...그런데... [6] pertboy 2009-11-19 479
266 오드로이드 센서 질문이요.. [1] 조용수 2009-11-21 479
265 odroid suspend에서요 [1] nicknam 2010-02-12 479
264 jni로 디바이스 제어 문의드립니다 file [1] 김승한 2010-03-10 479
263 권한 변경 관련 문의 드립니다. [1] 김정희 2010-03-29 479
262 gstreamer 컴파일 에러 질문입니다. [1] 아싸랄리아 2010-05-07 479
261 lcd_density 문의 [1] 준2 2010-08-05 479
260 aesop c100의 part datasheet 한기태 2010-11-29 479
259 odroids-20110119 자료로 부팅이 안됩니다. file [2] 바람돌이0 2011-01-23 479
258 이솝 6410보드 USB인식 [1] 다크썩흘 2011-03-29 479
257 s5pc110 회로도 구할 수 없을까요? [1] 최원철 2011-05-16 479
256 오드로이드 관련 질문입니다. [1] 박정락 2009-11-07 478
255 aESOP의 문서양식이 있나요? [2] just4you 2010-01-05 478
254 omap_hsmmc driver 문의입니다. file [1] 김병종 2010-01-21 478
253 qt 에러 ....2440보드 문제 입니다 file [1] 지승화 2010-03-18 478
252 6410 H.264 인코딩 Container 처리 예제 좀 없을까요? 꿈꾸는자 2010-04-09 478
251 cat /dev/tts/0 nothing echo but I have connected GPS in ... [1] mosquitos 2010-05-22 478
250 6410에서 SDIO작업하는중인데.. [1] 박상민 2010-05-25 478
249 serial port를 통해 flash로 download할수있나요? [1] 김태현 2010-06-15 478

사용자 로그인