USB设备创建过程与驱动学习笔记

讲述usb设备插入到设备创建过程的源码分析,以及以中断传输方式的鼠标驱动为例,讲述USB驱动实现流程。文章目录USB设备创建过程USB驱动编写(中断传输方式)USB设备创建过程当外部插入USB设备后,系统都做了哪些工作?总的来说就是:插入USB设备后,USB控制识别到USB设备,会向系统触发一中断,在中断函数中唤醒休眠线程,在线程中获取USB设备信息,并创建USB设备。该过程可参考hub.c 文件。USB控制器触发中断入口函数:hub_irq。整个调用流程如下:->hub_irq //产
分类: 其他 发布时间: 03-01 08:32 阅读次数: 0

centos源配置和yum使用

目前国内主要的源有:阿里清华163介绍两种源配置:阿里源和清华源一、阿里源配置先备份一份cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak阿里网站下载一份最新源配置(wget 命令下载)wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo这时查看/etc/yum
分类: 其他 发布时间: 03-01 08:32 阅读次数: 0

unlikely和likely函数作用

在linux内核中的判断语句里常见到unlikely和likely函数。如:if(unlikely(a)) // if(likely(a)){ ...}else{...}两函数实质是__builtin_expect的的宏定义,原型如下:# define likely(x) __builtin_expect(!!(x), 1)# define unlikely(x) __builtin_expect(!!(x), 0)__builtin_expect 是GCC的内置函数,用来对
分类: 其他 发布时间: 03-01 08:32 阅读次数: 0

linux定时器使用指南及实例

本文简述如何使用linux里的定时器,包括周期性中断,停止和启动的控制。日常常用的几个定时器相关linux API函数:init_timer(); 初始化定时器add_timer(); 启动定制器del_timer();停止定时器mod_timer(); 重新修改定时器当前计数时间这些API位于:kernel\timer.c中,该源文件里还包括了常用的msleep(),schedule_timeout()等常用的延时调度函数。下面以一个实例驱动介绍linux里的timer的使用(基于3.
分类: 其他 发布时间: 03-01 08:31 阅读次数: 0

Linux Kdump内核崩溃转储部署详解

1、crashkernel以及编译config(1)在"Processor type and features.“下使能"kexec system call”。CONFIG_KEXEC=y(2)在"Filesystem" -> “Pseudo filesystems.“下使能"sysfs file system support”。CONFIG_SYSFS=y(3)在"Kernel hacking.“下使能"Compile the kernel with debug info” 。CONFI
分类: 其他 发布时间: 03-01 08:31 阅读次数: 0

HTML/CSS 锚点轮播图

HTML/CSS 锚点轮播图方法一:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style>
分类: 其他 发布时间: 03-01 08:31 阅读次数: 0

HTML/CSS 单选框

HTML/CSS 单选框代码:<!DOCTYPE html><html lang="en"> <head> <meta name="keywords" content="zidingyi"> <meta name="description" content="zidingyi"> <meta charset="UTF-8"> <title>&lt
分类: 其他 发布时间: 03-01 08:31 阅读次数: 0

HTML/CSS 游戏图标

HTML/CSS 游戏图标代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style>
分类: 其他 发布时间: 03-01 08:30 阅读次数: 0

HTML/CSS 三个小盒子在一个大盒子中水平居中

HTML/CSS 三个小盒子在一个大盒子中水平居中方法一:把子盒子变成行内块<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> .big { width: 600px; height: 600px
分类: 其他 发布时间: 03-01 08:30 阅读次数: 0

前端 HTML/CSS (十三)

前端 HTML/CSS (十三)background-origin,背景定位基准背景裁剪用来控制背景延伸到哪里,background-origin用来控制background-position相对于哪里来进行定位。默认的时候background-position定位相对于元素内边距的外边界来进行定位。padding-box,默认值。背景图像的左上角被放在内边距外边界(左上角)。border-box,背景的图像左上角被放在边框的外边界(左上角)。content-box,背景的图像左上角被放在内容
分类: 其他 发布时间: 03-01 08:30 阅读次数: 0

前端 HTML/CSS (十四)

前端 HTML/CSS (十四)关于渐变background-image: linear-gradient(90deg,yellow 0%,yellow 50%,transparent 50%),linear-gradient(75deg,red 0%,red 50%,transparent 50%);通过如上代码,可以分析出来。background-image中可以使用多个渐变效果。如果使用多个渐变效果,先写的将会压住后写的。从PSD设计稿中获得渐变值选择移动工具选中自动选择
分类: 其他 发布时间: 03-01 08:30 阅读次数: 0

前端 HTML/CSS (十五)

前端 HTML/CSS (十五)过渡的时候不要用 auto 这个值。display: none之后马上使用过渡是不好使的,因为会被当做没有开始状态,直接就到了结束状态。边框折叠只存在于块状元素中,当边框折叠时也可以把元素转换为行内块元素来解决。动画过渡是在状态发生变化时把一个属性的值从一个规则设定的值改变为另外一个规则中设定的值。这个变化是在一段时间完成的不是瞬间变化的。过渡需要触发(如hover上去后)才能变化,而动画不需要。CSS动画和过渡的相同点就是都在一段时间内发生变化,不同
分类: 其他 发布时间: 03-01 08:29 阅读次数: 0

阮一峰前辈的部分前端内容

一峰大佬的内容实在太多,我整理了一些前端实用的内容,方便查看。1. 只要一行代码,实现五种 CSS 经典布局2. Flex 布局教程:语法篇3. Flex 布局教程:实例篇4. CSS Grid 网格布局教程5. Flexbox 布局的最简单表单6. 微信小程序入门教程之一:初次上手7. 微信小程序入门教程之二:页面样式8. 微信小程序入门教程之三:脚本编程9. 微信小程序入门教程之四:API 使用10. Git 工作流程11. Git 使用规范流程12. 常用 Git 命令
分类: 其他 发布时间: 03-01 08:29 阅读次数: 0

前端 HTML/CSS (十六)

目录flex设置弹性元素如何在垂直轴上进行分布设置整个弹性元素如何对齐。弹性增长因子flex主轴、垂直轴flex-directionflex-wrapjustify-content设置弹性元素如何在垂直轴上进行分布align-items定义的是弹性元素在垂直方向上的对齐方式。(设置弹性元素在当前行的位置分布)。flex-start,将各个弹性元素与弹性容器垂直轴的起始边一侧对齐。flex-end,将各个弹性元素与弹性容器垂直轴的结束边一侧对齐。center,弹性元素的中点与所
分类: 其他 发布时间: 03-01 08:29 阅读次数: 0

前端 HTML/CSS (十七 总结)

目录弹性元素排序收缩因子BFC水平、垂直居中的总结总结:弹性元素排序order默认的时候,弹性元素的显示和排序顺序是与在源码中的顺序一致的,如果更改需要使用order属性。格式:order:value,用于弹性元素,默认情况下所有弹性元素的顺序都是0。修改弹性元素的视觉顺序,可以将order设置为一个非零的整数(正数、负数)数越大在主轴上面越靠后。如果数值相同它们会被分配在同一个排序组中,以出现在源码中的顺序沿着主轴方向显示。注意:使用order时只是视觉上的变化,就像在源码中的顺序发生了修改
分类: 其他 发布时间: 03-01 08:29 阅读次数: 0

JavaScript/JS 基础知识点

目录JavaScript基础语法初识使用JavaScript其他使用JavaScript的方法变量什么是变量变量的作用(为啥要有变量?)变量的定义变量定义规则变量的类型(容器中的内容)JavaScript基础语法初识使用JavaScript<!DOCTYPE html><html> <head> <meta charset="UTF-8" /> <script src=""></script&g
分类: 其他 发布时间: 03-01 08:28 阅读次数: 0

数组去重(面试题)

数组去重(面试题)//数组去重,面试题,新数组中去重,原数组中不动。var arr = [1,2,1];var newArr = [];//去重之后的数组。for (var i = 0 ; i < arr.length ; i++) {//i=0 0<3 true//i=1 1<3 true//2<3 true//3<3 false var flag = true;//一个标志位,默认的时候都往里面放//true//true//true /*
分类: 其他 发布时间: 03-01 08:28 阅读次数: 0

谈一谈null和undefined

目录谈一谈null和undefinedundefined出现的场景:null出现的场景:什么是DOM?什么是节点?节点类型有哪些?说出获取元素所有的方式获取html body head标签的方法兼容性获取第一个子元素的封装谈一谈null和undefinedUndefined类型只有一个值,即undefined。我们不会对一个值设置undefined,一般都是出现错误的时候,才会被我们打印出来。null 类型是第二个只有一个值的数据类型,这个特殊的值是 null,null 值表示一个空对象指针,而这也
分类: 其他 发布时间: 03-01 08:28 阅读次数: 0

window.onload事件触发条件

目录window.onload 事件触发条件:鼠标的 mouseover 事件和 mouseenter 事件的区别分析基本数据类型和引用数据类型的区别基本类型值特点:引用类型值特点:为什么要标签语义化?window.onload 事件触发条件:当所有的DOM节点全部加载完成。页面中所有的资源(音频视频图片等等)全部加载完成。鼠标的 mouseover 事件和 mouseenter 事件的区别mouseover和mouseenter都是移入事件。mouseover会触发冒泡。mouseen
分类: 其他 发布时间: 03-01 08:28 阅读次数: 0