책을 보는 도중에
잘 이해가 가지 않는 것들이 있어서 질문을 드려여
Exception은 무언인가요 이것의 종류가 7개가 있다고 하는데 무엇인지 무슨
작업을 하는지...
그리고 벡터 테이블이랑 벡터 주소가 무엇인가요 이것들은 어떤 일을 수행하기
위해서 있는지 궁금합니다.
그럼 오늘도 즐거운 하루 되세여
MCU의 interrupt pin에 전기적 신호가 들어오면 MCU는 내부적으로 해당 인터럽트에 대응하는 주소로 점프하게 됩니다.
vector table은 interrupt와 interrupt 발생시 jump해야 하는 주소를 나타내구요. 벡터 주소는 interrupt 발생시 jump해야 하는 주소입니다.
보통 MCU data sheet 보면 interrupt 명과 그에 해당하는 주소들이 나와있습니다.
암튼 실제로 interrupt와 관련된 제어를 하기 위해서는 interrupt control register와 같은 것들 세팅하고요. 모 우선순위 설정하고 enable 할까 말까 이런거 설정하는 거죠.
그 7개라는것은 arm 에서 reset, undefined instruction, software interrupt, prefetch abort, data abort, irq, fiq 모 이거 이야기 하는거 같군요.
무슨 책을 보셨는지 알아야할 것 같습니다만..
무슨 책을 보셨는지 알아야할 것 같습니다만..
ARM9 부트로더를 보는도중에....나와써여
ARM9 부트로더를 보는도중에....나와써여
잘 부탁드려염
Re: 저 벡터에 대한 질문 이어염
벡터에도 종류가 여러가지인데 , 어떤 벡터를 말하시는 건지....
수학에도, 자료구조에도 ,mcu에도....
머 대충 벡터 테이블이 나오는 거 보니. mcu쪽 물어보시는 거 같은데...
천상 소프트웨어 쟁이 인 제가. 귀동냥으로 들은 내용을 어설프게 나마 말한다면...
* 주의: 그냥 개념입니다. 똑 같다고는 생각지 마세요.
일종의 인터럽트 데이블과 비슷할까요?. 흠 그러고 보니 가상 함수 테이블 과도 유사하군요..
포인터의 배열이라고 생각하시면 쉽겠네요. 각각의 포인터는 특정한 주소를 가리키고 있고 그 주소에는 해당 실행 루틴이 있고요.
어떤 예외 사항(Exception)이 발생 했을 경우., ( 메모리 쓰기 오류 라던지, reset이라던지) 벡터 테이블이 있는 주소로 뛰는 거죠(예외 상황 발생이죠)
이때 인덱스를 통해서 해당 실행 루틴이 있는 주소를 알아내고 그리로 점프!!!
머 이런 원리겠죠... 자세한 건 저도 멀라요.
그리고 질문에 상황 설명도 좀 해주시면 좋겠는데요.
답변을 쓰고서도 동문서답한게 아닐까하는 불안감이 생깁니다.
그럼이만
process 내부에서 생긴 trap을 exception이라고 하는 것
process 내부에서 생긴 trap을 exception이라고 하는 것 같습니다만... 0으로 나누기, page fault, seg fault, invalid op. 등등등
--
Life is short. damn short...
Re: 저 벡터에 대한 질문 이어염
MCU의 interrupt pin에 전기적 신호가 들어오면 MCU는 내부적으로 해당 인터럽트에 대응하는 주소로 점프하게 됩니다.
vector table은 interrupt와 interrupt 발생시 jump해야 하는 주소를 나타내구요. 벡터 주소는 interrupt 발생시 jump해야 하는 주소입니다.
보통 MCU data sheet 보면 interrupt 명과 그에 해당하는 주소들이 나와있습니다.
암튼 실제로 interrupt와 관련된 제어를 하기 위해서는 interrupt control register와 같은 것들 세팅하고요. 모 우선순위 설정하고 enable 할까 말까 이런거 설정하는 거죠.
그 7개라는것은 arm 에서 reset, undefined instruction, software interrupt, prefetch abort, data abort, irq, fiq 모 이거 이야기 하는거 같군요.
댓글 달기