自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Radia的专栏

专注嵌入式Linux驱动、Python系统开发。

  • 博客(9)
  • 资源 (2)
  • 收藏
  • 关注

原创 linux驱动由浅入深系列:usb子系统之二(枚举过程)

在上一篇文章中我们知道了usb协议中的域、包、事务、传输的基本概念,下面我们来看看usb第一个通信过程—枚举。枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序。这部分内容同上一篇文章一样,是一些接近物理层的过程,而且其中大部分细节都由硬件模块完成,对于linux驱动工程师来说只需要了解,并不用深陷其中无法自拔。(这部分PHY层细节

2017-02-27 17:38:36 1305

原创 linux驱动由浅入深系列:usb子系统之一(域、包、事务、传输的基本概念)

本文从usb协议的物理层讲起,对usb建立一个整体的概念再进行逐步细化。下图是usb2.0协议的物理层连线,其中包括一根地线、一根电源线(在usb2.0中电源线仅支持到5V 500mA,目前随着人们需求的日益膨胀,usb线提供的供电能力正在不断增加)、两根差分数据线DP、DM(使用差分线的好处是增加抗干扰能力,能够更快速的串行传输数据,这个有概念就可以了,在此不做深入探讨)。USB

2017-02-27 11:46:28 1876 1

原创 linux下的两种层次的控制台及打印级别

在嵌入式调试过程中查看各种log是十分重要的,而串口控制终端能够显示内核log,但是通过网络或adb shell连接的控制台只能显示用户空间的log,这两种控制台有什么区别呢?今天来区分一下kernel层log与应用层log,及打印级别。linux控制台分为两种:一种是kernel级别的控制台,一般为uboot启动时通过cmdline传递给kernel的,这个kernel级别控制台能够打印

2017-02-23 15:14:42 7870

原创 linux驱动由浅入深系列:输入子系统之三(应用层模拟input_event)

在上一篇文章中编写了gpio_key的驱动,可以看到每次gpio_key按下会上报event到/dev/input /event7节点。其实在应用层是可以完全模拟出这个按键过程的,原理是向EV_KEY类型的eventX消息节点write event将会被重新返回到eventX节点上,产生与按键按下相同的效果。(另外EV_LED、EV_SND类型的event通道驱动层会有对应的消息处理函数去点亮le

2017-02-22 16:00:59 3297

原创 linux驱动由浅入深系列:输入子系统之二(编写一个gpio_key驱动)

在上一篇文章中我们大致了解了linux input subsystem的功能用应用层的使用,本文我们一起来看一看驱动代码的编写。在“linux驱动由浅入深系列:驱动程序的基本结构概览”一文中已经解释的驱动程序的基本结构,今天我们以上一篇文章中的程序为基本结构,添加相关内容来构成一个gpio按键的驱动程序。先来看看修改完后的代码:#include #include #include

2017-02-21 17:44:10 4292 1

原创 linux驱动由浅入深系列:驱动程序的基本结构概览之一(第一个驱动程序)

提到linux驱动程序,首先应该知道它是linux的内核模块。那么想要编写驱动程序,就要首先认识一下linux的内核模块机制。Linux内核模块是使得复杂而庞大的linux内核条理清晰、可裁剪、高兼容性的重要特性。Linux内核模块的特点:1,  模块本身不被编译进内核镜像,能够控制内核的大小。2,  模块可以在需要的时候中被动态加载,一旦加载完成就和内核其它部分完全一样。 下

2017-02-16 15:54:39 7379

原创 linux驱动由浅入深系列:输入子系统之一(input子系统概述、应用层读取event)

本文系列文章先从宏观上了解linux中输入子系统的作用,再看看其在应用层是如何表现出来的,然后在一层层深入到linux内核代码中。  1,输入子系统引入的好处:(1)统一了物理形态各异的相似的输入设备的处理功能。例如,各种鼠标,不论PS/2、USB、还是蓝牙,都被同样处理。在移动设备上的触摸屏、按键、各类传感器也都是基于输入子系统的。(2)提供了用于分发输入报告给用户应用程序的简单的事

2017-02-13 12:01:48 5300

原创 开启智能时代的一个畸形灯泡--真空二极管

身处当今智能时代的我们,互联网技术已经如同空气一样不可或缺了。然而你可曾想过从爱迪生手中灯泡的亮起,到现在o2o大战、智能家具、可穿戴设备、虚拟现实等技术的如火如荼,这之前经历了多少沧桑。爱迪生与他的灯泡今天我们从爱迪生说起,为寻找灯丝材料做了近千次实验,这家伙看到什么材料都用来实验。这是一个我们耳熟能详的关于坚持与成功的故事,然而这并不是我们今天的主题。说到这

2017-02-11 20:13:06 1118

原创 Linux下的打包、压缩、解压总结

首先附上linux下各个后缀格式的压缩解压命令,如果暂时不想了解个中缘由可以用完即走。.tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)高级打包使用,排除若干目录,指定打包路径。tar --exclude=var/www/ff-bb.cn/download --exc

2017-02-08 11:49:05 9024

setuptools-33.1.1.zip

windows下python安装第三方模块是报错“ImportError: No module named setuptools”,发现时未安装setuptools,按网上方法下载了ez_setup.py进行安装时又报错:“使用“2”个参数调用“DownloadFile”时发生异常:“基础连接已经关闭: 发送时发生错误。”发现时网络问题,下载不了setuptools-33.1.1.zip,后经科学上网法,拿到了setuptools-33.1.1.zip特分享出来以供需要的同学。

2017-11-10

total commander 8.52a 含对应的注册Key文件

为方便版本对应,提供了total commander8.52a的主程序和相应注册key,亲测成功。 注册方法:关闭Total Commander,将下载的文件(wincmd.key)复制到Total Commander的安装文件夹下,重启Total Commander即可。 注:此文件经用于个人学习研究用,禁止商业传播!有需要请购买正版支持原开发者。

2016-05-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除