当前位置: 技术问答>linux和unix
linux 内核定时器
来源: 互联网 发布时间:2017-04-13
本文导语: 网上找了很多资料,给的定时器的使用代码如下 #include #include #include struct timer_list mytimer; static void myfunc(unsigned long data) { printk("%s/n", (char *)data); mod_timer(&mytimer, jiffies + ...
网上找了很多资料,给的定时器的使用代码如下
这段代码要如何运行啊
#include
#include
#include
struct timer_list mytimer;
static void myfunc(unsigned long data)
{
printk("%s/n", (char *)data);
mod_timer(&mytimer, jiffies + 2*HZ);
}
static int __init mytimer_init(void)
{
setup_timer(&mytimer, myfunc, (unsigned long)"Hello, world!");
mytimer.expires = jiffies + HZ;
add_timer(&mytimer);
return 0;
}
static void __exit mytimer_exit(void)
{
del_timer(&mytimer);
}
module_init(mytimer_init);
module_exit(mytimer_exit);
这段代码要如何运行啊
|
#
# Makefile for the Linux 2.6 eCryptfs
#
ifneq ($(KERNELRELEASE),)
obj-m := te.o
te-objs := test.o
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif
clean:
-rm -rf .tmp* Mo* mo* *.o *.ko* *.mod* .*.cmd */*.o */.*.o.d */.*.cmd
.PHONY: clean
把这些写进Makefile
把文件名取为test.c-》执行make->插进模块 命令insmod te.ko
# Makefile for the Linux 2.6 eCryptfs
#
ifneq ($(KERNELRELEASE),)
obj-m := te.o
te-objs := test.o
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif
clean:
-rm -rf .tmp* Mo* mo* *.o *.ko* *.mod* .*.cmd */*.o */.*.o.d */.*.cmd
.PHONY: clean
把这些写进Makefile
把文件名取为test.c-》执行make->插进模块 命令insmod te.ko
|
写个Makefile,编程成模块、然后insmod模块