当前位置: 技术问答>linux和unix
linux2.6下面的定时器问题 100分
来源: 互联网 发布时间:2015-07-17
本文导语: 在fedora下面我写了一个定时器,代码如下: #include #include #include #include #include #include #include void my_function(unsigned long data){ // printk("now, jiffies = %li", jiffies); //printk("now , after some time, I ca...
在fedora下面我写了一个定时器,代码如下:
#include
#include
#include
#include
#include
#include
#include
void my_function(unsigned long data){
// printk("now, jiffies = %li", jiffies);
//printk("now , after some time, I can be executed now!");
int i;
i=10;
}
static int timetest_init(void){
struct timer_list my_timer;
/* after = jiffies + 10*HZ;*/
init_timer(&my_timer);
my_timer.expires =jiffies + 10*HZ;
my_timer.data = (unsigned long)0;
my_timer.function = &my_function;
add_timer(&my_timer);
return 0;
}
static void timetest_bye(void){
printk("Bye!");
}
module_init(timetest_init);
module_exit(timetest_bye);
编译通过,但是当使用insmod ./timer.ko时,却报错,并死机。错误为:
kernel panic:fatal exception
in interrupt handler - not syncing
请问,这是怎么回事?
#include
#include
#include
#include
#include
#include
#include
void my_function(unsigned long data){
// printk("now, jiffies = %li", jiffies);
//printk("now , after some time, I can be executed now!");
int i;
i=10;
}
static int timetest_init(void){
struct timer_list my_timer;
/* after = jiffies + 10*HZ;*/
init_timer(&my_timer);
my_timer.expires =jiffies + 10*HZ;
my_timer.data = (unsigned long)0;
my_timer.function = &my_function;
add_timer(&my_timer);
return 0;
}
static void timetest_bye(void){
printk("Bye!");
}
module_init(timetest_init);
module_exit(timetest_bye);
编译通过,但是当使用insmod ./timer.ko时,却报错,并死机。错误为:
kernel panic:fatal exception
in interrupt handler - not syncing
请问,这是怎么回事?
|
struct timer_list my_timer;
change to static or global.
change to static or global.
|
学习中,问题解决了吗?
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。