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驱动
程序介绍makemenuconfig后出现的菜单依赖于内核的drivers/char/Kconfig文件vimKconfig可见类似以下内容:configHW_CONSOLEbool
山影水痕
·
2020-08-15 15:18
学习笔记及疑问
Linux相关
LINUX网卡驱动分析――Intel(R) PRO/100 Network Driver
LINUX网卡驱动分析――Intel(R)PRO/100NetworkDriver最近学习
LINUX驱动
开发,看的是《LINUXDEVICEDRIVER》这本书,差不多能看懂,不过说实在的,都是些理论上的东西
sambios
·
2020-08-15 15:07
嵌入式开发
linux驱动
程序函数之字符驱动程序的设计
文章目录
linux驱动
程序的分类驱动程序的安装
linux驱动
程序的使用及设备号等设备号的分配创建设备文件(2种方法)3种重要的数据结构关于structfile_operations中函数的一些常用方法操作
飞翔的荷兰人号z
·
2020-08-15 15:19
嵌入式
linux
linux 驱动程序file_operations结构体学习
linux驱动
程序file_operations结构体学习一、file_operations结构体的作用是用来存储驱动内核模块提供的对设备进行各种操作的函数的指针。
海月汐辰
·
2020-08-15 15:40
Linux驱动编程
Linux系统编程
Linux驱动
开发——内核延时操作和内核等待队列
文章目录Linux内核延时概念应用场景Linux内核相关延时函数Linux内核等待队列机制概述等待队列的功能驱动编程实施步骤示例代码(一)示例代码(二)总结Linux内核延时概念延时又称为等待,延时分为两类:忙延时和休眠延时。忙延时:当任务进行忙延时时,任务将会导致所占用的CPU资源进行白白消耗,类似原地空转。休眠延时:进程进入休眠状态,进程会释放所占用的CPU资源给其他进程使用。应用场景忙延时应
跑不了的你
·
2020-08-15 15:08
Linux驱动
嵌入式相关基础知识
linux驱动
模块开机自动加载,以及应用程序开机自启动
第一种方法:相对来说简单将测试程序放在/bin底下,然后用vi编辑/etc/init.d/rcS,加上/bin/应用程序名&,加上&表示后台运行这两个功能的实现都是通过设置启动脚本来实现的。启动脚本的一般存放路径是/etc/init.d/rcS(rcS即脚本文件),自启动应用程序一般放置于/etc/rc.d/init.d目录下。我们需要用vi命令对rcS进行编辑,当然也可以通过其他方式对其进行覆盖
聚优致成
·
2020-08-15 15:11
linux设备驱动
Linux内核模块分析(module_init宏)
我们在学习
Linux驱动
开发时,首先需要了解Linux的模块化机制(module),但是module并不仅仅用于支撑驱动的加载和卸载。
阿基米东
·
2020-08-15 14:06
ARM&系统移植
Linux设备驱动
linux驱动
编程(六)--Menuconfig操作、Kconfig、.config文件、内核配置裁剪
一、Menuconfig的操作1.Linux编译器通过.config文件确认哪些代码编译进内核,哪些被裁剪掉2.menuconfig是生成.config文件的一个工具3.配置内核可以使用以下命令#makeconfig//(基于文本的最传统的配置界面)#makemenuconfig//(基于文本菜单的配置界面)(用最多)#makexconfig//(要求安装QT)#makegconfig//(要求安
鲁班班班七号
·
2020-08-15 14:37
linux
linux驱动
platform_set_drvdata 和 platform_get_drvdata这两个函数
驱动中常用到platform_set_drvdata和platform_get_drvdata这两个函数,用于保存局部变量:include/linux/platform_device.h中:staticinlinevoid*platform_get_drvdata(conststructplatform_device*pdev){returndev_get_drvdata(&pdev->dev);
落叶逆风
·
2020-08-15 14:17
Linux驱动
之make menuconfig make uImage Kconfig
makemenuconfig执行过程执行scripts/kconfig/mconf,并解析arch/mips/Kconfig文件(若是x86平台,则是arch/i386/Kconfig)生成配置菜单项加载顶层目录中的.config文件,对配置菜单项进行设置。完成后,更新.config文件,同时生成include/linux/autoconf.h文件,此文件会被include/linux/confi
king523103
·
2020-08-15 14:23
Linux驱动
树莓派
linux驱动
学习之LED控制
前面我们编写了helloworld的程序,接下来继续研究GPIO功能,通过GPIO来控制LED的亮灭,这在单片机中应该算是十分简单的一个程序了,但是在Linux系统中控制GPIO没有那么简单,难点就在于GPIO地址的获取,也是我一直在纠结的问题。一、GPIO地址我看了中嵌的嵌入式开发视频,里面使用三星2440控制LED的亮灭,但是驱动程序中没有写清楚具体的底层是如何实现的,这也是我查找的重点。我首
judyge
·
2020-08-15 14:13
高级计算与工程
linux驱动
之--fops的关联
1.各种驱动形式不过是表象,本质还是把fops注册到inode中。2.一直没有找到确实的“证据”不过还是有点线索的:device_create->device_create_vargs->dev_set_drvdata(dev,drvdata)把fops设置到了dev->p->driver_data中device_register->device_add->devtmpfs_create_node
jingema1
·
2020-08-15 14:09
linux
Linux驱动
之并发与竞态
并发控制与竞态:并发是指多个单元同时、并行被执行,而并发执行单元对共享资源的访问很容易导致竞态。竞态的解释:假设有一个设备,执行单元A对其写入3000个字符'a'而另一个执行单元B对其写入4000个'b',第三个执行单元C读取globalmem的所有字符,如果执行单元A、B对于设备的写入操作同时发生,此时就会造成竞态竞争状态的分类:1.对称多处理器(SMP)的多个CPUSMP是一种紧耦合、共享存储
阿特图
·
2020-08-15 14:52
linux驱动
linux
2-1、2-2字符设备驱动基本结构
申嵌
Linux驱动
开发基础班2-1字符设备驱动开发12-1字符设备驱动程序基本结构字符设备开发的基本步骤1、确定主设备号和次设备号2、实现字符驱动程序实现file_operations结构体实现初始化函数
gdliweibing
·
2020-08-15 14:46
linux驱动学习
ARM
linux驱动
-file_operations之mmap
简述:linux内存空间分为用户空间和内核空间,应用程序是不能直接访问内核空间的数据。mmap就是建立内核空间映射到用户空间虚拟地址上,之后,应用程序直接访问映射后虚拟地址,实际是在访问内核空间。应用程序mmap的系统调用:mmap声明的头文件:#include如是ubuntu系统,可以在/usr/include/sys目录下查看应用程序mmap声明:void*mmap(void*__addr,s
eZiMu
·
2020-08-15 13:50
linux驱动
module_init的加载和释放
像你写C程序需要包含C库的头文件那样,Linux内核编程也需要包含Kernel头文件,大多的
Linux驱动
程序需要包含下面三个头文件:#include#include#include其中,init.h定义了驱动的初始化和退出相关的函数
Daniel-YS
·
2020-08-15 13:49
Linux
Linux 对处理器物理地址/虚拟地址和ioremap函数的个人理解
写在前面在
Linux驱动
学习过程中,遇到了ioremap这个函数,参数是phy_addr,返回值是虚拟地址。
cxiaolei1992
·
2020-08-15 13:53
linux/memory
ds3231
linux驱动
移植
一、需求分析:二、驱动移植2.1驱动分析:2.2修改驱动三、驱动移植中遇到的问题和解决方法3.1发现问题3.2问题分析一、需求分析:以前二代相机使用的RTC芯片是isl12026,为提高精确度使用ds3231。Ds3231的精确度是isl12026的十倍~~二、驱动移植2.1驱动分析:现在使用的内核版本是2.6.34没有ds3231驱动的支持。查找3.3内核有ds3232的驱动。对比了两款芯片的差
bwxzing
·
2020-08-15 13:19
Linux
驱动
Linux驱动
-注册和卸载设备函数
1、注册设备执行“insmodEmbedSky_buttons.ko”命令时就会调用这个函数#defineDEVICE_NAME"Button_IRQ"/*加载模式后,执行”cat/proc/devices”命令看到的设备名称*/#defineBUTTON_MAJOR232/*主设备号*/intret;staticstructclass*button_class;staticint__initEm
阳光天蓝色
·
2020-08-15 13:19
Linux驱动
【嵌入式
Linux驱动
开发】五、LED驱动完善 - 面向对象·上下分层·左右分离
除了知情权以外,人也应该拥有不知情权,后者的价值要大得多。它意味着高尚的灵魂不必被那些废话和空谈充斥。过度的信息对一个过着充实生活的人来说,是一种不必要的负担。文章目录一、面向对象·上下分层·左右分离思想二、编写程序三、运行程序一、面向对象·上下分层·左右分离思想面向对象字符设备驱动程序抽象出一个file_operations结构体;我们写的程序针对硬件部分抽象出led_operations结
ReCclay
·
2020-08-15 13:37
#
嵌入式Linux驱动入门
linux驱动
之 module_init解析 (上)
http://blog.csdn.net/richard_liujh/article/details/45669207-刘金辉写过
linux驱动
的程序猿都知道module_init()这个函数。
乐观其实真的很重要
·
2020-08-15 13:05
linux内核
linux驱动
摸索-- 输入系统(按键输入)
输入子系统框架的驱动程序步骤:1.分配一个input_dev结构体2.设置3.注册4.硬件相关的代码,比如中断注册,定时器注册等等。下面分别介绍下相关实现代码1.分配一个input_dev结构体input_dev在文件定义,结构体原型如下:structinput_dev{constchar*name;constchar*phys;constchar*uniq;structinput_idid;un
L_Backkom
·
2020-08-15 13:02
linux驱动
LINUX驱动
注册过程失败处理不当引起的恶果
LINUX设备驱动有标准的结构,注册的时候对比device和driver的名字,如果相等就调用probe函数将资源注册进去,但是如果注册失败,在probe中途退出的时候要注意,如果直接退出,但是原来注册了部分资源,如果不设置错误原因的参数返回,默认是成功返回,这样错误的驱动就会被其他资源使用,但是由于没有完成注册好,缺少资源。或者由于注册失败在中途退出虽然将原来的资源释放掉了,但是probe没有设
起舞的迈特凯
·
2020-08-15 13:20
LINUX
嵌入式
Linux驱动
加载问题...
嵌入式
Linux驱动
在TI的芯片AM4378开发板上运行linux.工具链是gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf板子内核版本4.1.18主机
武汉的秋天
·
2020-08-15 13:56
C
嵌入式linux
inux驱动--时间、延迟及延缓操作
Linux驱动
--时间、延迟及延缓操作度量时间差时钟中断由系统定时硬件以周期性的间隔产生,这个间隔由内核根据HZ值来设定,HZ是一个体系依赖的值,在中定义或该文件包含的某个子平台相关文件中。
快乐出发并坚持
·
2020-08-15 12:46
linux
学习
linux驱动
开发( 五) 字符设备驱动框架的填充file_operations结构体中的操作函数(read write llseek unlocked_ioctl)...
例子就直接使用宋宝华的书上例子。/**asimplechardevicedriver:globalmemwithoutmutex**Copyright(C)2014BarrySong(
[email protected]
)**LicensedunderGPLv2orlater.*/#include#include#include#include#include#include#defineGLOBA
weixin_30293079
·
2020-08-15 12:21
Linux驱动
开发之字符设备驱动模型之file_operations
90%的驱动模型都是按照下图开发的下面来说下设备描述结构是什么东西打开Linux-2.6.32.2的SourceInsight工程,搜索cdev比如一个应用程序需要调用read和write这两个指令,然后内核里肯定也存在read和write,可能是xxx_read和xxx_write这样的函数,而驱动就是衔接这用户空间和内核空间的,read和xxx_read以及write和xxx_write就是属
weixin_30512785
·
2020-08-15 12:21
linux驱动
开发--字符设备:简单的file_operations示例
字符设备结构structcdev内核使用该结构来表示一个字符设备,在中定义。重要成员:structkobjectkobj;//设备对象structmodule*owner;//该设备的拥有者驱动模块structfile_operations*ops;//设备操作集合structlist_headlist;//内核维护的字符设备链表成员dev_tdev;//字符设备号unsignedintcount
吴英强
·
2020-08-15 12:17
嵌入式方向
linux驱动开发
Linux驱动
加载总结
一、Linux系统结构概述1.1Linux体系结构1.2内核架构二、
Linux驱动
2.1Linux系统3大类设备1)字符设备2)块设备3)网络设备字符设备和块设备都是通过文件系统的系统调用接口open(
17李超
·
2020-08-15 12:43
Linux驱动开发
linux驱动
开发之字符设备框架 - file_operations
前言在上一节中介绍了字符设备的重要结构体cdev,以及和cdev相关的一些操作函数,比如cdev_alloc()、cdev_init()等,但是和cdev_init()密切相关的一个参数fops,并没有介绍。这节重点分析file_operations结构体。正文file_operations结构体的成员函数是字符设备驱动程序设计的主体内容,这些内容实际上,是会通过Linux的系统调用,比如open
Sunnie_ge
·
2020-08-15 12:13
linux驱动
Linux驱动开发
Linux驱动
编写中找不到sleep系列延时函数的解决办法
目录
Linux驱动
编写中找不到sleep系列延时函数的解决办法开发环境问题描述原因分析解决办法
Linux驱动
编写中找不到sleep系列延时函数的解决办法开发环境宿主机:ubuntu12.04目标机:Freescale-iMX280
sunshinebooming
·
2020-08-15 12:34
嵌入式学习笔记
驱动该如何入门 关于file_operations和Linux设备模型
laoshizhucelaoshizhuce等级:结帖率:96.15%楼主发表于:2011-03-1721:06:49本帖最后由laoshizhuce于2011-03-1721:25:41编辑
Linux
linuxheik
·
2020-08-15 12:50
Linux驱动
之定时器和延时
内核中有一个时钟,时钟每次的tick都会触发一个时钟中断,中断时将检查是否有定时器到期,根据需要在软件中断中执行定时器函数。因此:内核定时器在时钟中断的下半段执行,非进程的上下文不能使用休眠函数不能访问用户空间更详细的执行过程:参考:http://www.cnblogs.com/leaven/archive/2010/08/19/1803382.html实际上,内核为定时器维护着两个全局变量jif
king523103
·
2020-08-15 12:45
Linux驱动
linux驱动
摸索 --DS1302芯片移植(基于总线驱动设备模型)
内核版本:linux-2.6.32.2开发板:mini2440基于总线驱动设备模型基本框架:bus_drv_dev模型(是一种机制)对于device来说:1.把device相关信息放入bus的dev链表2.从bus的drv链表取出每一个drv,用bus的match函数判断drv能否支持dev3.若能支持,调用drv的probe函数。对于driver来说1.把driver放入drv链表2.从dev链
L_Backkom
·
2020-08-15 12:08
linux驱动
Linux驱动
Day01
【一】驱动介绍1、作用:配置硬件设备处于某种模式,或提供配置硬件的方法。提供操作硬件设备的接口。2、地位:内核与设备的桥梁。【二】内核模块介绍1、什么是内核模块.ko结尾的二进制文件。2、内核模块的三要素a、入口(加载)函数注册—>>>module_init();typedefint(*initcall_t)(void);module_init(initfn)int__initxxx(void){
求知小鱼儿
·
2020-08-15 12:58
Linux驱动编程
内核
嵌入式
linux驱动
分析之DS1302 RTC
系统开机时一般会通过/dev/rtc设备来获取当时时间,所以肯定有一个驱动用于支持这个/dev/rtc设备的。在内核的drivers/char中找到了ds1302.c的驱动。在这个驱动中就注册了字符型设备。并支持RTC设备的ioctl(),RTC_RD_TIME和RTC_SET_TIME这2个最为重要的控制方法。先看一下这个模块注册函数:module_init(ds1302_register);再
shell_albert
·
2020-08-15 12:23
Linux驱动开发
Linux驱动
编程day5-驱动自动加载,编译进内核以及自动执行
驱动提供一种机制(实现什么功能),应用程序提供一种策略(如何使用这些功能)1、
linux驱动
自动加载ko和应用(1)在自动执行脚本中添加应用程序cd/etc/里有一个profile文件vimprofile
孤风少年
·
2020-08-15 12:20
linux内核驱动
Linux驱动
编程day4--实现硬件控制
当有多个任务共同使用一个设备,为防止内存泄漏,解决办法:1、上锁,只允许一个任务占用;2、建立一个链表,为每个任务分配独自的空间,用链表来管理内存空间。设备号以及各个描述符、套接字、进程号都可以看成是数组的下标。在用户进程和设备驱动程序之间会有一个虚拟文件系统,它负责将系统调用与驱动函数相关联。虚拟文件系统(VFS)为上层的用户提供了一套标准的文件操作接口,如(open,read,write),对
孤风少年
·
2020-08-15 12:19
linux内核驱动
Linux驱动
Day02
一、设备的分类1、设备可以分为:字符设备、块设备、网络设备。字符设备:以字节流的形式进行数据读写。块设备:存储设备。网络设备:网卡。2、描述字符设备的结构体cdevstructcdev{structmodule*owner;//THIS_MODULEstructfile_operations*ops;//操作方法集dev_tdev;//设备号unsignedintcount;//设备计数};3、操
求知小鱼儿
·
2020-08-15 12:41
Linux驱动编程
linux
驱动程序
linux驱动
模块的加载和卸载
Linux驱动
有两种运行方式,第一种就是将驱动编译进Linux内核中,这样当Linux内核启动的时候就会自动运行驱动程序。
monkea123
·
2020-08-15 11:56
linux
嵌入式
linux驱动
开发之地址映射(mmu)
在编写驱动之前,我们需要先简单了解一下MMU这个神器,MMU全称叫做MemoryManageUnit,也就是内存管理单元。在老版本的Linux中要求处理器必须有MMU,但是现在Linux内核已经支持无MMU的处理器了。MMU主要完成的功能如下:①、完成虚拟空间到物理空间的映射。②、内存保护,设置存储器的访问权限,设置虚拟存储空间的缓冲特性。我们重点来看一下第①点,也就是虚拟空间到物理空间的映射,也
monkea123
·
2020-08-15 11:56
linux
嵌入式
字符设备驱动开发总概
字符设备是
Linux驱动
中最基本的一类设备驱动,字符设备就是一个一个字节,按照字节流进行读写操作的设备,读写数据是分先后顺序的。
monkea123
·
2020-08-15 11:55
linux
嵌入式
linux
中兴me3630
linux驱动
移植
1、按照手册对驱动进行更改,手册可下载https://download.csdn.net/download/ma_cheng_yuan/108964102、更改完成后ls/dev后应该出现ttyUSB0ttyUSB1ttyUSB2三个设备,但是并没有出现,通过dmesg|grepusb查看usb相关信息,出现如下错误usb2-1:newhigh-speedUSBdevicenumber2using
ma_cheng_yuan
·
2020-08-15 11:19
linux
基于互联网的温度采集系统
开发环境...22.2操作平台及开发软件介绍...22.2.1操作平台...22.2.2开发平台及相关软件介绍...22.3系统实现所需关键技术...32.3.1Socket编程...32.3.2嵌入式
Linux
bluewindkanan
·
2020-08-15 10:11
linux
嵌入式
视频教程-Makefile工程实践视频课程(第2季):使用Autotools自动生成Makefile-嵌入式...
Makefile工程实践视频课程(第2季):使用Autotools自动生成Makefile6年嵌入式开发经验,在多家半导体公司从事芯片测试、验证、
Linux驱动
开发都工作。
weixin_29447163
·
2020-08-15 08:50
Linux驱动
开发系列之一:Ubuntu 8.10下编译Linux kernel 2.6.32.1
菜鸟编译Linux内核http://linux.chinaunix.net/bbs/viewthread.php?tid=208791linux内核编译过程的最终总结版http://www.linuxsir.org/bbs/showthread.php?t=109174ubuntu9.04linux2.6.32.2内核编译http://blog.csdn.net/liu_chunhai/archi
菠菜
·
2020-08-15 08:09
ARM-linux
2008-05-08 Linux 下配置nVIDIA显卡和升级显卡的驱动程序
1993年初,NVIDIA由Jen-HsunHuang,,ChrisMalachowsky和CurtisPriem三人共同创办,但是,nVidia又一度是图形处理芯片领域的最强者,nVIDIA出品的
Linux
huahuamoon
·
2020-08-14 17:45
Linux学习日记
Linux内核驱动学习
免得
Linux驱动
初学者在网上到处找相关的学习资料。1.·SourceInsight代码阅读器2.·Linux内核简介3.·Linux内核目录结构4.·开发环境配置之内核升级5.
bytxl
·
2020-08-14 16:42
linux内核
Linux字符驱动开发学习总结
linux驱动
编写(虚拟字符设备编写)昨天我们说了一些简单模块编写方法,但是终归没有涉及到设备的编写内容,今天我们就可以了解一下相关方面的内容,并且用一个实例来说明在linux上面设备是如何编写的。
bcbobo21cn
·
2020-08-14 16:28
转载
操作系统研发和研究
在学
Linux驱动
之前:需要先了解驱动模型
Linux设备林林总总,嵌入式开发一个绕不开的话题就是设备驱动开发,在做具体设备驱动开发之前,有必要对Linux的驱动模型有一个相对清晰的认识,将会帮助驱动开发,明白具体驱动接口操作符相应都做些什么。个人对于驱动模型的理解概括起来就是一句话:利用面向对象编程思想,实现设备分层管理软件体系结构。注:代码分析基于linux-5.4.31为啥要驱动模型随着系统结构演化越来越复杂,Linux内核对设备描述
Java架构师云流
·
2020-08-14 15:25
内核
数据结构
java
linux
上一页
28
29
30
31
32
33
34
35
下一页
按字母分类:
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
其他