新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Linux(ARM-S3C2410)內(nèi)核滴答定時器驅(qū)動

        Linux(ARM-S3C2410)內(nèi)核滴答定時器驅(qū)動

        作者: 時間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
        /*============================================================*/
        與硬件平臺相關(guān)
        /*============================================================*/

        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);
        ...
        }
        /*=============================================================*/
        與平臺無關(guān)
        /*=============================================================*/
        4): kernel/timer.c
        voiddo_timer(unsigned long ticks)
        {
        jiffies_64 += ticks; //為kernel的時鐘滴答計數(shù)增加1,表明硬件產(chǎn)生了一次時鐘中斷
        update_wall_time();
        calc_global_load();
        }

        5): 所有的系統(tǒng)調(diào)度都依賴這個定時器.


        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 合水县| 彭阳县| 阳城县| 调兵山市| 广宁县| 分宜县| 原阳县| 区。| 宁波市| 西青区| 连平县| 道真| 娄底市| 陕西省| 吴旗县| 昌吉市| 辽宁省| 霸州市| 扎兰屯市| 连云港市| 东港市| 康乐县| 慈利县| 南城县| 芦溪县| 灵丘县| 神木县| 潮州市| 普兰店市| 延庆县| 阳信县| 牙克石市| 攀枝花市| 辉南县| 龙州县| 大港区| 连城县| 同德县| 常熟市| 沙洋县| 仁布县|