自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 Linux块设备驱动的模块加载与卸载

在块设备驱动的模块家在函数中通常需要完成如下工作:1. 分配、初始化请求队列,绑定请求队列和请求函数。2. 分配、初始化gendisk,给gendisk的major、fops、queue等成员赋值,最后添加gendisk。3. 注册块设备驱动。代码清单13.9和13.10分别给出了使用blk_alloc_queue()分配请求队列并使用blk_queue_make_request(

2013-12-18 18:01:27 2016

原创 工程中的Linux设备驱动

一、platform 设备驱动1.1 platform 总线、设备与驱动在系统每注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。Linux发明了一种虚拟的总线,称为platform总线, 相应的设备成为platform_device, 而驱动成为platform_driver。platform_device结构体

2013-11-27 20:19:12 638

原创 linux内存与I/O访问

1、用户空间内存动态申请在用户空间动态申请内存的函数为malloc(), 这个函数在各种操作系统上的使用是一致的,malloc() 申请的内存的释放函数为 free()。malloc() 的内存一定要被 free() ,否则会造成内存泄露。2、内核空间内存动态申请1.  kmalloc()void *kmalloc(size_t size, int flags);给

2013-11-26 11:18:19 665

原创 中断与时钟

1、申请IRQint request_irq(unsigned int irq, irq_handler_t handler, unsigned long irqflags, const char *devname, void *dev_id);irq是要申请的硬件中断号;handler 是向系统登记的中断处理函数(顶半部),是一个回调函数,中段发生时,系统调用这个函数,dev_id参

2013-11-20 16:53:45 819

转载 I2C设备驱动流程

I2C设备驱动流程一、I2C设备驱动流程1) i2c_register_board_info定义I2C器件信息(Name,Address,etc.)static struct i2c_board_info __initdata pi2c_board_info[] = {       {              I2C_BOARD_INFO("max1586

2013-11-20 16:48:30 950

转载 linux-tar分卷压缩与解压缩

举例说明:要将目录logs打包压缩并分割成多个1M的文件,可以用下面的命令:tar cjf - logs/ |split -b 1m - logs.tar.bz2.完成后会产生下列文件:logs.tar.bz2.aa, logs.tar.bz2.ab, logs.tar.bz2.ac要解压的时候只要执行下面的命令就可以了:cat logs.tar.bz2

2013-11-11 15:02:33 948

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除