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驱动
(三十六、linux中common clock framework[1]_consoumer)
部分内容来自下面几位博主的文章,如有侵权,联系我删除。http://www.wowotech.net/pm_subsystem/clk_overview.htmlhttps://blog.csdn.net/cc289123557/article/details/80098586时钟管理模块是linux系统为统一管理各硬件的时钟而实现管理框架,负责所有模块的时钟调节和电源管理。时钟管理模块主要负责处
to_run_away
·
2020-08-21 09:36
从零开始系列
从零开始学linux驱动
Linux内核基础——
Linux驱动
模型(bus/driver/device)实训
Linux驱动
模型实训(bus/driver/device)本期实训源码地址:github-train11.3Linux内核为驱动开发设计了驱动模型,使总线bus、设备device和驱动driver分别抽象成统一的结构体对象
superboy_ZJC
·
2020-08-21 05:39
课程笔记——操作系统定制技术
Linux驱动
框架——USB驱动简单分析
Linux驱动
框架——USB驱动通用串行总线USB(Universalserialbus)通常用于外围设备与主机之间的连接,USB使用树型结构,主机作为根,集线器作为节点,外围设备作为树叶。
superboy_ZJC
·
2020-08-21 05:39
课程笔记——操作系统定制技术
TX2从入门到放弃学习笔记(1)-基础
如果要使用图形化界面,需要安装Nvidia
Linux驱动
,Nvidia驱动安装通过sudosu输入密码:nvidia,切换root权限用户。cd/home/nvidi
毛毛虫的爹
·
2020-08-21 04:14
Nvidia
GPU开发板
linux 驱动程序 设备模块 设备号 设备文件创建 设备注册 字符驱动设备分析
摘要:
linux驱动
程序设备模块设备号设备文件创建设备注册字符驱动设备分析驱动程序分为三部分:驱动设计模式(linux规定的)内核相关模块硬件知识。
luoyunhua0814
·
2020-08-21 04:26
让linux支持EC11等旋转编码器
对
linux驱动
十窍通了九窍,一窍不通,所以从最低级的开始看起,然后把gpio_key.c这个东西,看了一遍又一遍。都快看吐了。
嵌入梦想
·
2020-08-21 03:33
linux
记录
ARM-Linux应用程序读写GPIO
写驱动编写一个
linux驱动
加载到内核中应用程序通过读取驱动生成的虚拟文件来读写GPIO这种做法实在有些麻烦。
TaiJi1985
·
2020-08-21 03:48
嵌入式开发
stm32 初学笔记(寄存器)--感悟
还记得第一次接触STM32的时候是大学的时候,大学那时主要玩的是51系列单片机,接触STM32的时候对STM32用的一堆库函数充满迷茫然后就没有然后了,等毕业了开始学习
LINUX驱动
的时候接触了内核方面的知识
qq_23676873
·
2020-08-21 02:10
STM32
树莓派
linux驱动
学习之LED控制
前面我们编写了helloworld的程序,接下来继续研究GPIO功能,通过GPIO来控制LED的亮灭,这在单片机中应该算是十分简单的一个程序了,但是在Linux系统中控制GPIO没有那么简单,难点就在于GPIO地址的获取,也是我一直在纠结的问题。一、GPIO地址我看了中嵌的嵌入式开发视频,里面使用三星2440控制LED的亮灭,但是驱动程序中没有写清楚具体的底层是如何实现的,这也是我查找的重点。我首
古-月
·
2020-08-21 02:16
Raspberry
Pi
我眼中的Android Framework
Androidframework包含三个小伙伴:服务端、客户端、
linux驱动
。服务端服务端主要
harrain
·
2020-08-20 23:28
Android理论
嵌入式编程中应如何使用 mmap 访问 CPU 寄存器
本文地址:https://segmentfault.com/a/1190000008381626Reference/dev/memmmap详解
Linux驱动
虚拟地址和物理地址的映射嵌入式Linux应用程序如何读取
amc
·
2020-08-20 20:07
mmap
嵌入式
嵌入式编程
寄存器
linux
嵌入式编程中应如何使用 mmap 访问 CPU 寄存器
本文地址:https://segmentfault.com/a/1190000008381626Reference/dev/memmmap详解
Linux驱动
虚拟地址和物理地址的映射嵌入式Linux应用程序如何读取
amc
·
2020-08-20 20:06
mmap
嵌入式
嵌入式编程
寄存器
linux
Linux驱动
入门之如何写一个字符驱动 :)
这是博主第一次写开放式技术性文章,写这篇文章的目的既是为了总结学到的知识,也是为了能帮助新手,因为在学习的过程中也是面向某度编程,导致出现了很多的坑,既有相关帖子的问题,也有自己的问题,我会将其中的坑一一注明,尽可能地让大家在少踩坑的过程中写出一个驱动。一、一个要解决加减法问题的驱动题目:通过内核驱动程序,在安卓终端实现加减运算要求:a.算法在内核驱动中实现,通过ioctl调用;b.应用程序调用驱
饮胜
·
2020-08-20 18:33
c
linux
android
Linux驱动
入门之如何写一个字符驱动 :)
这是博主第一次写开放式技术性文章,写这篇文章的目的既是为了总结学到的知识,也是为了能帮助新手,因为在学习的过程中也是面向某度编程,导致出现了很多的坑,既有相关帖子的问题,也有自己的问题,我会将其中的坑一一注明,尽可能地让大家在少踩坑的过程中写出一个驱动。一、一个要解决加减法问题的驱动题目:通过内核驱动程序,在安卓终端实现加减运算要求:a.算法在内核驱动中实现,通过ioctl调用;b.应用程序调用驱
饮胜
·
2020-08-20 18:33
c
linux
android
Linux驱动
入门之如何写一个字符驱动 :)
这是博主第一次写开放式技术性文章,写这篇文章的目的既是为了总结学到的知识,也是为了能帮助新手,因为在学习的过程中也是面向某度编程,导致出现了很多的坑,既有相关帖子的问题,也有自己的问题,我会将其中的坑一一注明,尽可能地让大家在少踩坑的过程中写出一个驱动。一、一个要解决加减法问题的驱动题目:通过内核驱动程序,在安卓终端实现加减运算要求:a.算法在内核驱动中实现,通过ioctl调用;b.应用程序调用驱
饮胜
·
2020-08-20 16:21
c
linux
android
二、
Linux驱动
学习-内核
Linux内核文件在内核下输入:du--max-depth=1–h可以发现内核源码主要是drivers和archMakefile顶层Makefile:对应平台可以通过变量ARCH来指定:ARCH=arm对应交叉编译器可以通过变量CROSS_COMPILE来指定:CROSS_COMPILE=arm-linux-gnueabihf-子目录的Makefile:管理着对应的目录下的代码。Makefile中
Hecarim丶
·
2020-08-20 13:00
Linux驱动
学习--USB设备的接入及UAC设备描述符的讲解
一、引言任何USB设备在连接到USB接口后,主机检测到有新设备接入,会利用不同的请求命令(Request)查询该设备的属性,设备通过不同的描述符向主机报告自己的情况。包括设备的种类,设备的功能,设备具有的端点数量以及其他工作属性等等。在了解这些信息之后,主机就可以根据需要分配USB工作带宽。附一张整体框架图二、USB设备描述及接入在USB中USBHOST是通过各种描述符来识别设备的,有设备描述符,
文艺小少年
·
2020-08-20 13:25
Linux内核/驱动学习
Linux驱动
并发与竞态
在
Linux驱动
程序中(Windows也类似)尽量不要使用全局变量等资源,一旦使用了,必须控制好竞态条件。
Lee_1985
·
2020-08-20 11:19
Linux
驱动
并发
竞态
内核与驱动
libusb介绍和使用例子
本文主要介绍Linux平台下基于libusb的驱动开发,希望能够给从事
Linux驱动
开发的朋友带来些帮助,更希望能够给其他平台上的无驱设计带来些帮助。
fisher
·
2020-08-20 09:59
interface
descriptor
report
struct
linux
buffer
Linux驱动
开发基础
最近看了《Linux设备驱动详解这本书》,简单总结Linux设备驱动开发的一些基础知识。2.1.Linux设备驱动程序入口函数module_init(xxx_init);module_exit(xxx_exit);module_init和module_exit是两个宏,module_init是驱动程序的入口函数,相当于我们应用程序的main函数,module_exit是清理函数。这两个宏展开函数分
Lee_1985
·
2020-08-20 08:12
Linux
驱动
开发
基础
内核与驱动
linux驱动
子系统--TTY
tty目录下的8250指的是intel的8250系列串口芯片驱动目录;8250系列包括8250,16450,16450A等。【structuart_port解析】flag串口属性标志,以下是解释#defineUPF_FOURPORT4端口串口卡,8250系列#defineUPF_SAK当串口接收到break信号时终止在当前虚拟终端上运行的所有进程(包括X窗口)。这个组合键被称为“安全访问键“(SA
43259260
·
2020-08-20 08:50
从零开始之驱动发开、
linux驱动
(六十五、内核调试篇--串口驱动)
上一节我们分析了bootoader中传过来的cmdline中的命令是如何解析并执行的。同时也是对bootloader中传过来的console进行了记录。console也就是我们所说的控制台,可以是任何常见的输出设备,比如serial,比如framebuffer,比如网口。本节主要以最常见的串口为例说明。如果有搜索过内核代码,可以看到绝大多数的console都是串口设备。所以内核对用作串口程序进行了
to_run_away
·
2020-08-20 07:37
从零开始系列
从零开始学linux驱动
嵌入式
Linux驱动
学习之USART串口控制:基于AT91SAM9261EK
普通单片机的串口操作比较容易,但是基于Linux系统的串口操作难不难呢?其实,基于Linux操作系统的串口操作分为两个部分:串口驱动部分(底层驱动与设备注册)与串口的应用程序(用户程序)。一般厂家或是Linux内核已经提供了基于开发板的串口驱动,只需要修改或是注册相应的串口设备,就可以直接使用了。因此,只需要写用户应用程序即可。我手头上有一块AT91SAM9261EK的开发板,为了学习Linux买
天才精英2020
·
2020-08-20 07:01
嵌入式Linux
Couldn't find the kernel version the module was compiled for Linux 驱动 编译 错误
在编译第一个
Linux驱动
时,碰到如标题所示错误:Couldn'tfindthekernelversionthemodulewascompiledfor解决方案:Youshoulddo"makemodules
IT山IT水
·
2020-08-20 06:29
linux驱动
s3c6410外部中断号与引脚问题
在编写
Linux驱动
程序时,我想用某一个引脚做外部中断。
ONIM
·
2020-08-20 05:41
linux
ZCU106 VCU
Linux驱动
转裸机驱动篇(二)
VCU
Linux驱动
转裸机驱动前言上一篇说到了上层函数调用硬件驱动,驱动文件libCommon/HardwareDriver.c中,这一片讲一下C++上层控制逻辑,注意大部分数据传输都是调用的的PostMessage
Donce Jiang
·
2020-08-20 02:41
zynq
VCU
ARM
E480安装ubuntu18.04出现进入wifi没有无线适配器的处理方案
今天突发奇想,想在自己的电脑上装上ubuntu,实现win10+ubuntu双系统在顺利的装好系统之后,发现wifi界面找不到适配器,也即是无线网卡没有装好E480是rtl8821ce无线网卡,官方不提供
linux
会喷火的鱼
·
2020-08-20 02:36
ZCU106 VCU
Linux驱动
转裸机驱动篇(三)
ZCU106VCU
Linux驱动
转裸机前言之前感觉都是在做应用层的分析,今天来个驱动层面的吧开始前两篇都是应用层分析,今天分析驱动层面的,首先加载开机打印项[7.488846]xilinx-vcu-corea0140000
Donce Jiang
·
2020-08-20 02:52
VCU
ARM
zynq
嵌入式
arm
linux驱动
(第二十四课 PWM)
PWMDEV是一个典型的CDEV。内核实现了PWMCORE,向上提供一个CDEV的用户接口,向下,调用不同的PWMCONTROLLER提供服务。类似于GPIOCHIP,在kernel中,PWMCHIP就是用来控制PWMCONTROLLER的一个结构体。structpwm_chip{structdevice*dev;conststructpwm_ops*ops;intbase;unsignedint
Huskar_Liu
·
2020-08-20 02:34
driver
Android 串口蓝牙通信开发Java版本
对于一个面向物联网的嵌入式工程师来讲,不单单是要学会底层硬件嵌入式或者是嵌入式
Linux驱动
的开发,还要掌握上层应用,以理解开发流程,方便未来和软件应用工程师协作开
Carlos Wei
·
2020-08-20 01:30
五、
Linux驱动
之poll机制
上一小节写到的中断方式获取按键值时,应用程序需要不停的查询,占用CPU资源太多,现在改用poll机制实现相同的按键效果。1.poll机制流程当应用程序调用poll函数的时候(比如:poll(fds,1,5000),fds是定义的一个poll类型的结构体),poll是一个系统调用,会调用到内核入口函数sys_poll(可在内核中找到该函数),该函数最终会调用do_poll函数,do_poll函数中有
墨、白
·
2020-08-20 01:40
linux驱动
从零开始之驱动发开、
linux驱动
(十五、对系统调用函数的封装)
在分析系统调用函数之前,先分析几个重要的宏。在2.6后期的内核中增加的,用宏来封装了一些通用性的东西,使正的系统调用实现函数看起来简洁了很多,这里我们进行简单的展开分析。#define__stringify_1(x...)#x#define__stringify(x...)__stringify_1(x)#define__MAP0(m,...)#define__MAP1(m,t,a)m(t,a)#
to_run_away
·
2020-08-20 01:33
从零开始系列
从零开始学linux驱动
Linux驱动
开发
在开始步入Linux设备驱动程序的神秘世界之前,让我们从驱动程序开发人员的角度看几个内核构成要素,熟悉一些基本的内核概念。我们将学习内核定时器、同步机制以及内存分配方法。不过,我们还是得从头开始这次探索之旅。因此,本章要先浏览一下内核发出的启动信息,然后再逐个讲解一些有意思的点。2.1启动过程图2-1显示了基于x86计算机Linux系统的启动顺序。第一步是BIOS从启动设备中导入主引导记录(MBR
pwei007
·
2020-08-20 01:47
linux
shell
从零开始之驱动发开、
linux驱动
(十七、select机制)
上一节分析了poll的原理和实现,这节分析它的孪生兄弟select。先看一下select的函数原型。man2selectintselect(intnfds,fd_set*readfds,fd_set*writefds,fd_set*exceptfds,structtimeval*timeout);#undef__FD_SETSIZE#define__FD_SETSIZE1024/*fd_set集合
to_run_away
·
2020-08-20 00:07
从零开始系列
从零开始学linux驱动
从零开始之驱动发开、
linux驱动
(十六、poll机制)
上一节分析了系统调用函数的封装,这一节我们学习一下poll系统调用函数。就从最开始的sys_poll开始。在开始之前我们先了解一下poll函数的作用。使用下面命令查看poll的使用方法和作用可知man2poll官方的解释是:poll函数是用来,等待一组文件描述符中的一个准备好执行I/Ointpoll(structpollfd*fds,nfds_tnfds,inttimeout);函数原型如上所示其
to_run_away
·
2020-08-19 23:29
从零开始系列
从零开始学linux驱动
Linux驱动
- 多线程之 完成量
Linux系统提供了一种比信号量更好的同步机制,即完成量(completion,它用于一个执行单元等待另一个执行单元执行完某事。Linux系统中与completion相关的操作主要有以下4种。1.定义完成量下列代码定义名为my_completion的完成量。structcompletionmy_completion;2.初始化completion下列代码初始化my_completion这个完成量。
weixin_33971205
·
2020-08-19 21:18
嵌入式的没落
辞职在家,由于工作的时间比较紧凑(瞎忙),花费不少时间去
Linux驱动
相关的东西。技术这些东西需要经常总结,不用很容易忘掉,不经常用也很难深入,但是总需要留下一些痕迹吧!
qq_24893351
·
2020-08-19 18:16
【
Linux驱动
编程】Linux中断上半部和下半部
前言 cpu在执行程序时,如果有外部中断触发时,如定时器中断、串行总线中断等,cpu停止当前任务从而转去响应中断处理。对于中断函数的处理,原则是尽快处理完事务并退出中断,这一点也比较好理解,尽快处理中断并返回,保证正常任务的执行,并q且能否响应其他事务的中断,保证实时性和并发性。 其实,在单片机逻辑编程中已经使用过Linux中断“上下部分”的思维,或者说,Linux中断“上下半部”设计者灵感即
Acuity.
·
2020-08-19 18:01
Linux驱动编程
利用
linux驱动
思想实现s5pv210的lcd控制器
本文章主要参考自韦东山老师的新一期裸板视屏中LCD显示章节最近在看驱动,发现部分。韦老师的裸机部分已经使用了驱动的操作分层和数据分离的思想,回来再刷一遍,顺便做好记录。1.LCD的扫描显示原理大家可以看下面这篇文章,讲的特别清晰,我就不重复。http://www.cnblogs.com/shangdawei/p/4760933.html2.S5PV210的LCD组成因为S5PV210的LCD支持很
to_run_away
·
2020-08-19 18:27
linux驱动
嵌入式
linux-3.8.0 S5PV210 LCD显示屏驱动移植
前言近期在学习
linux驱动
移植,记录下学习过程,供自己参考和有需要的网友参考。
jiaohuiwuhui
·
2020-08-19 18:28
Linux驱动学习
linux驱动
由浅入深系列:显示子系统之二(高通平台lcd驱动代码分析)
在上一篇文章中我们初步了解了lcd对应用层提供的接口-framebuffer,以及应用层通过fb在lcd上画图的示例。本文我们来看一下驱动层的相关逻辑,主要介绍几个核心数据结构fb_info,fb_var_screeninfo,fb_fix_screeninfo,以及framebuffer设备注册的过程,framebuffer大小的确定。我们从kernel中lcd最核心的一个文件看起kernel\
二进制橙子
·
2020-08-19 08:49
linux驱动由浅入深系列
kthread_create和kernel_thread的区别和总结
在看
linux驱动
代码的时候,经常惠会碰到kthread_create这个函数,google一下,发现很多人在讲二者的区别,但是都在讲源码的区别而已,总结不够,感觉没有说出二者之间的本质区别,自己总结下
刘军卫
·
2020-08-19 04:59
Linux GPIO键盘驱动开发记录_OMAPL138
LinuxGPIO键盘驱动开发记录_OMAPL138Linux基本配置完毕了,这几天开始着手
Linux驱动
的开发,从一个最简单的键盘驱动开始,逐步的了解开发驱动的过程有哪些。
Carlos Wei
·
2020-08-19 04:48
linux 驱动之input子系统(gpio-keys)实现
1.概述Gpio-keys是基于input子系统实现的一个通用按键驱动,该驱动也符合
linux驱动
实现模型,即driver和device分离模型.一般按键驱动,都是基于gpio-keys进行开发的.2.
June_Hou
·
2020-08-19 04:04
内核及驱动相关
linux常用
GCC/C/C++
Ubuntu 18.04安装腾达Tanda U6无线网卡(RTL8192EU)驱动
Ubuntu18.04的linux内核是4.15,目前腾达官方只有支持到4.4的
Linux驱动
,官方驱动在Ubuntu18.04是安装不上的。
stlinax
·
2020-08-19 03:32
安装技巧
Linux驱动
开发——(使用中断处理)gpio(6)
文章目录Linux内核中断编程为什么会有中断机制?中断的硬件触发流程使用中断处理编程Linux内核中断编程的操作步骤驱动开发中断处理相关函数API示例(按键中断触发)代码实现:执行结果:Linux内核中断编程为什么会有中断机制?中断产生的根本原因就是因为外设的数据处理速度远远慢于CPU,比如使用CPU读取UART接收缓冲区的数据,当使用CPU读取UART接收缓冲区的数据时,发现UART接收缓冲区的
跑不了的你
·
2020-08-19 03:25
Linux驱动
嵌入式相关基础知识
Linux驱动
子系统之输入子系统(6)-gpio-keys
6.Gpio-keys6.1概述lGpio-keys是基于input子系统实现的一个通用的GPIO按键驱动。工程中我们常常会利用它来写按键驱动。lgpio-keys驱动是基于platform来实现,platformdriver(通用的部分)位于drivers/input/keyboard/gpio_keys.c,platformdevice通常和硬件有关,需要我们在BSP中实现。6.2通用驱动部分
cjok376240497
·
2020-08-19 02:12
Linux
driver
input
subsystem
输入子系统
Linux驱动
之输入子系统框架
好记性不如烂笔头,整理一下笔记~
Linux驱动
之输入子系统框架输入子系统将该类驱动划分为3部分1、核心层input.c2、设备层Gpio_keys.c...3、事件处理层Evdev.c事件处理层为纯软件的东西
Linux学习之路
·
2020-08-19 02:45
Linux
Driver
Device
Model
debian系统安装Thinkpad T410s的无线网卡驱动:centrino Advanced-N 6200 2x2 AGN
在win7下查看无线网卡的型号为:英特尔centrinoAdvanced-N62002x2AGN于是果断去网上搜这款网卡的
linux驱动
,可是让我上火的是,
eudemon_cn
·
2020-08-19 01:25
Linux
Back
track
Linux驱动
子系统之输入子系统(6)-gpio-keys
6.Gpio-keys6.1概述lGpio-keys是基于input子系统实现的一个通用的GPIO按键驱动。工程中我们常常会利用它来写按键驱动。lgpio-keys驱动是基于platform来实现,platformdriver(通用的部分)位于drivers/input/keyboard/gpio_keys.c,platformdevice通常和硬件有关,需要我们在BSP中实现。6.2通用驱动部分
cjok376240497
·
2020-08-19 01:25
Linux
driver
input
subsystem
输入子系统
上一页
26
27
28
29
30
31
32
33
下一页
按字母分类:
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
其他