您的位置 首页 编程

Linux(ARM-S3C2410)内核滴答定时器驱动

/*============================================================*/与硬件平台相关/*===========================

/*============================================================*/
与硬件渠道相关
/*============================================================*/

1):arch/arm/plat-s3c24xx/time.c
static void__init s3c2410_timer_init (void)
{
s3c2410_timer_setup();
setup_irq(IRQ_TIMER4, &s3c2410_timer_irq);
}

2): arch/arm/plat-s3c24xx/time.c
static irqreturn_t s3c2410_timer_interrupt(int irq, void *dev_id)
{
timer_tick();
return IRQ_HANDLED;
}

3): arch/arm/kernel/time.c
void timer_tick(void)
{

do_timer(1);

}
/*=============================================================*/
与渠道无关
/*=============================================================*/
4): kernel/timer.c
voiddo_timer(unsigned long ticks)
{
jiffies_64 += ticks; //为kernel的时钟滴答计数添加1,标明硬件产生了一次时钟中止
update_wall_time();
calc_global_load();
}

5): 一切的体系调度都依靠这个定时器.

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/biancheng/274905.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部