도와주세요!!
글 수 15,339
2003.07.04 10:55:03 (*.186.48.184)
6692
인터럽트는 일반적으로 벡터라는 것이 있읍니다.
0 번지 부터 4 바이트 단위로 8개(?)가 있읍니다.
그중에 사용가능하신 것은 irq 와 fiq 입니다.
하지만 이지부트에서는 다른 영역으로 되어 있읍니다
만약 인터럽트를 이용하시려면
이 irq 벡터 번지를 램으로 점프하는 곳으로 절대 어드레스를
주시고 링커 스크립트를 이용하여 C 함수와 연결하셔야 합니다.
이 부분에 대한 것은
main-ld-script 와
ENTRY(_ram_entry)
entry.S 를 참조하시고
조금 링커 스크립트에 대해서 공부하셔야 합니다.
그후에 이지부트에서는 초기에 인터럽트를 비활성화 상태로 놓으므로
이부분을 활성화 시키게끔 C 함수의 main에서 추가 하시면 됩니다
물론 irq 에 관련된 레지스터 처리도 하셔야 합니다.
0 번지 부터 4 바이트 단위로 8개(?)가 있읍니다.
그중에 사용가능하신 것은 irq 와 fiq 입니다.
하지만 이지부트에서는 다른 영역으로 되어 있읍니다
만약 인터럽트를 이용하시려면
이 irq 벡터 번지를 램으로 점프하는 곳으로 절대 어드레스를
주시고 링커 스크립트를 이용하여 C 함수와 연결하셔야 합니다.
이 부분에 대한 것은
main-ld-script 와
ENTRY(_ram_entry)
entry.S 를 참조하시고
조금 링커 스크립트에 대해서 공부하셔야 합니다.
그후에 이지부트에서는 초기에 인터럽트를 비활성화 상태로 놓으므로
이부분을 활성화 시키게끔 C 함수의 main에서 추가 하시면 됩니다
물론 irq 에 관련된 레지스터 처리도 하셔야 합니다.