Chinaunix首页 | 论坛 | 博客
  • 博客访问: 703786
  • 博文数量: 152
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1793
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-12 12:26
个人简介

相信自己,只有不想做的,没有做不到的。

文章分类

全部博文(152)

文章存档

2021年(1)

2015年(2)

2014年(74)

2013年(75)

发布时间:2013-12-12 12:58:57

一,下半部机制task//不能有睡眠,可以响应中断,不接受调度,不能太长1,定义  struct tasklet_struct tlet;2,中断内初始化tasklet_schedule(&dev->tlet);3中断与执行函数想关联/* register the tasklet */ tasklet_init(&globalfifo_devp->tlet, jit_tasklet_fn, (unsigned long)globalfifo_de.........【阅读全文】

阅读(460) | 评论(0) | 转发(0)

发布时间:2013-12-12 12:57:34

//信号量1,定义struct semaphore sem;2,初始化sema_init(&sem,1);3,获得信号量,释放信号量static int hello_open (struct inode *inode, struct file *file){  if(down_trylock(&sem))  return -EBUSY; return 0;}static int hello_release (struct inode *inode, struct fi.........【阅读全文】

阅读(427) | 评论(0) | 转发(0)

发布时间:2013-12-12 12:57:00

//自旋锁1,定义spinlock_t lock;int flag = 1;2,初始化锁 spin_lock_init(&lock);3,加锁解锁static int hello_open (struct inode *inode, struct file *file){ //枷锁 spin_lock(&lock); if(flag == 1) {  flag--;  //解锁  spin_unl.........【阅读全文】

阅读(483) | 评论(0) | 转发(0)

发布时间:2013-09-24 20:59:47

linux底层驱动的机制*******************11111*********************//原子操作 1,定义并初始化atomic_t V = ATOMIC_INIT(1);静态定义,带初始化2操作static int hello_open (struct inode *inode, struct file *file){ if(atomic_dec_and_test(&V))//先V --,判断V == 0 ; {  return 0;.........【阅读全文】

阅读(933) | 评论(0) | 转发(0)

发布时间:2013-09-24 20:13:42

LED驱动#include #include #include #include #include #include #include #include "led.h" //外部引用头文件包含int  led_major      =  250;//主设备号int  l.........【阅读全文】

阅读(979) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册