自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

诗歌年华

第七次,它侧身于生活的污泥中,虽不甘心,却又畏首畏尾。

  • 博客(40)
  • 收藏
  • 关注

原创 Input子系统浅析

为何要有input子系统输入设备工作原理输入设备(如鼠标、键盘、触摸屏、按键灯)是典型的字符设备,其工作机理: 1. 底层在按键。触摸等动作产生一个中断(或者定时查询,设置一个定时器) 2. 就进入中断或定时器处理程序,CPU通过SPI、I2C或外部存储总线(还有platfrom虚拟总线)读取键值、坐标等数据,放入一个缓冲区; 3. 字符设备驱动管理这个缓冲区,驱动的read()可以让用

2017-02-17 19:15:53 439 2

原创 Platform总线、设备与驱动浅析

设备模型就需要设备和驱动挂接在一个总线上面,对有实际总线的设备和驱动那是没问题的,但有一些挂接在soc内存空间的外设,则没有对应的总线来挂接,由此引入了platform总线的概念

2017-02-05 20:41:52 434

原创 MISC设备驱动分析及实现

MISC设备属于字符设备,是因为字符设备多种多样,很多无法归类的字符设备都归在misc设备中

2017-02-04 20:35:01 547

原创 ARM设备树解析

linux-4.8.5\arch\arm\boot\dts ARM设备树文件所在位置include/linux目录下的of_xxx.h为设备树函数头文件所在位置概念设备树是一种描述硬件的数据结构,采用设备树后,许多硬件的细节可以直接通过它传给Linux。组成 它是由命令的节点(Node)和属性(Property)组成,而节点本身可以包含子节点。DTS文件 (Device Tr

2016-12-08 09:02:49 1074

原创 字符设备驱动剖析

整体流程 这是字符设备里面主要写的函数,我们接下来一个一个分析他们在系统中运作的原理。字符设备打开过程int fd = open("/dev/demo0", O_RDWR);^ | 用户空间(3G) —-系统调用—————————————– | 内核空间(1G) V 1、找inode节点,得到设备号 2、

2016-12-05 22:38:12 303

原创 IOCTL接口函数解析

什么是IOCTLIOCTL是设备驱动程序中对设备的I/O通道进行管理的函数。所谓的I/O通道管理即设备参数读写、设备状态读、以及控制设备。例如:控制串口传输的波特率、马达的转速等等。IOCTL参数命令long (*unlocked_ioctl)(struct file *filp, unsigned int cmd, unsigned long arg)工程实例

2016-12-05 15:29:12 548

原创 Linux内核配置Kconfig语法

何为Kconfig 它的作用是什么内核源码编译过程遍历每个源码目录(或配置指定的源码目录)Makefile 每个目录的Makefile 会根据Kconfig来定制要编译对象 回到顶层目录的Makeifle执行编译那么我们就得出各个文件的作用:Kconfig ---> (每个源码目录下)提供选项.config ---> (源码顶层目录下)保存选择结果Makefile---> (每个源

2016-11-29 20:20:01 28438 11

原创 Linux内核配置与编译流程

配置1.使用make menuconfig使用命令: # make ARCH=arm menuconfig命令解析 :按空格键选中(*编译进内核,M编译成模块)或编辑参数 :退到上一级或是退出menuconfig :查看该选项的说明信息,及出处 Defined at arch/arm/Kconfig:1450 :保存选择结果,且不退到上一级或是退出menuconfi

2016-11-28 22:19:06 748

原创 Linux内核代码结构简要分析

kernel下载地址:https://www.kernel.org/ 在Linux下,也可以使用命令:wget http://kernel.org/pub/linux/kernel/<版本>本文的内核版本为4.8.11 注意:使用kernel要遵守GPL协议,有兴趣的可以自己去看看。1.Linux内核模块结构图在图中可以看到字符设备是没有缓存,直接输入输出的,而网卡和文件系统有缓存器件。2.Li

2016-11-28 17:28:13 638

原创 基于ARM4412的ADC原理及实现

ADC原理及实现基本概念ADC,Analog-to-Digital Converter的缩写,指模数转换器。即将模拟信号转变为数字信号。使用领域一般使用在模拟温度转换器上,由于本次采用了4412的开发,温度器使用的是数字温度器。所以此次测验使用的是滑动变阻器【如图2所示】来模拟电压的变化,达到模拟信号的目的。 图2实现 以前接触的ADC都差不

2016-11-22 19:58:04 4188

原创 Linux标准IO编程

Linux标准IO编程linux下的标准I/O的编程方法:什么是标准I/O什么是流流的一些处理方式什么是标准I/O 即C定义来操作I/O的一系列函数首先,得明白啥是系统调用,系统调用,是一种接口,提供给程序以分配内存、创建进程、实现进程之间的通信。 因为每个系统的系统调用都不一样,所以程序员就想出来定义一个编程接口来使用这些系统调用,俗称API。而C库是使用最广的了,而在C库了定义了

2016-11-06 19:52:29 499

原创 Ubuntu 16.04 LTS 64位下安装steam游戏平台

此文章翻译来自外国的友人写的 原文链接:点我 这次安装比较有问题的就一点,steam平台下载的deb文件是32位的,而如果64位系统想安装的话,就会不断的提示libc6-i386 依赖关系出错。这是因为ubuntu没有下载支持32位的库。PS:本文挑具体的操作步骤翻译了,懂英文的童鞋还是去原作者博客上看看吧。译文如下下面的这篇文章将教你如何在 Ubuntu 16.04 L

2016-07-07 01:05:10 27044 3

原创 Unbuntu 16.04LTS 安装sogou 输入法详解

Unbuntu 16.04LTS 安装sogou 输入法详解博主最近开始学习linux 在安装输入法中遇到的一些问题,最终成功安装,也得益于网络上的前辈写的帖子,现在将全部安装步骤以及遇到的一些问题总结如下: 本文是百度经验的帖子和另外一篇帖子总结而成基本上分三步走 1,添加fcitx的键盘输入法系统,因为sogou是基于fcitx的,而系统默认的是iBus; 2,安装so

2016-07-05 00:09:18 7130

原创 18分钟计划管理你的一天(让你的学习变得高效)

2010-01-08 19:58:00 942 17

原创 我的问题

2010-01-03 14:05:00 423 1

原创 从疯狂的下载者变成学习者

2009-12-26 18:36:00 1119 30

原创 写给IT的大学生们的一点建议(转)

2009-12-22 21:21:00 763 2

原创 记我一次成功的入侵学校网站服务器的黑客行动

2009-12-22 15:47:00 17377 8

原创 Grub错误之总结报告

2009-12-16 16:43:00 508 5

原创 学习 Linux 的九条忠告 (转)

2009-12-14 09:16:00 463 2

原创 自我激励的有效方法20个(推荐)

2009-12-12 23:59:00 972 3

原创 坚定你的信念

2009-12-12 11:39:00 1147 3

原创 既然选择了远方,便只顾风雨兼程

2009-12-12 00:17:00 2308 1

原创 自我认为非常好的成功要点

2009-12-11 13:01:00 310

原创 锻炼思维的几种方法

2009-12-10 10:46:00 688

原创 你的成功在于你每天养成的习惯

2009-12-06 14:14:00 339 4

原创 第三章,如何与时间做朋友

2009-12-03 23:06:00 525

原创 第二章,开启自己的心智

2009-12-03 12:44:00 481

原创 第一章,心智的力量

2009-12-03 11:52:00 392

原创 哈佛图书馆馆训

2009-12-02 15:24:00 542 1

原创 做好演讲者的必备条件

2009-12-01 21:29:00 1387

原创 VI编辑器的使用

2009-11-30 21:03:00 708 1

原创 鹰的精神

2009-11-30 20:48:00 1412

原创 第二课,文件操作

2009-11-30 20:23:00 280

原创 KOBE永不会输

2009-11-30 18:44:00 380

原创 第一课,Linux的基本命令

2009-11-30 09:08:00 293

原创 怎么更快的学习程序语言

2009-11-19 13:28:00 544

原创 How do you learn C++?

2009-11-19 10:38:00 393

原创 ASCII码排序

2009-11-18 22:09:00 2055

原创 指针

2009-11-18 16:22:00 344

空空如也

空空如也

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

TA关注的人

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