码迷,mamicode.com
首页 > 其他好文 > 详细

一个内核定时器模块

时间:2016-05-24 12:07:52      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

/*  内核定时器测试模块  */
#include <linux/kernel.h>        //内核 
#include <linux/module.h>        //内核模块 
#include <linux/init.h>            //模块初始化和注销 
#include <linux/slab.h>            //屋里内存分配管理 
#include <linux/list.h>         //内核链表 
#include <linux/timer.h>        //内核定时器 


//内核模块声明
MODULE_LICENSE("GPL"); 
MODULE_AUTHOR("EDISON REN"); 
MODULE_DESCRIPTION("KERNEL TIMER TEST"); 
MODULE_ALIAS("KERNEL TIMER TEST"); 

struct timer_list timer;        //内核定时器

void timer_function(int para)
{
    printk("Timer Expired and para is:%d\n",para);
} 

int timer_init(void)
{
    init_timer(&timer);                //初始化内核定时器
    timer.data=10;                    //参数 
    timer.expires=jiffies+ (3*HZ);    //延时3秒    
    timer.function=timer_function;    //定时器的执行函数
    add_timer(&timer);                //将定时器加入到系统定时器链表中
    printk("Create Timer Success!\n");
    return 0; 
}

int timer_exit(void)
{
    del_timer(&timer);                //删除该定时器 
    printk("Delete Timer!\n");
    
    return 0;
}

module_init(timer_init);
module_exit(timer_exit);

Makefile

obj-m := ktimer.o

KDIR := /usr/src/linux-headers-3.13.0-32-generic/

all:
    make -C $(KDIR) M=$(PWD) modules #ARCH=arm CROSS_COMPILE=arm-linux-
clean:
    rm -f *.ko *.o *.mod *.symvers *.order *.mod.c

 

一个内核定时器模块

标签:

原文地址:http://www.cnblogs.com/foggia2004/p/5522712.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!