2016年3月28日
摘要: file_operations是一个对设备进行操作的抽象结构体。linux内核为设备建立一个设备文件,这样就使得对设备文件的所有操作,就相当于对设备的操作。用户程序可以用访问普通文件的方法访问设备文件,进而访问设备。 对普通文件的访问,常常使用open(), write(), read(), clo 阅读全文
posted @ 2016-03-28 09:58 tragiccandidate 阅读(1429) 评论(0) 推荐(1) 编辑
  2016年3月26日
摘要: 大部分驱动程序都是内核自带的,主要是为了进行驱动移植。驱动模型分为驱动层和设备层。现在内核已经带有驱动层带代码,还缺少设备层代码。我们可以根据内核提供的LCD驱动程序,分析出设备层代码。 在“平台设备驱动之平台设备”中,可以知道设备层步骤: 1.设备占用的资源;2.设备的平台数据结构struct p 阅读全文
posted @ 2016-03-26 21:49 tragiccandidate 阅读(464) 评论(0) 推荐(0) 编辑
  2016年3月25日
摘要: 驱动层需要实现的结构体是struct platform_driver,它用来描述一个设备的驱动信息。 结构如下 (include\linux\platform_device.h) 其中probe和remove是必需实现的,跟在设备层提到的注册和注销函数有关。其他函数根据需要,自行实现。 struct 阅读全文
posted @ 2016-03-25 22:03 tragiccandidate 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 平台设备驱动模型分为两个部分:平台设备(platform_device)和平台驱动(platform_driver) 设备层的核心数据结构struct platform_device (include\linux\platform_device.h) 其中struct device用来实现设备模型, 阅读全文
posted @ 2016-03-25 20:52 tragiccandidate 阅读(359) 评论(0) 推荐(0) 编辑
  2016年3月22日
摘要: 你复制完还要再等一会,主要是可能没来得及拷完, 阅读全文
posted @ 2016-03-22 15:37 tragiccandidate 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 在~/vimrc文件,加如下内容 set viminfo='1000,<800 最多允许800行,当然可以改为最多允许5000行等任意数字 阅读全文
posted @ 2016-03-22 15:16 tragiccandidate 阅读(1114) 评论(0) 推荐(0) 编辑
  2016年3月21日
摘要: hello.c Makefile1 注:Makefile1是基于x86平台的;其中uname -r是shell指令,可以在cmd窗口使用uname -r,便可以了解该指令的目的 Makefile1在make时,可能会出现报错 Makefile2 而Makefile2是下载了一个新的内核; KERNE 阅读全文
posted @ 2016-03-21 11:54 tragiccandidate 阅读(502) 评论(0) 推荐(0) 编辑