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系统中,任务可以分为两大类:中断和进程(线程)。中断又可分为硬件中断(外设触发)和软中断(软件调用swi指令触发),所以任务也可以细分为三类:硬件中断(有与其对应的中断处理函数)、软中断(有与其对应的软中断处理函数)和进程(有对应的代码段)。但是,不管是什么任务,想要运行,就必须先获取CPU的资源。所谓的任务优先级就是用来衡量一个任务获取CPU资源的能力,优先级越高,获取CPU资源的能力
大大大大大大林
·
2019-05-15 10:21
自总结
内核必须懂(三): 重编Ubuntu18.04LTS内核4.15.0
内核必须懂(二):文件系统初探内核必须懂(三):重编Ubuntu18.04LTS内核4.15.0内核必须懂(四):撰写
内核驱动
内核必须懂(五):per-CPU变量目录前言编译前准备去优化编译安装重启之后最后前言之前在写系统调用的时候也说过
sean_depp
·
2019-04-04 18:39
2019-04-03
弄清楚为什么演讲,就是深挖黄金圈的Why,是让我们做好有感情的演讲的
内核驱动
力,当你带着使命去讲,你才会更自信,更有感染力。
我是凯茜
·
2019-04-03 20:18
网络组Network Teaming
网络组NetworkTeaming网络组是将多个网卡聚合再一起的方法,从而实现容错和提高吞吐量网络组是由
内核驱动
和teamd守护进程实现的,较旧版中bonding技术,网络组可以提供更好的性能和扩展性网络组支持多种工作模式
Darius_D
·
2019-04-02 16:14
网络组
Network
Teaming
Linux基础篇
nmcli实现Network Teaming
网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量网络组不同于旧版中bonding技术,提供更好的性能和扩展性网络组由
内核驱动
和teamd守护进程实现.多种方式runnerbroadcastroundrobinactivebackuploadbalancelacp
繁殇残雪
·
2019-04-02 11:28
Network
技术文档
08.linux
内核驱动
架构
.ko文件的数据组织形式是elf格式(可重定位目标文件,executeableandlinkableformat)。如下图(忽略了programheadertable),摘自《深入linux设备驱动程序内核机制》p19字符设备的file_operations直接由字符设备驱动提供,file_operations也正是字符设备驱动的核心。块设备有两种访问方法。一种是不通过文件系统直接访问裸设备,li
ddddfang
·
2019-04-01 13:14
linux内核学习
内核必须懂(五): per-CPU变量
内核必须懂(二):文件系统初探内核必须懂(三):重编Ubuntu18.04LTS内核4.15.0内核必须懂(四):撰写
内核驱动
内核必须懂(五):per-CPU变量目录前言用户态代码驱动模块代码per-CPU
sean_depp
·
2019-03-30 16:44
内核必须懂(四): 撰写
内核驱动
内核必须懂(二):文件系统初探内核必须懂(三):重编Ubuntu18.04LTS内核4.15.0内核必须懂(四):撰写
内核驱动
内核必须懂(五):per-CPU变量前言之前的文章里面说了简单的.ko文件编译
sean_depp
·
2019-03-30 16:20
内核必须懂(二): 文件系统初探
内核必须懂(二):文件系统初探内核必须懂(三):重编Ubuntu18.04LTS内核4.15.0内核必须懂(四):撰写
内核驱动
内核必须懂(五):per-CPU变量目录前言文件系统结构新建文件和inode
sean_depp
·
2019-03-30 16:22
Nanopi m1(全志H3)
内核驱动
编程初探Helloworld(编译方式一)
方法一:开发环境:VM+Ubuntu编译环境:linux3.4(全志官方BSP)交叉编译工具:arm-linux-gcc4.4.31.编写helloworld设备源码#include#include#include#include#include#include#include#include#include#include#include#include#defineDEVICE_NAME"he
七月流星.
·
2019-03-13 15:53
内核驱动
V4l2:Video for Linux 2
全网最秀最好听的DANCEMONKEY-PeterBence(PianoCover)VideoforLinux2,简称V4l2,是Linux内核中关于视频设备的
内核驱动
框架,为上层的访问底层的视频设备提供了统一的接口
tony2278
·
2019-03-02 16:07
图形
树莓派3b 编译内核之交叉编译
树莓派3b编译内核之交叉编译摘要:最近在学习GNU/Linux的
内核驱动
编程,使用的硬件平台是树莓派RaspberryPi3ModelBV1.2。
逝者不灭
·
2019-03-01 20:55
在Ubuntu下使用QEMU搭建arm开发环境(五)在开发板上运行应用和
内核驱动
程序
在前面的四篇博客中我们完成了在QEMU上开发环境的搭建,现在我们可以在开发板上运行应用以及
内核驱动
程序,运行一些简单的例子来尝尝鲜。
爱吃肉的大高个
·
2019-02-20 09:18
arm+linux开发
Android 驱动开发---Android Linux 内核编译 Nexus 5x
驱动开发的准备驱动开发了解:Android对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中,硬件抽象层运行在用户空间,而Linux
内核驱动
程序运行在内核空间
Eric_Y15
·
2019-02-19 15:14
Android驱动开发---Linux Kernel/HAL Layer/Jni Layer实例全集
1.Linux
内核驱动
实例以下均在AndroidLinux内核目录下操作,在drivers目录下创建驱动目录hello这个目下要创建3个文件,hello.c,MakefileandKconfig1.1hello.ccddriver
Eric_Y15
·
2019-02-15 16:44
Linux内核宏container_of的深度剖析
container_of宏在linux内核代码里面使用次数非常非常多,对于喜欢linux编程的同学来说,了解其实现方法,对以后看内核代码,写
内核驱动
的帮助都非常大,当然,我不是说了解这个就可以为所欲为了
码农-嵌入式Linux
·
2019-02-01 11:57
嵌入式C语言自我修养 02:Linux
内核驱动
中的指定初始化
2.1什么是指定初始化在标准C中,当我们定义并初始化一个数组时,常用方法如下:inta[10]={0,1,2,3,4,5,6,7,8};按照这种固定的顺序,我们可以依次给a[0]和a[8]赋值。因为没有对a[9]赋值,所以编译器会将a[9]默认设置为0。当数组长度比较小时,使用这种方式初始化比较方便。当数组比较大,而且数组里的非零元素并不连续时,这时候再按照固定顺序初始化就比较麻烦了。比如,我们定
宅学部落
·
2019-01-26 12:09
GNU
C
嵌入式
C语言
嵌入式C语言自我修养
嵌入式C语言自我修养 01:Linux 内核中的 C 语言语法扩展
1.1Linux
内核驱动
中的奇怪语法大家在看一些GNU开源软件,或者阅读Linux内核、驱动源码时会发现,在Linux内核源码中,有大量的C程序看起来“怪怪的”。
宅学部落
·
2019-01-26 11:26
GNU
C
C教程
嵌入式
嵌入式C语言自我修养
2019-01-14 Device Tree
DeviceTree常用方法解析DeviceTree在Linux
内核驱动
中的使用源于2011年3月17日LinusTorvalds在ARMLinux邮件列表中的一封邮件,他宣称“thiswholeARMthingisaf
鼎城宝箭_搬运工
·
2019-01-14 12:00
c和c++动态内存开辟&newnamespace
c中动态开辟内存空间:malloc函数原型void*malloc(size_tsize);size_t--------无符号整型操作系统----》
内核驱动
----》硬件void*是一个半开半闭区间,只知道动态内存起始地址而不知道什么时候结束
从前有座山a
·
2019-01-10 22:34
C/C++
c和c++动态内存开辟&newnamespace
c中动态开辟内存空间:malloc函数原型void*malloc(size_tsize);size_t--------无符号整型操作系统----》
内核驱动
----》硬件void*是一个半开半闭区间,只知道动态内存起始地址而不知道什么时候结束
从前有座山a
·
2019-01-10 22:34
C/C++
Linux内核设备驱动之Linux内核基础笔记整理
1.Linux
内核驱动
模块机制静态加载,把驱动模块编进内核,在内核启动时加载动态加载,把驱动模块编为ko,在内核启动后,需要用时加载2.编写
内核驱动
#include#includestaticint__
Engineer-Bruce_Yang
·
2018-12-17 09:12
Android驱动开发---Linux Kernel/HAL Layer/Jni Layer实例全集
1.Linux
内核驱动
实例以下均在AndroidLinux内核目录下操作,在drivers目录下创建驱动目录hello这个目下要创建3个文件,hello.c,MakefileandKconfig1.1hello.ccddriver
EricY15
·
2018-12-11 18:19
Android
Nfc
POS
Android 驱动开发---Android Linux 内核编译 Nexus 5x
驱动开发的准备驱动开发了解:Android对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中,硬件抽象层运行在用户空间,而Linux
内核驱动
程序运行在内核空间
EricY15
·
2018-12-10 14:03
nfc
pos
android
linux
kernel
ubuntu下安装rtl8811cu网卡
的WDN5200HAC网卡,给虚拟机用,折腾一下成功了github上有rtl8821cu/rtl8811cu的驱动和安装方法,但是时间有点久了,新的内核计时器改变了很多,所以驱动已经过时,找到一个新的
内核驱动
Daxus Gu
·
2018-11-22 20:40
Linux
vxWorks驱动架构
Vxworks
内核驱动
基本结构:三张表:1.系统设备表2.系统驱动表3.文件描述符表Vxworks内部对每个设备使用DEV_HDR数据结构进行表示:Typedefstruct{DL_NODEnode;Shortdrvnum
ch3rry
·
2018-11-01 09:00
VxWorks
本地系统服务例程:Nt和Zw系列函数
Windows本地操作系统服务API由一系列以Nt或Zw为前缀的函数实现的,这些函数以内核模式运行,
内核驱动
可以直接调用这些函数,而用户层程序只能通过系统进行调用。
Gifur
·
2018-09-14 18:00
内核驱动
(五)看门狗
尽管在linux系统中,对于S3C2440开发板来说,默认是已经配置了看门狗定时器,如:DeviceDrivers--->[*]WatchdogTimerSupport--->[*]Disablewatchdogshutdownonclose(NEW)//如果选中,用户一旦open看门狗设备,用户就没法关闭看门狗S3C2410Watchdog但看门狗定时器是没有打开的,所以我们会在启动系统的时候,
LouisGou
·
2018-09-10 10:20
内核驱动
内核驱动
(三)Linux系统时钟RTC
RTC,实时时钟芯片,用来在系统断电时,利用备用的锂电池继续记录时间。一、RTC介绍(1)realtimeclock,真实时间,就是所谓的xx年x月x日x时x分x秒星期x(2)RTC是SoC中一个内部外设,RTC有自己独立的晶振提供RTC时钟源(32.768KHz),内部有一些寄存器用来记录时间(年月日时分秒星期)。一般情况下为了在系统关机时时间仍然在走,还会给RTC提供一个电池供电。(3)RTC
LouisGou
·
2018-09-09 20:30
内核驱动
内核驱动
(二)Linux按键驱动分析
一、按键驱动1、对按键驱动添加设备信息linux-stable-3.10.46对按键的驱动定义在gpio_keys.c(drivers\input\keyboard)文件中,在led驱动分析中,我们知道,只有平台设备和平台驱动两者的name名字一致才可以注册成功一个驱动。这里,内核代码中没有对按键平台信息的定义,因此我们需要给他补充完整。首先将按键驱动编译到内核:DeviceDrivers--->
LouisGou
·
2018-09-08 18:14
内核驱动
内核驱动
(一)Linux 输入子系统
一、Linux输入子系统1.事件层:负责与用户程序打交道,将核心层传来的事件报告给用户程序。2.核心层:是链接其他两个层之间的纽带与桥梁,向下提供驱动层的接口,向上提供事件处理层的接口。3.设备驱动层:负责操作具体的硬件设备,这层的代码是针对具体的驱动程序的,键盘、鼠标、触摸屏等字符设备驱动功能的实现工作主要在这层。二、数据结构及操作2.1input_dev结构input_dev结构体用来描述一个
LouisGou
·
2018-09-02 20:58
内核驱动
system深度理解(转)
linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同的system()函数,直接在shell下输入system()函数中调用的命令也都一切正常.就没理这个bug,以为是其他的代码影响到这个,或是
内核驱动
文件系统什么的
as520213211314
·
2018-08-22 14:43
嵌入式学习路线
总结嵌入式Linux+Android系统包含以下部分内容:ARMBootloaderLinux
内核驱动
程序根文件系统AndroidFramework使用C
地上最萌程序兔
·
2018-08-16 20:23
QEMU和KVM的关系
首先KVM(KernelVirtualMachine)是Linux的一个
内核驱动
模块,它能够让Linux主机成为一个Hypervisor(虚拟机监控器)。
河马虚拟化
·
2018-07-30 07:49
虚拟化
QEMU
KVM
Docker 安装失败解决方法
卸载旧版本#如果之前安装过docker.io,没有跳过august@ubuntu:~$sudoapt-getremovedockerdocker-enginedocker.io安装AUFS
内核驱动
模块#
JasonZhu426
·
2018-07-24 14:23
python
2018年6月份GitHub上最热门JavaScript项目
一起来看看:1、denodeno被称为下一代Node,使用Go语言代替C++重新编写跨平台底层
内核驱动
,上层仍然使用V8引擎,最终提供一个安全的TypeScript运行时。
liuyingv8
·
2018-07-23 15:34
ETW架构以及WPT(Windows Performance Toolkit)命令行的使用
ETWETW(EventtraceforWindows)是微软提供的追踪和记录由应用程序和
内核驱动
事件的机制。ETW已经由Windows操作系统实现了,所以我们无需对其编程。
OrangeCat_
·
2018-07-16 21:45
富途软件功能点解释
Linux学习-day1-系统配置
1.共享文件夹:cdmnt/hgfs/CentOSshare2.打开电脑BIOS的IVT虚拟化支持3.几个目录的含义linux里是左斜杠/Windows里是右斜杠\1)bin:系统可执行的脚本命令,
内核驱动
脚本
canglan211
·
2018-06-25 14:07
Linux
5月份GitHub最热门的开源项目
1.Node之父的新项目deno(Star3625)最近,Node之父发布了新的开源项目deno,从官方介绍来看,可以认为它是下一代Node,通过使用Go语言代替C++,重新编写跨平台底层
内核驱动
,上层仍然使用
weixin_33734785
·
2018-06-19 19:03
linux开发の如何静态的将驱动模块编译进内核
第一步:在driver目录下新建一个my_dr/hello目录,主要存放自己编写的
内核驱动
代码。当执行makemenuconfig时,能够找到自己编写的代码
牛奶还是纯的好
·
2018-06-13 14:35
linux开发
linux开发の如何静态的将驱动模块编译进内核
第一步:在driver目录下新建一个my_dr/hello目录,主要存放自己编写的
内核驱动
代码。当执行makemenuconfig时,能够找到自己编写的代码
牛奶还是纯的好
·
2018-06-13 14:35
linux开发
Android系统框架简单理解
安卓系统分为四层:1、Android应用层2、Android应用框架层3、Android系统运行层4、Linux内核层图示:硬件抽象层
内核驱动
和用户软件之间还存在所谓的硬件抽象层(HardwareAbstractLayer
CHEN_黎黎
·
2018-06-12 22:56
关于deno
关注点近日,Node之父RyanDahl发布新的开源项目deno,从官方介绍来看,可以认为它是下一代Node(其目标不是取代Node.js),使用Go语言代替C++重新编写跨平台底层
内核驱动
,上层仍然使用
夜猫的兔子
·
2018-06-12 11:01
框架
嵌入式Linux驱动笔记(十九)------音频子系统(ASOC框架)之Machine
我们知道,Linux
内核驱动
可以都是遵循一个逐层抽象的架构:最上层的抽象层便于系统软件的访问,中间层的实现硬件协议细节,同时提供上下两层连接的接口,对于最下层的driver来说就是要定义底层驱动要实现的接口和实际的设备控制
风筝丶
·
2018-06-11 00:00
Linux驱动
关于deno出世时所发生了什么
关注点近日,Node之父RyanDahl发布新的开源项目deno,从官方介绍来看,可以认为它是下一代Node(其目标不是取代Node.js),使用Go语言代替C++重新编写跨平台底层
内核驱动
,上层仍然使用
蓝少
·
2018-06-04 00:00
typescript
golang
前端
node.js
deno
USB-WIFI RTL8188CU模块驱动
Linux
内核驱动
适配和编译由于芯片驱动官方已经最高支持kernelLinux3.9版本、在对Linux3.14进行移植时出现较多问题。期间出现了很多的坑。
fluency1224
·
2018-04-25 14:28
Linux驱动开发
Linux
内核驱动
GPIO的使用
一概述Linux内核中gpio是最简单,最常用的资源(和interrupt,dma,timer一样)驱动程序,应用程序都能够通过相应的接口使用gpio,gpio使用0~MAX_INT之间的整数标识,不能使用负数,gpio与硬件体系密切相关的,不过linux有一个框架处理gpio,能够使用统一的接口来操作gpio.在讲gpio核心(gpiolib.c)之前先来看看gpio是怎么使用的二内核中gpio
开源之星
·
2018-04-12 10:40
linux
gpio
转载区
内核驱动
- Platform bus平台总线
一、概念Platformbus平台总线,是一种虚拟总线,采用总线的模型对设备与驱动进行管理,提高程序的可移植性。Platformbus平台总线驱动和设备匹配方法:1.通过id_table(芯片型号)进行匹配,但是大多数设备都没有id_table(芯片型号)2.通过设备->name与驱动->name进行匹配二、平台设备平台设备使用structplatform_device来描述:structplat
LouisGou
·
2018-04-02 21:21
S5PV210
内核驱动
- 总线设备驱动
一、总线设备驱动模型二、总线1、总线描述在Linux内核中,总线由bus_type结构表示,定义在structbus_type{constchar*name;/*总线名称*/int(*match)(structdevice*dev,structdevice_driver*drv);/*驱动与设备的匹配函数*/………}int(*match)(structdevice*dev,structdevice
LouisGou
·
2018-04-02 21:23
S5PV210
内核驱动
- 内核定时器
一、概念内核定时器是内核用来控制在未来某个时间点(基于jiffies当前时间)调度执行某个函数的一种机制,被调度的函数是异步执行的,类似于一种“软件中断”,而且是处于非进程的上下文中,所以调度函数需要遵循以下规则:1)没有current指针、不允许访问用户空间。因为没有进程上下文,相关代码和被中断的进程没有任何联系。2)不能执行休眠(或可能引起休眠的函数)和调度。3)任何被访问的数据结构都应该针对
LouisGou
·
2018-03-31 15:07
S5PV210
上一页
14
15
16
17
18
19
20
21
下一页
按字母分类:
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
其他