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设备驱动
如何学习
linux设备驱动
Alessandro的《
linux设备驱动
程序》,编写驱动时,发现并不能够成功的在你的linux平台上编译通过、或不能正常执行。你的朋友会告诉你,你用的内核和书里的不一致。那该怎么办呢?
刘艳磊
·
2020-07-13 07:17
杂七杂八
Linux设备驱动
开发
一个基本的
Linux设备驱动
开发环境由宿主机和目标机组成,宿主机就是用来做驱动开发工作的主机,目标机就是用来运行和测试设备驱动的主机,在宿主机上需要有开发工具(gcc,gdb,make等)和linux源码
Linux先生
·
2020-07-13 06:11
embedded
dev
Linux
一点Linux心得: 编译 modutils-2.4.27-1.src.rpm
我目前在看宋宝华老师的《
Linux设备驱动
开发详解》;书中提到Linux内核编译部分,需要升级modutils和module-init-tools.module-init-tools还好一下就编译过。
Golden_Chen
·
2020-07-13 00:17
linux
linux设备驱动
(字符)练习 #1 基本框架
环境:board:JZ2440arch:armCPU:arm920tkernel:linux2.6基本框架本篇作为linux驱动练习第一篇,理应从零开始,优先将基本框架准备好,而后根据需要往框架中填充需要的功能。驱动作为linux内核功能的补充,在已有的linux内核框架基础上,驱动可以作为模块很容易地加入到内核并发挥其预期的功能。一般驱动可以以build-in和modules的方式加入到内核中,
CryptonymAMS
·
2020-07-13 00:42
linux驱动练习
驱动程序
linux
c语言
内核
嵌入式
Linux设备驱动
开发-linux驱动中的阻塞访问方式
阻塞与非阻塞是设备访问的两种不同的模式。什么是阻塞操作呢?其是指在执行设备操作的时候,如果不能获得资源,则挂起进程直到满足可操作的条件后再进行操作.而非阻塞操作则是在进程不能进行设备操作时,并不挂起到等待队列,而是放弃或者不断的查询,直到能够进行操作。应用程序以阻塞的方式进行read操作的时候,会调用一个systemcall,将系统的控制权交给kernel后就进入等待状态,等kernel将这个sy
强强的博客
·
2020-07-12 20:14
学习《
Linux设备驱动
程序》在Vmware里面搭建程序测试环境
平台:VmWare+Fedora7版本:Linux2.6.21-1.3194.fc71.安装gcc由于默认安装没有gcc,所以只能选择rpm安装。因为各个安装文件有依赖关系,故按以下顺序安装(安装文件存放在安装光盘的Fedora目录下)才能成功:rpm-ivhcpp-4.1.2-12(默认已安装)rpm-ivhgcc-4.1.2-12.i386.rpmrpm-ivhgcc-c++-4.1.2-12
ysr1980
·
2020-07-12 18:16
LINUX设备驱动
之设备模型五--device&driver&bus(三)
uthor:EricFangDate:2010-01-18-----------------------------------------------------------------本站分析linux内核源码,版本号为2.6.32.3转载请注明出处:http://ericfang.cublog.cn/----------------------------------------------
yangzhu1982
·
2020-07-12 18:58
Driver
《
Linux设备驱动
程序开发详解》中的virtualBox下的ubuntu在vmware下使用
最近在看宋宝华老师的《
Linux设备驱动
程序开发详解》第三版,在看到1.5小节
Linux设备驱动
的开发环境构建时,我也打算在自己电脑使用宋老师的系统(里面有书配套的源码)。
xlh1191860939
·
2020-07-12 17:44
Linux驱动
virtualbox
vmware
ubuntu
linux
Linux设备驱动
开发详解-Note(13)--- 字符设备驱动(2)
字符设备驱动(2)成于坚持,败于止步globalmem程序源码#include#include#include#include#include#include#include#include#include#include#include#include#defineGLOBALMEM_SIZE0x1000/*4KB*/#defineMEM_CLEAR0x1/*clearglobalememory
Ela--学海无涯
·
2020-07-12 17:08
Linux设备驱动
程序加载/卸载方法汇总
linux加载/卸载驱动有两种方法。1.modprobe注:在使用这个命令加载模块前先使用depmod-a命令生成modules.dep文件,该文件位于/lib/modules/$(uname-r)目录下;modprobe命令智能地向内核中加载模块或者从内核中移除模块,可载入指定的个别模块,或是载入一组相依的模块。modprobe会根据depmod所产生的依赖关系,决定要载入哪些模块。若在载入过程
were0415
·
2020-07-12 15:12
linux驱动
20181215《
linux设备驱动
开发详解》宋宝华 学习笔记(2)
第二章驱动设计的硬件基础1.处理器通用处理器主流的ARM移动处理芯片供应商包括高通(Qualcomm)、三星(Samsung)、英伟达(Nvidia)、美满(Marvell)、联发科(MTK)、海思(HiSilicon)、展讯(Spreadtrum)等。德州仪器(TI)、博通(Broadcom)则已淡出手机芯片业务。中央处理器的体系结构可以分为两类,一类为冯·诺依曼结构,另一类为哈佛结构。Inte
木木今日子
·
2020-07-12 10:38
QEMU
Linux设备驱动
编程之内存与I/O操作
Linux设备驱动
编程之内存与I/O操作2006-10-2713:35作者:宋宝华出处:天极开发责任编辑:方舟(2)内存映射方式(Memory-mapped)RISC指令系统的CPU(如ARM、PowerPC
weixin_34268310
·
2020-07-12 09:32
《Linux4.0设备驱动开发详解》笔记--第一章:
Linux设备驱动
概念及基础
1.1.设备驱动的分类字符驱动块驱动网络驱动1.2硬件基础中央处理器结构的分类:冯诺依曼:指令和数据合并在一起,数据宽度相同(Intel和arm7)哈弗:指令和数据分开,可以有不同的数据宽度(arm9-cortex系列)通用处理器分类:为控制器(MCU),又称单片机微控制器(MPU)DSP分类:定点DSP和浮点DSP浮点用硬件来实现,处理速度高于定点定点DSP只能用定点运算来模拟浮点运算指令集分类
weixin_30840573
·
2020-07-12 07:44
class_create(),class_device_create()创建/dev/xxx 名字
在刚开始写
Linux设备驱动
程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,并在卸载模块时删除该节点
weixin_30337251
·
2020-07-12 05:19
《
Linux设备驱动
开发详解》学习笔记(一)
1、安装好光盘提供的虚拟机和Ubuntu系统,Linux内核在/home/baohua/develop/linux目录中。在编译内核时,需要配置内核,可以使用下面命令中的一个:#makeconfig(基于文本的最为传统的配置界面,不推荐使用)#makemenuconfig(基于文本菜单的配置界面)#makexconfig(要求QT被安装)#makegconfig(要求GTK+被安装)在/home/
jfyh5388
·
2020-07-12 01:16
嵌入式
linux
device_create 函数详细分析
我们在刚开始写
Linux设备驱动
程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,并在卸载模块时删除该节点
tanyjin
·
2020-07-12 00:34
Linux
驱动
file_operations中各项解析
linux设备驱动
中file_operations结构体分析structmodule*owner第一个file_operations成员根本不是一个操作;它是一个指向拥有这个结构的模块的指针.这个成员用来在它的操作还在被使用时阻止模块被卸载
sunsea1026
·
2020-07-12 00:20
驱动
《
linux设备驱动
开发详解》中支持阻塞操作的globalfifo设备驱动
代码解析基于上文”《
linux设备驱动
开发详解》中globalmem代码笔记“的代码,只是将globalmem中的全局内存(devp所指)变成FIFO,并将globalmem重命名为”globalfifo
star714cong
·
2020-07-11 23:15
LINUX
注册字符设备时的 class_create() 与 device_create()
在刚开始写
Linux设备驱动
程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,并在卸载模块时删除该节点
sir_zeng
·
2020-07-11 23:00
android
驱动
《linux 设备驱动开发详解4.0》 第一章
Linux设备驱动
概念及基础--总结
设备驱动最通俗的解释就是“驱使硬件设备行动”(1)无操作系统时的设备驱动在没有操作系统的情况下,设备驱动的接口被直接提交给应用软件工程师,应用软件没有跨越任何层次就直接访问设备驱动的接口。(2)有操作系统时的设备驱动有操作系统把单一的“驱使硬件设备行动”变成了操作系统内与硬件交互的模块,它对外呈现为操作系统的API,不再给应用软件工程师直接提供接口。(3)设备的分类及特点计算机系统的硬件主要由CP
技术芯
·
2020-07-11 23:30
linux
设备驱动开发详解4
DMA(
Linux设备驱动
程序)
直接内存访问DMA是一种硬件机制。它允许外围设备和主内存之间直接传输它们的I/O数据,而不需要系统处理器的参与。DMA需要设备驱动程序分配一个或者多个适合执行DMA的特殊缓冲区。许多驱动程序在初始化阶段分配了缓冲区,一直使用它们直到关闭。分配DMA缓冲区设备使用ISA或者PCI系统总线传输数据时,这两种方式使用的都是物理地址。但SBus在外围总线上使用了虚拟地址。模块只能在运行时刻分配它们的缓冲区
s651665496
·
2020-07-11 22:36
Linux编程学习
Linux设备驱动
程序学习(12) -Linux设备模型(底层原理简介)
以《LDD3》的说法:Linux设备模型这部分内容可以认为是高级教材,对于多数程序作者来说是不必要的。但是我个人认为:对于一个嵌入式Linux的底层程序员来说,这部分内容是很重要的。以我学习的ARM9为例,有很多总线(如SPI、IIC、IIS等等)在Linux下已经被编写成了子系统,无需自己写驱动;而这些总线又不像PCI、USB等在《LDD3》上有教程,有时还要自己研究它的子系统构架,甚至要自己添
ruixj
·
2020-07-11 22:14
嵌入式系统的研究与开发
基于类linux的开发
Linux设备驱动
开发(一)—— platform总线、设备和驱动
platform总线、设备和驱动一个现实的Linux设备和驱动通常都需要挂载在一种总线上,对于本身依附于PCIUSB、I2C、SPI等的设备而言,这自然不是问题,但是在嵌入式系统中,SoC系统中集成的独立的外设控制器,挂接在SoC内存空间的外设却不依附于此类总线。因此,Linux发明了一种虚拟的总线,称为platform总线(虚拟总线),相应的设备称为platform_device,驱动称为pla
Thanos Yan
·
2020-07-11 21:27
linux设备驱动
宋宝华《
Linux设备驱动
开发详解》——sysfs文件系统与linux设备模型(5.4.2)
以下读书笔记内容,摘自宋宝华《
Linux设备驱动
开发详解》一书。
天糊土
·
2020-07-11 14:04
读书笔记
linux设备驱动
模型一三基础结构之Kobject
在linux的驱动表示中,主要有三个基本的结构,分别是kobject,kset,ktype.Kobject,kset,kypte这三个结构是设备模型中的下层架构。模型中的每一个元素都对应一个kobject.kset和ktype可以看成是kobject在层次结构与属性结构方面的扩充。将三者之间的关系用图的方示描述如下:如上图所示:我们知道。在sysfs中每一个目录都对应一个kobject.这些kob
new_abc
·
2020-07-11 13:10
Linux
linux设备驱动模型
[转载]基于platform总线的驱动分析
原因详见
Linux设备驱动
模型与sys
西西人
·
2020-07-11 12:38
linux
嵌入式
Linux设备驱动
程序:在运行时读取驱动程序状态
嵌入式
Linux设备驱动
程序:在运行时读取驱动程序状态EmbeddedLinuxdevicedrivers:Readingdriverstateatruntime在运行时了解驱动程序一旦有了一个正在运行的
吴建明wujianming
·
2020-07-11 12:00
Linux设备驱动
开发详解总结(一)之字符设备驱动结构
Linux字符设备驱动结构1.1cdev结构体在Linux2.6内核中,使用cdev结构体来描述一个字符设备,cdev结构体的定义如下:structcdev{structkobjectkobj;structmodule*owner;/*通常为THIS_MODULE*/structfile_operations*ops;/*在cdev_init()这个函数里面与cdev结构联系起来*/structl
lwj103862095
·
2020-07-11 12:13
Linux驱动
Linux设备驱动
之字符设备(三)
在
Linux设备驱动
之字符设备(一)中学习了设备号的构成,设备号的申请与释放。在
Linux设备驱动
之字符设备(二)中学习了如何创建一个字符设备,初始化,已经注册到系统中和最后释放该字符设备。
Loopers
·
2020-07-11 11:43
Linux设备驱动
Linux设备驱动
之Kobject、Kset
纠结又纠结,虽然看了一些关于kobject和kset的书与文章,但是对于这两个东西,还是不太明白,又分析了一遍2.6.32.2内核的代码,结合前人的努力,终于有了一点眉目。总结一下,给自己做个笔记,也给初学者一点指引。LDD3中说,Kobject的作用为:1、sysfs表述:在sysfs中出现的每个对象都对应一个kobject,它和内核交互来创建它的可见表述。2、热插拔事件处理:kobject子系
Linux学习之路
·
2020-07-11 11:08
Device
Model
linux设备驱动
--globalmem字符设备框架分析
linux设备驱动
--globalmem字符设备框架分析最近正在学习设备驱动开发,因此打算写一个系列博客,即是对自己学习的一个总结,也是对自己的一个督促,有不对,不足,需要改正的地方还望大家指出,而且希望结识志同道合的朋友一起学习技术
liufei_learning
·
2020-07-11 11:46
linux驱动开发
关于召回《
Linux设备驱动
开发详解-基于最新的Linux 4.0内核》的通知
问题描述关于《
Linux设备驱动
开发详解:基于最新的Linux4.0内核》一书1.华章分社在没有征得作者同意的情况下,修改了作者稿件,其后也未发给作者审核,造成许多错误;比如把criticalsection
Linux阅码场
·
2020-07-11 09:47
转)Linux学习路线
《
Linux设备驱动
设计》:必买必看,实用性强;4.《AdvancedPrograminginUni
吾日三省-
·
2020-07-11 09:07
linux
linux设备驱动
模型之总线、设备、驱动三者的关系
总线、设备、驱动,也就是bus、device、driver,在内核里都有对应的结构体,在include/linux/device.h里定义。Device.h(linux-3.4.2\include\linux)1、总线、设备、驱动三者的关系2、结构体(1)总线结构体structbus_type{constchar*name;/*总线名*/constchar*dev_name;structdevi
【星星之火】
·
2020-07-11 06:33
linux设备驱动
程序--在用户空间注册文件接口
linux字符设备驱动程序--创建设备节点基于4.14内核,运行在beagleBonegreen在上一讲中,我们写了第一个
linux设备驱动
程序——hello_world,在驱动程序中,我们什么也没有做
did59261
·
2020-07-11 05:17
LINUX—字符设备驱动之-globalmem
下面将以
linux设备驱动
开发详解上的globalmem设备驱动为例来详细分析字符设备驱动的过程。
califan
·
2020-07-11 03:42
《
Linux设备驱动
开发详解》学习笔记
Linux设备驱动
开发详解学习笔记书名:《
Linux设备驱动
开发详解》第二版主机环境:Linuxversion2.6.25-14.fc9.i686@Fedoraarm-linux-gcc版本:version4.4.1
bafei4705
·
2020-07-11 02:05
Linux设备驱动
开发详解(宋宝华)学习笔记-第一章 设备驱动概述
对设备驱动最通俗的解释就是“驱使硬件设备行动”。设备驱动与底层硬件直接打交道,按照硬件设备的具体工作方式读写设备寄存器,完成设备的轮询、中断处理、DMA通信,进行物理内存向虚拟内存的映射,最终使通信设备能够收发数据,使显示设备能够显示文字和画面,使存储设备能够记录文件和数据。驱动针对的对象是存储器和外设(包括CPU内部集成的存储器和外设),而不是针对CPU核。Linux将存储器和外设分为3个基础大
BradleyBill
·
2020-07-10 20:38
Linux相关
《
Linux设备驱动
开发详解》源码(4.1)——hello
/home/lihacker/develop/svn/ldd6410-read-only/training/kernel/drivers/hello/**Asimplekernelmodule:"helloworld"**TheinitialdeveloperoftheoriginalcodeisBarrySong*.AllRightsReserved.*/#include#includestat
口天土立口
·
2020-07-10 20:10
驱动程序
Linux设备驱动开发详解
Linux设备驱动
的分层设计思想
1.1设备驱动核心层和例化在面向对象的程序设计中,可以为某一类相似的事物定义一个基类,而具体的事物可以继承这个基类中的函数。如果对于继承的这个事物而言,其某函数的实现与基类一致,那它就可以直接继承基类的函数;相反,它可以重载之。这种面向对象的设计思想极大地提高了代码的可重用能力,是对现实世界事物间关系的一种良好呈现。Linux内核完全由C语言和汇编语言写成,但是却频繁用到了面向对象的设计思想。在设
宋宝华
·
2020-07-10 20:32
Linux
Driver开发
20181215《
linux设备驱动
开发详解》宋宝华 学习笔记(1)
1.设备驱动的作用设备驱动充当了硬件和应用软件的纽带(那设备驱动和操作系统之间的关系是什么?)应用软件时只需要调用系统软件的应用编程接口(API)就可让硬件去完成要求的工作。在系统没有操作系统的情况下,工程师可以根据硬件设备的特点自行定义接口,如对串口定义SerialSend()、SerialRecv(),对LED定义LightOn()、LightOff(),对Flash定义FlashWr()、F
木木今日子
·
2020-07-10 19:24
QEMU
宋宝华《
linux设备驱动
开发详解》——platform设备驱动(12.2)
以下读书笔记,整理于宋宝华《
linux设备驱动
开发详解》一书。
天糊土
·
2020-07-10 17:22
读书笔记
"
Linux设备驱动
开发详解" 笔记
《
Linux设备驱动
开发详解》第2版宋宝华编著BoughtonDec1,2010,Notedon2015.6【声明】本文大部分内容摘自《
Linux设备驱动
开发详解》第2版,或者网上搜索,故不单独注明内容出处第一篇
jerry7582597
·
2020-07-10 17:44
_legacy
在驱动模块初始化函数中实现设备节点的自动创建
我们在刚开始写
Linux设备驱动
程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,并在卸载模块时删除该节点
华清远见嵌入式学院
·
2020-07-10 16:47
linux嵌入式方向
推荐!畅销书作者宋宝华老师专题讲座(Linux驱动)
宋宝华老师的书一直深受读者好评,《
Linux设备驱动
开发详解》一经出版即蝉联最畅销原创图书榜首,并荣获2008“十大畅销经典”和“十大原创精品”。
华清远见嵌入式学院
·
2020-07-10 16:47
关于我
宋宝华 《
Linux设备驱动
开发详解》示例代码之fifo字符设备驱动
驱动代码如下:scull.c#include#include#include#include#include#include#include#include#defineSCULL_MAJOR252#defineSCULL_NAME"scull"#defineMAX_DATA0x10staticintscull_major=SCULL_MAJOR;structscull_dev{structcde
bg2bkk
·
2020-07-10 16:44
LDD3学习
宋宝华 《
Linux设备驱动
开发详解》示例代码之基本字符设备驱动
最简单的字符设备驱动代码scull.c#include#include#include#include#include#include#include#defineSCULL_MAJOR252#defineSCULL_NAME"scull"#defineMAX_DATA0x1000staticintscull_major=SCULL_MAJOR;structscull_dev{structcdev
bg2bkk
·
2020-07-10 16:44
LDD3学习
宋宝华 《
Linux设备驱动
开发详解》之基本字符设备驱动misc版本
将普通字符设备驱动改造成misc设备,misc设备没有字符设备那么麻烦,以后自己写的驱动尽量用misc设备来代替scull.c#include#include#include#include#include#include#include#include#defineSCULL_NAME"scull"#defineMAX_DATA0x1000structscull_dev{structmiscde
bg2bkk
·
2020-07-10 16:44
LDD3学习
Linux设备驱动
开发详解-Note(6)---Linux 内核及内核编程(2)
Linux内核及内核编程(2)成于坚持,败于止步Linux下的C编程举例零长度数组GNUC允许使用零长度数组,在定义变长对象的头结构时,这个特性非常有用。例如:structvar_data{intlen;chardata[0];};chardata[0]仅仅意味着程序中通过var_data结构体实例的data[index]成员可以访问len之后的第index个地址,它并没有为data[]数组分配内
Ela--学海无涯
·
2020-07-10 12:00
第21章
Linux设备驱动
的调试之strace
21.8strace在Linux系统中,strace是一种相当有效的跟踪工具,strace的主要特点是可以被用来监视系统调用。不仅可以用strace调试一个新开始的程序,也可以调试一个已经在运行的程序(这意味着把strace绑定到一个已有的PID上)。对于第6章的globalmem字符设备文件,以strace方式运行如代码清单21.8所示的用户空间应用程序globalmem_test(使用gcc命
静能生悟
·
2020-07-10 12:05
Linux驱动开发
上一页
8
9
10
11
12
13
14
15
下一页
按字母分类:
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
其他