您现在的位置: 爱51代码网 >> 范文 >> 文章正文
linux内核定时器加载就死机

下面是代码. 就是想做一个定时器实验...

#include <linux/module.h> /**/
#include <linux/kernel.h> /*printk()*/
#include <linux/fs.h> /*file_operations*/
#include <linux/cdev.h> /*cdev_init() cdev_add()*/
#include <linux/types.h> /*size_t*/
#include <linux/stat.h> /*dev_t*/
#include <linux/timer.h> /*timer_list and timer API*/
#include <linux/slab.h> /*kmalloc() kfree()*/

#define     DEV_NUM 1
#define     NAME "timer"

struct timer_list *timer;
int tmajor;
int tminor;
struct cdev *dev;
int tdelay = 1000;
int count;

 

void timer_fn(unsigned long data)
{
count++;
printk(KERN_INFO "timer start is already %d sec\n", count);
timer->expires += tdelay;
add_timer(timer);
}


static int topen(struct inode *node, struct file *pfile)
{
return 0;
}

static int trelease(struct inode *node, struct file *pfile)
{
return 0;
}

static ssize_t twrite(struct file *pfile, const char __user *buff, size_t count, loff_t *f_pos)
{
return 0;
}
保存下来一般用kdump就好了,配置下

问题好像出在alloc_chrdev_region

没有初始化

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    TClientDataSet如何避免多人更新
    如何用delphi代码修改XML节点
    vc++ pvoid *用delphi怎么表达
    GIS用百度行政区域的经纬度直接画
    不小心卸载了.net 4 extend,vs2
    C#byte【】里的数转换成string时
    C#的session取不到值
    java如何判断一个字符串里的数字
    随机找出24个不一样的字,在把一
    java怎么实现html转为pdf
    GIS用百度行政区域的经纬度直接画
    不小心卸载了.net 4 extend,vs2
    C#byte【】里的数转换成string时
    C#的session取不到值
    java如何判断一个字符串里的数字
    随机找出24个不一样的字,在把一
    java怎么实现html转为pdf
    lotus数据列表文档个数如何实时统
    lotus代理中LS如何将字符串保存到
    在lotus BS系统里怎样方便实现统
    linux下WORD密码输入错误三次
    linux子进程中如何读取某个全
    多个.o文件如何只链接不编译
    bash gcc command not found
    make CROSS_COMPILE=arm-lin
    rhel物理机安装启动无法进入
    每个进程都有一个内核栈吗
    Freebsd和Centos哪个做为服务
    E212: Can't open file 
    如何将现有linux系统备份并做
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |