E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
linux设备驱动
<2012 11 6 >
linux设备驱动
程序开发初探(4) linux的中断体系_按键中断驱动程序编写
2012 11 4 linux的中断体系 linux的中断体系是“异常体系”的一部分,由于大多数时候用户(驱动程序和应用程序开发者)只需要使用中断体系来进行程序设计,因此这里专注于介绍linux中断体系的结构。 一、异常===>中断 ①、内核初始化时,trap_int函数构造了类似裸机中断向量表的一个异常表,并在内存中重定位。 ②、在中断发生后,一个用宏实现的vector_irq跳转保
·
2015-11-12 15:57
linux
<2012 11 4 >
linux设备驱动
程序开发初探(3) 练习:从零写一个查询式按键驱动程序
linux设备驱动
程序开发初探(3) 练习:从零写一个查询式按键驱动程序 步骤:①先写出驱动程序框架实例化一个file_operation结构体,其中描述操作②填充框架,按照原理图操作硬件------
·
2015-11-12 15:42
linux
<2012 11 3 >
linux设备驱动
程序开发初探(2) udev/mdev机制 LED的驱动程序
<
linux设备驱动
程序开发初探(2)> 在<
linux设备驱动
程序开发初探(1)>中,已经实现了一个最简单的、框架式的linux驱动程序,以及编译、加载和使用的概念与总体流程
·
2015-11-12 15:41
linux
<2012 11 3 >
linux设备驱动
程序开发初探(1) 目次 概念 框架 最小驱动程序
<
linux设备驱动
程序开发初探> based on WeiDongshan ------------------Content--------------------一、字符设备驱动程序
·
2015-11-12 15:40
linux
linux设备驱动
第一篇:设备驱动程序简介
首先,我们知道驱动是内核的一部分,那么驱动在内核中到底扮演了什么角色呢? 设备驱动程序在内核中的角色:他们是一个个独立的“黑盒子”,使某个特定的硬件响应一个定义良好的内部编程接口,这些接口完全隐藏了设备的工作细节。(说白了,驱动程序除了对外提供特定的接口外,任何实现细节对应用程序都是不可见的。)用户的操作通过一组标准化的调用执行,而这些调用独立于特定的驱动程序。驱动程序的任务是把这些标准化调用映
·
2015-11-12 12:38
linux
如何学习
linux设备驱动
作者:于连庆,华清远见嵌入式培训中心讲师。 Linux系统目前主要维护2.4和2.6两个内核版本,在http://www.kernel.org/ 网站上已经可以下载到最新的2.6内核linux-2.6.38.6,及最新的2.4内核linux-2.4.37.11。稳定版本号基本上是1~3月更新一次,如:2.6.35至2.6.36,升级版本号每1~2周更新一次,如:2.6.35.1至2.6.35.2
·
2015-11-12 12:49
linux
Linux中块设备驱动程序分析
基于《
Linux设备驱动
程序》书中的sbull程序以对Linux块设备驱动总结分析。
·
2015-11-12 11:31
linux
linux设备驱动
中的并发控制
在linux内核中,主要的静态发生于以下几种情况: 1、对称多处理器(SMP)的多个CPU: 多个CPU共同使用系统总线,可访问共同点的外设和存储器。 2、单CPU内核进程与抢占它的进程: 一个进程的执行可被另一高优先级进程打断。 3、中断(硬中断、软中断、Tasklet,底半部)与进程之间: 中断可以打断正在执行的进程,若访问该进程正在访问的空间,将引发竞
·
2015-11-12 09:44
linux
CTDIY-1-字符设备驱动的使用
首先来copy一个例程来试试字符设备到底是如何 //globalmem.c 本例程来源于《
linux设备驱动
开发详解》 #include<linux/module.h>
·
2015-11-12 09:43
DI
S5PV210(TQ210)学习笔记——按键驱动程序
学习
Linux设备驱动
,通常是从字符设备驱动开始。
·
2015-11-11 19:57
学习笔记
Linux设备驱动
中的并发控制
中断屏蔽、原子操作、自旋锁和信号量等是
Linux设备驱动
中可采用的互斥途径。
·
2015-11-11 18:33
linux
Linux设备驱动
编程中的中断与定时器处理
所谓中断是指CPU在执行过程中,出现某些突发时间急待处理,CPU必须暂停执行当前的程序,转去处理突发事件,处理完毕后CPU又返回原程序被中断的位置并继续执行。 中断分为(根据中断源来分): 内部中断(软件中断指令,溢出,除法错误等)【例如操作系统从用户态切换到内核态需借助CPU内部的软件中断】。 &n
·
2015-11-11 17:26
linux
Linux设备驱动
中的异步通知与异步I/O
异步通知概念: 异步通知的意识是,一旦设备就绪,则主动通知应用程序,这样应用程序根本就不需要查询设备状态,这一点非常类似于硬件上的“中断”概念,比较准确的称谓是“信号驱动的异步IO”,信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求是一样的。信号是异步的,一个进进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。 异步通
·
2015-11-11 17:24
linux
Linux驱动开发 -- 打开dev_dbg()
Linux驱动开发 -- 打开dev_dbg() 2012-10-23 19:21:54 分类: LINUX
linux设备驱动
调试,我们在内核中看到内核使用dev_dbg来控制输出信息,
·
2015-11-11 16:04
linux
Linux设备驱动
01
准备: 1、英语-是工具 2、电路原理图-补充“数电”的知识 3、阅读内核代码的能力 linux:vi+ctags+cscope windows:source insight 驱动开发的步骤 I、编辑 模块的组成: 1、许可证的声明,许可证通常使用GPL协议,如果不声明许可证内核会产生“抱怨”信息,同时内核中的一些遵循GPL协议的功能函数将会无法使用,造成驱动功能受限。 2、加
·
2015-11-11 16:50
linux
字符设备驱动程序
Linux设备驱动
程序之读书笔记(一)  
·
2015-11-11 13:16
程序
Linux设备驱动
之I/O端口与I/O内存
一、统一编址与独立编址 该部分来自于:http://blog.chinaunix.net/space.php?uid=21347954&do=blog&id=443670,感谢mason_hu的分享。 从CPU连出来一把线:数据总线、地址总线、控制总线,这把线上挂着N个接口,有相同的,有不同的,名字叫做存储器接口、中断控制接口、DMA接口、并行接口、串行接口、AD接口……一个
·
2015-11-11 08:31
linux
Linux设备驱动
之mmap设备操作
1.mmap系统调用 void *mmap(void *addr, size_t len, int prot, int flags, int fd, off_t offset); 功能:负责把文件内容映射到进程的虚拟地址空间,通过对这段内存的读取和修改来实现对文件的读取和修改,而不需要再调用read和write;参数:addr:映射的起始地址,设为NULL由系统指定; len:映射到内存的
·
2015-11-11 08:30
linux
Linux设备驱动
之Ioctl控制
大部分驱动除了需要具备读写设备的能力之外,还需要具备对硬件控制的能力。 一、在用户空间,使用ioctl系统调用来控制设备,原型如下: int ioctl(int fd,unsigned long cmd,...);/*fd:文件描述符cmd:控制命令...:可选参数:插入*argp,具体内容依赖于cmd*/ 用户程序所作的只是通过命令码告诉驱动程序它想做什么,至于怎么解释这些命
·
2015-11-11 08:29
linux
linux设备驱动
程序中的阻塞机制
阻塞与非阻塞是设备访问的两种方式。在写阻塞与非阻塞的驱动程序时,经常用到等待队列。 一、阻塞与非阻塞 阻塞调用是指调用结果返回之前,当前线程会被挂起,函数只有在得到结果之后才会返回。 非阻塞指不能立刻得到结果之前,该函数不会阻塞当前进程,而会立刻返回。 对象是否处于阻塞模式和函数是不是阻塞调用有很强的相关性,但并不是一一对应的。阻塞对象上可以有非阻塞的调用方式,我们可以通过一定的AP
·
2015-11-11 08:28
linux
linux设备驱动
第三篇:如何写一个简单的字符设备驱动?
在
linux设备驱动
第一篇:设备驱动程序简介中简单介绍了字符驱动,本篇简单介绍如何写一个简单的字符设备驱动。
·
2015-11-11 08:33
linux
Linux设备驱动
的第一个例子:Hello World
转自:http://blog.csdn.net/sxtyxdljbsg/article/details/6005727 Hello World Linux 设备驱动的第一个例子 。 一. 源程序( hello.c ) [cpp] view plain copy #include <
·
2015-11-11 06:55
Hello world
linux字符设备驱动学习笔记(一):简单的字符设备驱动
最近在鼓捣lnux字符设备驱动,在网上搜集的各种关于
linux设备驱动
的代码和注释,要么是针对2.4的,要么是错误百出,根本就不能运行成功,真希望大家在发博客的时候能认真核对下代码的正确性,特别是要把代码的运行环境和依赖条件列举出来
·
2015-11-11 05:47
linux
Linux异步通知fasync
本文转载于CSDN博客:转载请注明原文地址http://blog.csdn.net/billowszpt/article/details/7184302
linux设备驱动
归纳总结(三):7.异步通知
·
2015-11-11 05:03
linux
linux设备驱动
第五篇:驱动中的并发与竟态
综述 在上一篇介绍了linux驱动的调试方法,这一篇介绍一下在驱动编程中会遇到的并发和竟态以及如何处理并发和竞争。 首先什么是并发与竟态呢?并发(concurrency)指的是多个执行单元同时、并行被执行。而并发的执行单元对共享资源(硬件资源和软件上的全局、静态变量)的访问则容易导致竞态(race conditions)。可能导致并发和竟态的情况有: SMP(Symmetric Mul
·
2015-11-11 02:42
linux
linux设备驱动
第二篇:构造和运行模块
上一篇介绍了linux驱动的概念,以及linux下设备驱动的基本分类情况及其各个分类的依据和差异,这一篇我们来描述如何写一个类似hello world的简单测试驱动程序。而这个驱动的唯一功能就是输出hello world。 在编写具体的实例之前,我们先来了解下linux内核下调试程序的一个重要函数printk以及几个重要概念。 printk类似c语言的printf,是内核中输出打印信息的函数。
·
2015-11-11 02:41
linux
linux设备驱动
程序之简单字符设备驱动
一、linux系统将设备分为3类:字符设备、块设备、网络设备。使用驱动程序: 1、字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED设备等。2、块设备:是指可以从设备的任意位置读取一定长度数据的设备。块设备包括硬盘、磁盘、U盘和SD卡等。 每一个字符设备或块设
·
2015-11-11 02:20
linux
linux设备驱动
第四篇:驱动调试方法
上一篇我们大概聊了如何写一个简单的字符设备驱动,我们不是神,写代码肯定会出现问题,我们需要在编写代码的过程中不断调试。在普通的c应用程序中,我们经常使用printf来输出信息,或者使用gdb来调试程序,那么驱动程序如何调试呢?我们知道在调试程序时经常遇到的问题就是野指针或者数组越界带来的问题,在应用程序中运行这种程序就会报segmentation fault的错误,而由于驱动程序的特殊性,出现此类
·
2015-11-11 02:06
linux
linux device model简述
参考: 1)《
LINUX设备驱动
程序》第十四章 Linux 设备模型 2)内核源码2.6.38 内核初始化的时候会对设备模型作初始化,见init/main.c:
·
2015-11-10 23:20
device
简单linux网络驱动程序
本文代码参考《
LINUX设备驱动
程序》第十七章 网络驱动程序 网络地址和虚拟主机地址为: snullnet0 192.168.0.0 snullnet1 192.168.1.0 local0 192.168.0.1
·
2015-11-10 23:11
linux
简单linux块设备驱动程序
本文代码参考《
LINUX设备驱动
程序》第十六章 块设备驱动程序 本文中的“块设备”是一段大小为PAGE_SIZE的内存空间(两个扇区,每个扇区512字节) 功能:向块设备中输入内容,从块设备中读出内容
·
2015-11-10 23:09
linux
简单linux字符设备驱动程序
本文代码参考《
LINUX设备驱动
程序》第三章 字符设备驱动程序 本文中的“字符设备”是一段大小为PAGE_SIZE的内存空间 功能:向字符设备写入字符串;从字符设备读出字符串 代码: 1
·
2015-11-10 23:08
linux
Linux设备驱动
第六篇:高级字符驱动操作之iotcl
在之前我们介绍了如何实现一个简单的字符设备驱动,并介绍了简单的open,close,read,write等驱动提供的基本功能。但是一个真正的设备驱动往往提供了比简单读写更高级的功能。这一篇我们就来介绍一些驱动动中使用的一些高级的操作的实现。 大部分驱动除了提供对设备的读写操作外,还需要提供对硬件控制的接口,比如查询一个framebuffer设备能提供多大的分辨率,读取一个RTC设备的时间,设置一
·
2015-11-09 13:14
linux
linux设备驱动
第四篇:以oops信息定位代码行为例谈驱动调试方法
上一篇我们大概聊了如何写一个简单的字符设备驱动,我们不是神,写代码肯定会出现问题,我们需要在编写代码的过程中不断调试。在普通的c应用程序中,我们经常使用printf来输出信息,或者使用gdb来调试程序,那么驱动程序如何调试呢?我们知道在调试程序时经常遇到的问题就是野指针或者数组越界带来的问题,在应用程序中运行这种程序就会报segmentation fault的错误,而由于驱动程序的特殊性,出现此类
·
2015-11-09 13:07
linux
linux设备驱动
第三篇:写一个简单的字符设备驱动
在
linux设备驱动
第一篇:设备驱动程序简介中简单介绍了字符驱动,本篇简单介绍如何写一个简单的字符设备驱动。
·
2015-11-09 13:06
linux
linux设备驱动
第五篇:驱动中的并发与竟态
综述 在上一篇介绍了linux驱动的调试方法,这一篇介绍一下在驱动编程中会遇到的并发和竟态以及如何处理并发和竞争。 首先什么是并发与竟态呢?并发(concurrency)指的是多个执行单元同时、并行被执行。而并发的执行单元对共享资源(硬件资源和软件上的全局、静态变量)的访问则容易导致竞态(race conditions)。可能导致并发和竟态的情况有: SMP(Symmetric Mu
·
2015-11-09 13:33
linux
ubuntu 下编译
linux设备驱动
程序
学习
linux设备驱动
编程,用的系统是ubuntu10.10,hello程序已经编译成功,看《
linux设备驱动
程序》第六章,前辈教导我们要先看书,边实践,这样才能成长的快一些,所以看了代码后,想编译一下书自带的源码
·
2015-11-08 16:49
ubuntu
Linux设备驱动
中的并发控制
并发与竞态 并发(concurrency)指的是多个执行单元同时、并行被执行。 竞态因并发的执行单元对共享资源(1.硬件资源如寄存器,2.软件的全局变量、静态变量等)的访问所致。 竞态发生的情况: 1、对称多处理"(Symmetrical Multi-Processing)系统的多个CPU之间 对称多处理"(Symmetrical Multi-Proc
·
2015-11-07 15:47
linux
国嵌嵌入式学习笔记之学习方法
嵌入式处理器与裸机程序开发2、linux系统管理3、linux应用程序开发4、linux内核开发基础5、嵌入式linux环境搭建6、linux驱动程序开发7、深入学习linux内核参考书籍:《unix环境高级编程》、《
LINUX
杨家浪子
·
2015-11-07 14:29
学习方法
嵌入式
国嵌嵌入式学习笔记之学习方法
嵌入式处理器与裸机程序开发2、linux系统管理3、linux应用程序开发4、linux内核开发基础5、嵌入式linux环境搭建6、linux驱动程序开发7、深入学习linux内核参考书籍:《unix环境高级编程》、《
LINUX
杨家浪子
·
2015-11-07 14:29
学习方法
嵌入式
构建内核树
环境 :ubuntu 用途:
linux设备驱动
编程环境 步骤: 1.查找可用内核源码 apt-cache search linux-source 2.下载内核源码
·
2015-11-07 14:16
内核
嵌入式
linux设备驱动
编程环境搭建
嵌入式linux环境搭建 花了两天时间,终于搭建好了板子上的linux驱动开发环境,不容易呀,做个笔记。 首先搭建PC上的编译环境,因为编译的驱动是在板子上运行的,第一步当然需要安装交叉编译器,即arm-none-linux-gnueabi-gcc等或者是arm-linux-gcc等。其实比较简单,可以从网上下载或者光盘中得到,给出一个网址http://wiki.emsym.com/wiki/
·
2015-11-07 14:15
linux
Linux一些经典书籍
2.驱动篇 《
LINUX设备驱动
程序 》就是网上说的“
·
2015-11-07 14:02
linux
Linux设备驱动
程序学习(1)-字符设备驱动程序
今天进入《
Linux设备驱动
程序(第3版)》 第三章字符设备驱动程序的学习。
·
2015-11-07 11:38
linux
Linux设备驱动
程序学习(1) -字符设备驱动程序
《
Linux设备驱动
程序(第3版)》第三章字符设备驱动程序的学习。
·
2015-11-06 08:56
linux
Class create, device create, device create file[转]
开始写
Linux设备驱动
程序的时候,很多时候都是利用mknod命令手动创建设备节点(包括ldd3中不少例子也是这样),实际上现在Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev
fastwave2004
·
2015-11-05 14:00
《
Linux设备驱动
开发详解(第2版)》配套视频登录51cto教育频道
1.html http://edu.51cto.com/course/course_id-379-page-2.html 课时目录 共13课时 1 第一章
Linux
·
2015-11-03 21:13
linux
Linux设备驱动
程序学习(7)-内核的数据类型
由于前面的学习中有用到 第十一章 内核数据结构类型 的知识,所以我先看了。要点如下: 将linux 移植到新的体系结构时,开发者遇到的若干问题都与不正确的数据类型有关。坚持使用严格的数据类型和使用 -Wall -Wstrict-prototypes 进行编译可能避免大部分的 bug。 内核数据使用的数据类型主要分为 3 个类型: 标准 C 语言类型、确定大小的类型和特定内核对象的类型。
·
2015-11-03 21:25
linux
Linux设备驱动
程序学习(12) -Linux设备模型(底层原理简介)
以《LDD3》的说法:Linux设备模型这部分内容可以认为是高级教材,对于多数程序作者来说是不必要的。但是我个人认为:对于一个嵌入式Linux的底层程序员来说,这部分内容是很重要的。以我学习的ARM9为例,有很多总线(如SPI、IIC、IIS等等)在Linux下已经被编写成了子系统,无需自己写驱动;而这些总线又不像PCI、USB等在《LDD3》上有教程,有时还要自己研究它的子系统构架,甚至要自己添
·
2015-11-03 21:25
linux
Linux设备驱动
程序学习(5) -高级字符驱动程序操作[(2)阻塞型I/O和休眠]
这一部分主要讨论:如果驱动程序无法立即满足请求,该如何响应?(65865346) 一、休眠 进程被置为休眠,意味着它被标识为处于一个特殊的状态并且从调度器的运行队列中移走。这个进程将不被在任何 CPU 上调度,即将不会运行。 直到发生某些事情改变了那个状态。安全地进入休眠的两条规则: (1) 永远不要在原子上下文中进入休眠,即 当驱动在持有一个自旋锁、seqloc
·
2015-11-03 21:24
linux
上一页
17
18
19
20
21
22
23
24
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他