//------------------------------------------------------------------------- //------------------------------------------------------------------------- extern void PUT32 ( unsigned int, unsigned int ); extern unsigned int GET32 ( unsigned int ); extern void dummy ( unsigned int ); #define ARM_TIMER_LOD 0x2000B400 #define ARM_TIMER_VAL 0x2000B404 #define ARM_TIMER_CTL 0x2000B408 #define ARM_TIMER_DIV 0x2000B41C #define ARM_TIMER_CNT 0x2000B420 #define SYSTIMERCLO 0x20003004 #define GPFSEL1 0x20200004 #define GPSET0 0x2020001C #define GPCLR0 0x20200028 #define TIMEOUT 1000000 //------------------------------------------------------------------------- int notmain ( void ) { unsigned int ra; unsigned int rb; ra=GET32(GPFSEL1); ra&=~(7<<18); ra|=1<<18; PUT32(GPFSEL1,ra); PUT32(ARM_TIMER_CTL,0x00F90000); PUT32(ARM_TIMER_CTL,0x00F90200); rb=GET32(ARM_TIMER_CNT); while(1) { PUT32(GPSET0,1<<16); while(1) { ra=GET32(ARM_TIMER_CNT); if((ra-rb)>=TIMEOUT) break; } rb+=TIMEOUT; PUT32(GPCLR0,1<<16); while(1) { ra=GET32(ARM_TIMER_CNT); if((ra-rb)>=TIMEOUT) break; } rb+=TIMEOUT; } return(0); } //------------------------------------------------------------------------- //-------------------------------------------------------------------------