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内核驱动
之read和write
搜索公众号:itxxgh(IT学习干货),全公益,免费,定期,提供,《IT学习教程》。不会骚扰大家,只需轻点关注,也会传播《中华传统文化》传播正能量,扫码关注读和写方法都进行类似的任务,可以同时介绍它们:ssize_tread(structfile*filp,char__user*buff,size_tcount,loff_t*offp);ssize_twrite(structfile*filp,
-若光-
·
2020-08-08 22:21
Linux驱动
Linux内核驱动
学习(七)应用层直接操作GPIO
文章目录简介原理图节点设置为输出设置为输入映射关系debugfspwmdemo简介前面通过libgpio的方式介绍了内核空间对GPIO进行操作的接口,其做了较好的封装,同时Linux系统的sysfs机制已经在系统路径下/sys/class/gpio注册了相应的节点,通过读写该节点下的文件就能轻松的完成GPIO输入输出配置以及引脚状态的获取。原理图我使用的Rockchip的px30,引脚是GPIO3
小麦大叔
·
2020-08-08 22:54
Linux
Linux
Driver
Linux内核驱动
基础-设备树相关总线使用
mmc总线使用实例broken-cd表示没有热插拔探测引脚,使用轮询检测cd-gpios使用gpio管脚作为热插拔探测引脚non-removable表示不能进行热插拔,设备一直连接(比如eMMC)上面三个选项用于指定热插拔探测选项,如果三个选项都没有指定,则使用主机自带的热插拔引脚sdcdbus-width数据总线位宽,默认值是,也可以是,wp-gpios使用gpio管脚作为写保护引脚max-fr
sunnyhyh
·
2020-08-08 21:56
linux
kernel
Linux下EC20实现ppp拨号
一、驱动支持首先需要对
Linux内核驱动
做一定的修改,使操作系统能够支持EC20。
zhaoxd200808501
·
2020-08-07 22:26
Linux
往android的内核添加驱动(其实就是添加
linux内核驱动
)
向android的内核添加驱动,其实就是向linux内核添加驱动。主要在两个文件里添加点信息,一个是Kconfig文件,一个是Makefile文件。比如你添加的驱动你代码放到drivers目录下面的XXX目录,那么修在该目录下的Kconfig文件和Makefile文件。具体的修改方法:比如我现在修改drivers/staging/android/下的Kconfig文件。configANDROID_
xingmeng0518
·
2020-08-07 22:42
android驱动
Atheros CSI工具入门
Atheros-CSI-Tool建立在ath9k之上,这是一个支持Atheros802.11nPCI/PCI-E芯片的开源
Linux内核驱动
程序,因
凌晨两点半还不回家
·
2020-08-07 16:31
杂记
4-安卓底层-HAL层-实现安卓控制LED
Android硬件抽象层(HAL)Android的硬件抽象层,简单来说,就是对
Linux内核驱动
程序的封装,向上提供接口,屏蔽低层的实现细节。
ibbo
·
2020-08-07 12:47
安卓底层
android
linux
kernel
硬件
内核
hal
Linux内核驱动
模块的删除
今天看了《Linux设备驱动开发详解》的第四章模块和第五章文件。学长给了一个的任务:删除Linux内核中的DM9000的驱动模块,重新编译内核。这篇文章现在写肯定还不够完善,我之后我会再补全,所以先打一个“@”的标记。首先,我从文件中找到DM9000驱动模块所在位置,在~/drives/net下。于是,我从Linux内核根目录下查看makefile,逐级向下直到找到net文件夹下的makefile
ninshine
·
2020-08-06 10:35
Linux内核驱动
学习(六)GPIO之概览
总结前言GPIO(GeneralPurposeInput/Output)通用输入/输出接口,是十分灵活软件可编程的接口,功能强大,十分常用,SOC也非常依赖GPIO,在实际应用中几乎都能看到它的影子,在
Linux
小麦大叔
·
2020-08-04 18:05
Linux
Driver
Linux内核驱动
学习(八)GPIO驱动模拟输出PWM
文章目录前言原理图IO模拟输出PWM设备树驱动端调试信息实验结果附录前言上一篇的学习中介绍了如何在用户空间直接操作GPIO,并写了一个脚本可以产生PWM。本篇的学习会将写一个驱动操作GPIO,同样的也可以发生PWM,因此这里还需要部分的硬件配合,需要一块开发板,当然可能还需要一台示波器。原理图和上一篇相同,引脚依然是GPIO3_D0,具体硬件肯定会不同,注意参考soc的datasheet和硬件原理
小麦大叔
·
2020-08-04 18:05
Linux
Driver
linux内核驱动
中通用GPIO函数使用
ARM体系芯片IO口实际上是4G内存空间中的一部分地址空间,所以,本质上就是操作内存,它和其他的片上外设没有区别。这类IO称为IO内存。在芯片还有一类称IO端口,这一类要配置就不是通过ioremp这种方式。这种形态IO,一般出现在X86芯片。实际应用中,IO内存操作可以使用ioremap映射再使用指针操作对应的寄存器,但是比较少使用,一般使用内核提供GPIO操作函数。内核提供的通用GPIO操作的A
酸菜鱼的鱼
·
2020-08-04 18:21
linux驱动
Linux内核驱动
GPIO的使用
一概述Linux内核中gpio是最简单,最常用的资源(和interrupt,dma,timer一样)驱动程序,应用程序都能够通过相应的接口使用gpio,gpio使用0~MAX_INT之间的整数标识,不能使用负数,gpio与硬件体系密切相关的,不过linux有一个框架处理gpio,能够使用统一的接口来操作gpio.在讲gpio核心(gpiolib.c)之前先来看看gpio是怎么使用的二内核中gpio
junllee
·
2020-08-04 11:21
C算法实现:将字符串中的数字返回为整型数
今天看
linux内核驱动
的代码,发现一个算法写得挺简单,也有意思。
weixin_30784945
·
2020-08-04 04:49
我的Linux书架
工作几年来,一直从事
Linux内核驱动
方面的开发。从接触Linux到现在,读过不少Linux方面的书籍,现把认为很不错的一部分列出来和大家分享一下。
瑞意进取
·
2020-08-03 20:29
linux
linux内核
subversion
qt
unix
emacs
关于linux和shell的相关书籍
工作几年来,一直从事
Linux内核驱动
方面的开发。从接触Linux到现在,读过不少Linux方面的书籍,现把认为很不错的一部分列出来和大家分享一下。
bugouyonggan
·
2020-08-03 15:09
杂项
设备树详解
https://blog.csdn.net/lq496387202/article/details/79416299DeviceTree常用方法解析DeviceTree在
Linux内核驱动
中的使用源于2011
经纬7度
·
2020-08-03 07:49
国嵌视频学习——
Linux内核驱动
字符设备驱动驱动分类——字符设备驱动字符设备:字符设备是一种按字节来访问的设备,字符驱动则负责驱动字符设备,这样的驱动通常实现open,close,read,write系统调用——网络接口驱动网络接口:任何网络事务都通过一个接口来进行,一个接口通常是一个硬件设备(eth0),但是它也可以是一个纯粹的软件设备,比如回环接口(lo)。一个网络接口负责发送和接收数据报文。——块设备驱动块设备:——在大部
li4850729
·
2020-07-31 19:32
嵌入式&&linux
【入门级别】
linux内核驱动
三种写法之——platform分离机制
【入门级别】
linux内核驱动
三种写法之——platform分离机制前言框架图实例代码硬件信息部分led_dev.c软件信息部分led_drv.c遇到问题补充linux内核符号表kallsyms开启kallsyms
Auv开心
·
2020-07-31 10:37
个人技术成长记录
linux驱动
学习笔记
深入理解Android相机体系结构之七
相机驱动层–V4L2框架解析一、概览相机驱动层位于HALMoudle与硬件层之间,借助
linux内核驱动
框架,以文件节点的方式暴露接口给用户空间,让HALModule通过标准的文件访问接口,从而能够将
xiaozi63
·
2020-07-31 10:38
Android
Linux内核驱动
模块添加并编译(Makefile)
文章目录添加所需编译的目录添加驱动源代码编写Makefile在菜单中选中需要编译的选项编译自定义Linux内核菜单配置好Linux内核菜单后就要在菜单下添加内容。根据用户的选择配置内核菜单的各种选项,Linux在编译的时候就就会根据选择好的模块源代码进行编译并整合到Image中,从而实现Linux内核的裁剪。添加所需编译的目录本次添加的自定义菜单在drivers目录下,要编译aamenutest里
zxng_work
·
2020-07-30 13:48
Linux
linux内核驱动
helloword模块的编译及加载
linux内核驱动
模块的编译及加载主机:Fedora9编译环境:arm-linux-gcc4.4.3编译自己写的内核驱动,需要有当前操作系统的内核源码,并做了一些简单的准备工作,才能使用内核的源码,来编译自己的驱动内核手动编译指导
我在爱的国
·
2020-07-30 12:23
软件配置
Linux内核驱动
模块编译
内核模块的构建有两种主要方式:放在内核源码树中或者放在内核代码外。一、放在内核源码树中在内核的drivers/文件夹下创建好驱动模块文件夹,并完成驱动文件之后,需要编辑和修改相应的Kconfig和Makefile文件,使得该模块可以配置到内核中并进行编译。1.在驱动模块文件夹下添加Kconfig和Makefile文件,文件内容如下(这里假设驱动模块文件夹为module,里面包含module.c和m
hyperton
·
2020-07-30 12:45
linux内核驱动
模块开发makefile实例解析
昨天整理了一篇关于
linux内核驱动
模块的开发介绍入门,其中介绍了一些关于驱动模块的基本开发步骤,不过面广而不深,很多细节都没有涉及到,其中就包括如何编写驱动模块的makefile。
leon1741
·
2020-07-30 11:50
玩转linux
Linux内核驱动
学习(一)编写最简单Linux内核模块HelloWorld
文章目录准备工作什么是内核模块编写hello.c模块编译相关指令测试结果模块加载模块卸载准备工作在进行以下操作前,首先我准备了一台电脑,并且安装了虚拟机,系统是Ubuntu16.04。如果是开发板,那么需要安装交叉编译器,但是目前我只在虚拟机的Ubuntu16.04系统里完成驱动模块的加载和卸载,实现了一个最最简单的内核模块,并且通过这个最简单的驱动,学习最基本的概念。什么是内核模块模块是可以根据
小麦大叔
·
2020-07-30 11:38
Linux
Driver
linux内核驱动
获取精确时间 计时
程序代码:structtimespects;ts=current_kernel_time();printk(KERN_ALERT"%ld%ld\n",ts.tv_sec,ts.tv_nsec);structtimevaltv;/*获取时间*/do_gettimeofday(&tv);printk(KERN_ALERT"now:%ld%ld\n",tv.tv_sec,tv.tv_usec);/*设置
mini-coco
·
2020-07-30 11:26
linux
linux内核
linux驱动
嵌入式linux
Linux内核驱动
程序初始化顺序的调整(1)
Linux内核驱动
程序初始化顺序的调整,当在做一个驱动的时候要用到另一个驱动提供的API时,此时内核初始化时便碰到了一个依赖问题。
WinCao90
·
2020-07-30 06:17
Linux内核驱动
入门-编译树莓派内核
内核驱动跟内核版本号之间是强相关的,因为编译内核模块的时候,需要基于内核源码来编译假设我们自己编译一个属于自己的树莓派内核,根据官方的内核来进行更改。将官方的内核解压到虚拟机上,最好放在根目录的work下,要不然会空间不足//安装工具sudoapt-getinstallgitbisonflexlibssl-dev//安装配置内核menuconfig的辅助工具sudoapt-getinstallli
weixin_44263604
·
2020-07-30 04:37
嵌入式
Linux内核驱动
入门-内核驱动
系统架构图//下载linux-4.19.tar.bz2//解压tar-xflinux-4.19.tar.bz2cdlinux-4.19//配置内核makeARCH=armCROSS_COMPILE=arm--linux--gnueabihf--bcm2709_defconfig//编译内核makeARCH=armCROSS_COMPILE=arm--linux--gnueabihf--zImage
weixin_44263604
·
2020-07-30 04:37
嵌入式
Linux内核驱动
程序初始化顺序的调整----修改版
转自:
Linux内核驱动
程序初始化顺序的调整----修改版[百叶琉璃]今天在做一个驱动的时候要用到另一个驱动(I2C)提供的API,在内核初始化时碰到了一个依赖问题。
若星汉天空
·
2020-07-30 01:39
linux驱动
linux
Linux内核驱动
程序初始化顺序
所有的__init函数在区段.initcall.init中还保存了一份函数指针,在初始化时内核会通过这些函数指针调用这些__init函数指针,并在整个初始化完成后,释放整个init区段(包括.init.text,.initcall.init等)。注意,这些函数在内核初始化过程中的调用顺序只和这里的函数指针的顺序有关,和1)中所述的这些函数本身在.init.text区段中的顺序无关。在2.4内核中,
jjkkww
·
2020-07-29 19:03
笔记
Linux学习指南——我的Linux书架
工作几年来,一直从事
Linux内核驱动
方面的开发。从接触Linux到现在,读过不少Linux方面的书籍,现把认为很不错的一部分列出来和大家分享一下。
jiatingqiang
·
2020-07-29 19:15
linux内核研究
Linux学习
linux
linux内核
subversion
qt
unix
emacs
Linux内核驱动
程序初始化顺序的调整
(没有整理版,先记下来吧,记在网络上总比记在自己的电脑上保险,现在总算明天人们为什么喜欢把钱存在哪银行而非家里)第一篇:今天在做一个驱动的时候要用到另一个驱动(I2C)提供的API,在内核初始化时碰到了一个依赖问题。我的驱动在I2C初始化之前就运行起来了,而这时I2C提供的API还处于不可用状态。查了很多资料,网上有人说所有使用module_init这个宏的驱动程序的起动顺序都是不确定的(我没有查
杨柳
·
2020-07-29 15:00
ARM
Linux内核驱动
异常定位方法分析--反汇编方式
原创作品,转载请以超链接形式说明出处!原文链接:http://blog.csdn.net/hunhunzi/article/details/7052032最近在搞Atmel的SAM9x25平台,Linux系统,用于工业设备。这也是我首次参与工业设备的研发。在调试AtmelSAM9x25的Linux串口设备的时候,发现无论是读还是写,都会产生异常。相关的异常信息如下:================
hunhunzi
·
2020-07-16 00:10
linux内核及应用开发
linux内核驱动
加载方法
一般的,在测试阶段的设备驱动都是先使用ko文件加载到系统,然后生成设备节点,再使用应用调用测试。但当驱动测试ok,至少是不会有大的改动的时候,再使用ko文件加载设备驱动就显得不太合理了。首先,ko文件需要系统启动之后才能加载(即使写在脚本里),而且驱动多了维护也麻烦。设备驱动本来就是内核的一部分,所以在测试好的驱动可以直接编译到内核里面。这里我就不再写ko文件怎么编译怎么测试了,直接从设备驱动配置
今天多雨
·
2020-07-15 12:04
linux
虚拟机Virtualbox -1908问题处理总结
虚拟机安装中和因为ubuntu内核升级后可能出现的高概率错误及解决方法总结这是我内核更新到5.3.0-51-generic,而virtualbox是5.2.34,产生了这个问题处理过程:VirtualBox
Linux
雪山上的小草
·
2020-07-14 14:30
Android
Linux内核驱动
程序(基于goldfish-3.10内核)
前言最近在学习老罗博客,看到他的《在Ubuntu上为Android系统编写
Linux内核驱动
程序》一文(文章链接),自己也跃跃欲试,不过教程是基于goldfish-2.6.29内核的,而我的环境是android6.0
大哥您好
·
2020-07-12 04:59
Android
Linux
面向对象地分析Linux内核设备驱动(1):——
Linux内核驱动
中面向对象的基本规则和实现方法
Linux内核驱动
中面向对象的基本规则和实现方法-内核版本LinuxKernel2.6.34,与Robert.Love的《LinuxKernelDevelopment》(第三版)所讲述的内核版本一样-源代码下载路径
zhou_chenz
·
2020-07-10 14:44
Linux内核与驱动
Linux内核驱动
——并发和竞争的处理
加锁和互斥的目的是为了保护共享资源(数据或外设地址)不被多个线程同时访问,而不是保护代码被同时执行一、信号量信号量为1表示资源可用,为0表示资源不可用,对信号量的加减主要涉及PV操作,进入临界区调用P操作(down)将信号量减1,推出临界区调用V操作(up)将信号量加1.1.信号量的实现structsemaphore*sem;voidsemaphore_init(structsemaphore*s
奔跑的路
·
2020-07-09 19:44
linux驱动
Android基础
application:应用层,java2.applicationframework:应用框架层,java+JNI3.libraries和dalvik:函数库和虚拟机层,c/c++4.linuxkernel:
linux
sunhaiyu
·
2020-07-09 09:03
嵌入式C语言自我修养 (01):Linux 内核中的 C 语言语法扩展
1.1
Linux内核驱动
中的奇怪语法大家在看一些GNU开源软件,或者阅读Linux内核、驱动源码时会发现,在Linux内核源码中,有大量的C程序看起来“怪怪的”。
宅学部落-王利涛
·
2020-07-09 07:42
嵌入式C语言自我修养
在Ubuntu上为Android增加硬件抽象层(HAL)模块访问
Linux内核驱动
程序---Android8.0版本实现-对照老罗版本
老罗版本参见:https://blog.csdn.net/luoshengyang/article/details/6573809在Android硬件抽象层(HAL)概要介绍和学习计划一文中,我们简要介绍了在Android系统为为硬件编写驱动程序的方法。简单来说,硬件驱动程序一方面分布在Linux内核中,另一方面分布在用户空间的硬件抽象层中。接着,在Ubuntu上为Android系统编写Linux
zh_loyal
·
2020-07-06 13:57
Android
开发
Android系统HAL层学习
linux phy fixed-link
linux内核驱动
已经对PHY有很好的支持,一般PHY驱动用于对外部PHY进行配置,获取外部网络的连接状态、速度、双工属性等,但对于一些通用的switch芯片,一般与MPU是MAC-MAC的连接方式,另外还有些
子子木
·
2020-07-06 09:53
Android 底层驱动开发步骤——linux内核层、HAL层、JNI层
1.Linux驱动实现2.
Linux内核驱动
测试3.AndroidHAL层实现4.Aidl实现5.Servicejava实现6.Servicejni实现7.注册service和jni方法8.AndroidApp
bobuddy
·
2020-07-05 15:18
移动开发
Android系统移植:驱动篇
因为Android系统是基于Linuxkernel内核构建,所以这里说的移植驱动程序,其实就是基于Android系统平台开发适应移动设备的
Linux内核驱动
程序。
一块钢板
·
2020-07-04 21:08
android系统移植
linux内核驱动
之定时器
运用场景:1.初始化一个驱动,经过一定的时间再执行一个特殊动作;2.初始化一个驱动,之后每隔一定的时间执行一个特殊动作;定时器工作流程:a.创建timer,编写定时器处理函数;b.为timer的expires、data、function赋值;c.调用add_timer将timer加入列表;d.定时器到期时,function被执行。例子:#include#include#include#includ
jacolin
·
2020-07-04 19:07
linux
Linux驱动卸载时出现“Device 'xxx' does not have a release() function, it is broken and must be fixed”的解决办法
在用platformbus方法编写
Linux内核驱动
模块时,在模块卸载过程中,如果系统出现提示“Device'xxx'doesnothavearelease()function,itisbrokenandmustbefixed
polarisyj86
·
2020-07-02 14:17
Linux
嵌入式
C/C++
Linux内核驱动
之GPIO子系统(一)GPIO的使用
分类:
Linux内核驱动
2012-10-3121:12162人阅读评论(1)收藏举报目录(?)
mirkerson
·
2020-07-02 12:18
Linux
linux驱动 之 module_init解析 (上)
linux内核驱动
之module_init解析(上)欢迎转载,相互学习,但请注明出处,非常感谢!
Richard_LiuJH
·
2020-07-01 12:24
Linux内核
Linux
C
initcall
#新闻拍一拍# 2020 年的 Linux 内核仍在为 Macintosh II 修复驱动 | Linux 中国
HTTPS加密网站•旧金山市承认向勒索软件支付了超过百万美元赎金•AWS发布零编程应用构建服务Honeycode作者:硬核老王2020年的Linux内核仍在为MacintoshII修复驱动隔一段时间就能看到
Linux
技术无边
·
2020-07-01 09:15
Linux内核驱动
程序之最简单的Hello World模块
这里不为真实的硬件设备编写内核驱动程序,为了方便描述编写内核驱动程序的过程,我们使用一个虚拟的硬件设备。先大概看下内核驱动程序的编写流程,例子没有实际意义,只是模板。1.在kernel/drivers目录下新建hello文件夹,在该文件夹中创建hello.c文件:#include#includestaticint__inithello_init(void){printk(KERN_ALERT"He
张永飞
·
2020-06-30 14:15
Android
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他