도와주세요!!
글 수 15,339
2002.07.23 09:30:22 (*.186.48.184)
6697
ICLR 레지스터에서
타이머가 사용할 인터럽트를 FIQ 또는 IRQ 에서 사용할지를
정하시고..
OSSR 에서
사용할 타이머에 1을 써서 플래그를 클리어 하시고..
OSMR?
여기서 필요한 타이머 틱만큼 값을 넣고(1초). OSMR? = OSCR + 3686400
OIER 에서
사용할 타이머를 활성화 시키고..
ICMR 에서
타이머 인터럽트를 사용가능하게 하면 1초 후에 인터럽트가 발생합니다.
원본의 start.S 라면 LED가 깜박이죠.. 인터럽서비스 루틴이 일케 되있으니까
이제 사용자 인터럽트 핸들러가 호출되게 하려면..
start.S 에서 FIQ 또는 IRQ 에서 함수를 호출하게 해야 합니다.
그러려면 핸들러가 존재하는 주소(C 함수)를 알아서 이곳으로 점프해야 겠죠..
main-ld-script 을 보면 C 함수의 main 의 시작은 0xc0f00400 으로 되있습니다.
문제는 핸들러의 주소를 알아야 하는 것인데.. 저는 ld 의 초보라서..
잘 모르겠군요.. 머 플래시에서 수행될거면 일케 안해도 되구요..
음 이거참 궁금하군요...
ld 스크립트을 어케 고치면 될꺼도 같은데 ..지금은 시간이 없어서 ..