초보적인 ARM 질문...

lunawyrd의 이미지

#include<aduc7026.h>
 
#define DEFPORT0 0x60UL
#define DEFPORT1 0xFCUL
 
void IRQ_Handler(void) __irq;		 
 
int main(void)
{
        unsigned long i = 0; 
        IRQEN = 0x0;
        IRQCLR = 0xFFFFFFFF;
 
        // CD Config
        POWKEY1 = 0x01;
        POWCON = 0;// Active mode, 41.78 MHz. CD=0, Bellow
        POWKEY2 = 0xF4;
 
        // Set Timer1
        T1LD = 26112	// Counter Value
        // CD=0, CLK/16 ==> (41.78Mhz/16)*26112 = 10mS 
        T1CON = 0xC4;	// Enabled,Periodic,Binary and CLK/16
        IRQEN = GP_TIMER_BIT;	
        while (1){
               i++;
        }
 
}// end main
 
void IRQ_Handler(void) __irq		// IRQ routine
{				
        T1CLRI = 0;
        return ;			
}

에... TIMER 인데요 ㅇㅅㅇ;; 디버그를 해보니 ㅇㅅㅇ..

인터럽트가 발생하면 그뒤부터는 startup파일에 써있는

IRQ_Handler B IRQ_Handler

이부분에서만 계속 무한루프를 해서 i가 증가하지않네요;;

어떻게 방법이 없을까요 ?

ydongyol의 이미지

컴파일러가 i가 안쓰이는걸로 판단하고
i++부분을 무시한거 아닐까요?
a=a+i;뭐 이런걸 한번 넣어보세요.
--
Linux강국 KOREA
http://ydongyol.tistory.com/

--
Linux강국 KOREA
http://ydongyol.tistory.com/