Ejemplo n.º 1
0
void task_run(void *arg)
{
 	SysTick_init();
	mutex_init();
 	if(__init_GlobalLock()!=0)
		SysReset();
	__GlobalLock();
	platpara_init();
	printf("\r\nstart runing...\r\n");
	printf("platform make at:\033[1;31;40m%s \033[0m\r\n",MKTIME);
	printf("Sysetm \033[1;32;40m%s\033[0m start at:%s\r\n",SYSTEM_NAME,UTimeFormat(UTimeReadCurrent()));

	RunAppTask();
	while(1)
	{
		rtc_update(1);

		if(UTimeReadCurrent()%300 == 0)
			printf("\r\nTime:%s\r\n",UTimeFormat(UTimeReadCurrent()));

		watchdog_feed();
#ifdef 	BIG_CONCENT
		shining_led();
#endif
		SysCheckTaskState();
		sleep(50);

	}
}
Ejemplo n.º 2
0
void pic_isr(struct thread_state* state, unsigned ring, unsigned irq) {
  (void)state;
  (void)ring;

  unsigned pirq = irq - 32;
  if (!pic_is_spurious(pirq)) {
    if (pirq == 8) rtc_update(); // try to keep RTC latency as low as possible.
    pic_eoi(pirq);
    isr_send_signal(irq);
  }
}
Ejemplo n.º 3
0
void _rtc_interrupt_handler( void * object, TiEvent * e )
{
	TiRtc * rtc = (TiRtc *)object;
	
	rtc_update( rtc );//更新时间
	
	rtc_active( rtc );//判断是否定时时刻到。
	rtc_expired( rtc );//判断是否定时间隔到。
	

}
Ejemplo n.º 4
0
int main(void)
{
  	BSP_Init(); //板级驱动	


	OSInit();  //uCOS init
	PlatInit();	 // 模块init

	rtc_update(0);

	RunSystemTask();  //task add

	OSStart();
    return 0;
 }
Ejemplo n.º 5
0
static irqreturn_t s3c2410_rtc_tickirq(int irq, void *id, struct pt_regs *r)
{
	rtc_update(1, RTC_PF | RTC_IRQF);
	return IRQ_HANDLED;
}
Ejemplo n.º 6
0
void ktime_update(void)
{
        slock_acquire(&rtc_lock);
        rtc_update(&k_time);
        slock_release(&rtc_lock);
}