驱动
文章平均质量分 80
ZONE画派
正在学习计算机视觉相关
展开
-
原子、信号量、互斥锁、自旋锁
一、原子操作 所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它的最小的执行单位,不可能有比它更小的执行单位,因此这里的原子实际是使用了物理学里的物质微粒的概念。 原子操作需要硬件的支持,因此是架构相关的,其API和原子类型的定义都定义在内核源码树的include/asm/atomic.h文件中,它们都使用汇编语言实现,因为C语言并转载 2015-09-09 11:47:37 · 663 阅读 · 0 评论 -
模拟有名管道驱动
```#include <linux/kernel.h>#include <linux/module.h>#include <linux/init.h>#include <linux/device.h>#include <linux/cdev.h>#include <linux/fs.h>#include <linux/ioctl.h>#include <asm/uaccess.h>原创 2015-09-09 22:04:55 · 675 阅读 · 1 评论 -
mmap驱动
#include #include #include #include #include #include #include #include #define PAGE_COUNT 16#define SHM_SIZE (PAGE_COUNT * PAGE_SIZE)unsigned long shm_start = 0;unsigned int order =原创 2015-09-11 15:07:39 · 567 阅读 · 0 评论 -
Qt的多线程编程注意事项
QT总的来说是一个易学易用的库, 但是QT的多线程使用确实容易犯错,尤其是结合上异步的网络访问,谁用谁知道。我觉得核心是一句话,QThread要当作线程控制块用,不要以为派生一个QThread的子类,里面的东西都跑在新的线程里了,只有run()里的是这样。下面这篇文章我觉得讲的很好,深入解析QT的线程用法,文章有点长,但是值得一读。原文在 http://qt-project.org/wik转载 2015-09-12 16:22:48 · 1591 阅读 · 0 评论 -
IO端口和IO内存
一、IO端口与IO内存的概念 ⒈ 概念 每个外设都是通过读写它的寄存器来控制。大部分时间一个设备有几个寄存器,并且在连续地址存取它们,或者在内存地址空间或者在I/O地址空间。在硬件级别上,内存区和I/O区域没有概念上的区别:它们都是通过在地址总线和控制总线上发出电信号来存取,并且读或写到数据总线上。 但有人认为外设不同于内存,因此应该有一个分开的地址空间,这样一些CPU制造商在他们的芯片上实现转载 2015-09-12 16:26:42 · 668 阅读 · 0 评论 -
按键中断驱动
/* * */#include <linux/module.h>#include <linux/version.h>#include <linux/kernel.h>#include <linux/init.h>#include <linux/fs.h>#include <linux/interrupt.h>#include <linux/time.h>#include <li原创 2015-09-14 14:10:14 · 632 阅读 · 0 评论