一、概念 应用程序使用API接口,如open、read等来最终操作驱动,有两种结果--成功和失败。成功,很好处理,直接返回想要的结果;但是,失败,是继续等待,还是返回失败类型呢? 如果继续等待,将进程休眠,那么这类驱动设计就是阻塞式的;如果不等待,返回失败的类型(原因),那么这类驱动的设计就是非阻塞 ...
分类:
系统相关 时间:
2017-05-27 17:13:44
阅读次数:
222
Linux内核从2.6.13-rc3开始,提供了在用户空间,可动态的绑定和解绑定设备和设备驱动之间关系的功能。在这之前,只能通过insmod(modprobe)和rmmod来绑定和解绑,而且这种绑定和解绑都是针对驱动和所有设备的。而新的功能可以设置驱动和单个设备之间的联系。这里,我们以pci总..
分类:
系统相关 时间:
2017-05-25 22:02:20
阅读次数:
166
一、中断 1、概念 学过单片机的应该非常清楚中断的概念,也就是CPU在正常执行程序过程中,出现了突发事件(中断事件),于是CPU暂停当前程序的执行,转去处理突发事件。处理完毕后,CPU又返回被中断的程序位置继续执行。 2、处理流程 单片机的中断处理程序相对简单,包含中断源的配置和中断服务程序的编写。 ...
分类:
系统相关 时间:
2017-05-20 19:32:41
阅读次数:
224
1:地址对硬件操作的影响(1)操作系统(指的是linux)下MMU肯定是开启的,也就是说linux驱动中肯定都使用的是虚拟地址。而纯裸机程序中根本不会开MMU,全部使用的是物理地址。这是裸机下和驱动中操控硬件的一个重要区别。(2)uboot早期也是纯物理地址工作的,但是现在的uboot开启..
分类:
其他好文 时间:
2017-05-19 22:28:27
阅读次数:
210
【linux驱动分析】之dm9000驱动分析(一):dm9000原理及硬件分析 【linux驱动分析】之dm9000驱动分析(二):定义在板文件里的资源和设备以及几个宏 【linux驱动分析】之dm9000驱动分析(三):sk_buff结构分析 【linux驱动分析】之dm9000驱动分析(四):n ...
分类:
系统相关 时间:
2017-05-15 19:53:08
阅读次数:
343
1.适用范围本文档可作为Linux驱动源码或库源码快速移植至SylixOS的参考。2.互斥信号量2.1概念简介互斥信号量(Linux中亦称为互斥锁)是因为多线程对临界区访问而存在的。只有拥有互斥对象的线程才具有访问资源的权限,当前占据资源的线程在任务处理完后应将拥有的互斥对象交出..
分类:
系统相关 时间:
2017-05-15 14:20:20
阅读次数:
240
上一篇介绍了Linux驱动的概念,以及linux下设备驱动的基本分类情况及其各个分类的依据和差异,这一篇我们来描述如何写一个类似hello world的简单测试驱动程序。而这个驱动的唯一功能就是输出hello world。 在编写具体的实例之前,我们先来了解下linux内核下调试程序的一个重要函数p ...
分类:
系统相关 时间:
2017-05-10 18:46:34
阅读次数:
261
一、核心学习课程 1、应用软件基础 Linux基础 C语言 2、底层驱动程序开发 ARM编程(ARM体系结构、ARM汇编、开发板常见的外设裸机编程) Linux驱动开发 二、Android扩展 · Android HAL驱动(基于Linux驱动的前提) · Android系统定制 · Android ...
分类:
其他好文 时间:
2017-05-04 01:30:26
阅读次数:
178
一、核心学习课程 1、应用软件基础 Linux基础 C语言 2、底层驱动程序开发 ARM编程(ARM体系结构、ARM汇编、开发板常见的外设裸机编程) Linux驱动开发 二、Android扩展 · Android HAL驱动(基于Linux驱动的前提) · Android系统定制 · Android ...
分类:
其他好文 时间:
2017-05-03 17:12:44
阅读次数:
153
内核之中数据结构之间的关系图 设备驱动程序 ...
分类:
系统相关 时间:
2017-04-30 22:59:59
阅读次数:
328