这几天一直在看《在实践中学嵌入式linux应用程序开发》这本书,昨天下午的时候算是把这本书完全搞懂了。除了第一章的交叉编译环境的搭建和第七章linux设备驱动开发第八章的安卓应用开发和第九章的音乐播放器设计,其他的章节都是在讲一些linux下的系统调用函数和其他的io函数,进程,通信,线程,网络相应 ...
分类:
系统相关 时间:
2016-03-29 12:16:42
阅读次数:
170
Linux2.6的内核中引入了一种新的设备驱动模型-平台(platform)设备驱动,平台设备驱动分为平台设备(platform_device)和平台驱动(platform_driver),平台设备的引入使得Linux设备驱动更加便于移植。一、平台设备平台设备结构体: 1 struct platfo...
分类:
系统相关 时间:
2016-01-06 23:38:53
阅读次数:
265
今天看了《Linux设备驱动开发详解》的第四章模块和第五章文件。学长给了一个的任务:删除Linux内核中的DM9000的驱动模块,重新编译内核。这篇文章现在写肯定还不够完善,我之后我会再补全,所以先打一个“@”的标记。首先,我从文件中找到DM9000驱动模块所在位置,在~/drives/net下。于...
分类:
系统相关 时间:
2016-01-06 23:32:24
阅读次数:
385
自旋锁的思考:http://bbs.chinaunix.net/thread-2333160-1-1.html近期在看宋宝华的《设备驱动开发具体解释》第二版。看到自旋锁的部分,有些疑惑。所以来请教下大家。以下是我參考一些网络上的资料得出的一些想法,不知正确与否。记录下来大家讨论下:(1) linux...
分类:
系统相关 时间:
2015-12-19 13:38:26
阅读次数:
313
一. 摘要这篇文章主要介绍了Linux内核模块的相关概念,以及简单的模块开发过程。主要从模块开发中的常用指令、内核模块程序的结构、模块使用计数以及模块的编译等角度对内核模块进行介绍。在Linux系统开发过程中,以模块的形式开发其重要性不言自明,而在嵌入式设备驱动开发中将驱动程序以模块的形式发布,更是...
分类:
系统相关 时间:
2015-12-07 10:19:26
阅读次数:
215
我有DIY一Android遥控-所有开源1.试用 记得宋宝华在「设备驱动开发具体解释」提出一个这种理论「软件和硬件互相渗透对方的领地」,这次证明还是确实是这样,使用上层APP软件加上简单的更为简单的硬件设计就能够完毕一个遥控器了。 有开发应用程序网友发E-mail问网上那种DIY的红外遥控器...
分类:
移动开发 时间:
2015-09-01 21:34:54
阅读次数:
479
3.2.7 错误处理 #include char * collect_data(char *userbuffer) { char *buffer; /* ... */ buffer = kmalloc(100, GFP_KERNEL); if (!buf...
分类:
系统相关 时间:
2015-08-11 20:44:20
阅读次数:
124
《Linux设备驱动开发详解:基于最新的Linux 4.0内核》china-pub今日上线进入预售阶段: http://product.china-pub.com/4733972...
分类:
系统相关 时间:
2015-08-10 14:49:53
阅读次数:
401
绝对干货~~学习Linux设备驱动开发的过程中自然会遇到字符设备驱动、平台设备驱动、设备驱动模型和sysfs等相关概念和技术。对于初学者来说会非常困惑,甚至对Linux有一定基础的工程师而言,能够较好理解这些相关技术也相当不错。本文横向比较关联各个驱动相关的知识点和纵向剖析Linux整个驱动软件层次,传道授业解惑!!...
分类:
其他好文 时间:
2015-07-25 00:18:40
阅读次数:
251
1.驱动概述和开发环境搭建
1.1驱动设备的作用
对设备驱动最通俗的解释就是“驱动硬件设备行动”。驱动与底层硬件直接打交道,按照硬件设备的具体工作方式,读写设备的寄存器,完成设备的轮训、中断处理、DMA通信,进行物理内存向虚拟内存的映射等,最终让通信设备能收发数据,让显示设备能显示文字和画面,让存储设备能记录文件和数据。...
分类:
系统相关 时间:
2015-07-21 20:41:36
阅读次数:
747