自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wwbbxx的博客

一位技术小白

  • 博客(23)
  • 资源 (3)
  • 收藏
  • 关注

原创 C++中的顺序容器、容器适配器总结

顺序容器: 一、概述1.vector: 内部是数组结构,支持快速的随机访问,但是插入元素时效率低下,需要在一开始就分配大块内存空间; 2.list: 内部是链表结构,支持快速的插入和删除元素,但是不能快速的随机访问。 3.deque: 内部与vector相似,但是其不是一开始就分配一块较大的内存空间,而是使用多块内存空间。并且其空间的大小可向两头移动。所以和...

2018-08-07 16:08:10 446

原创 事件驱动程序(evdev)以及handler的注册过程

上一篇文章中介绍了input_dev和handler的匹配过程,input_dev的属性是在设备驱动程序中设定 的,调用input_device_register向input_core注册。那么对于handler的注册是发生在时间处理层的 ,在input目录下有evdev.c,joydev.c,mousedev.c等事件驱动程序。下面介绍与触摸有关的evdev 事件处理源码;stat...

2018-06-25 18:08:23 584

原创 linux input输入子系统分析(input_dev和handler匹配分析)

内核的输入子系统是相对分散的,对多种不同类别的输入设备(如键盘,鼠标,跟踪球,操纵杆,触摸屏,加速计和手写板)进行统一抽象处理。输入子系统包括两类驱动程序:事件驱动程序和设备驱动程序。事件驱动程序负责和应用程序的接口,而设备驱动程序负责和底层输入设备的通信。鼠标事件生成文件mousedev属于事件驱动程序,而PS/2鼠标驱动程序是设备驱动程序。事件驱动程序是标准的,对所有的输入类都是可用的,所以要...

2018-06-25 17:24:22 2147

原创 触摸屏驱动分析(eeti源码为例)

module_init(egalax_i2c_ts_init)–>表示驱动加载时首先执行的函数是egalax_i2c_ts_init,下面看egalax_i2c_ts_init函数源码:static int egalax_i2c_ts_init(void){ int result; result = misc_register(&egalax_misc_d...

2018-06-24 18:57:29 3626

原创 java/c++中内部类、匿名类

1.java中的内部类:class Outside{ private String nameString ; private int age; Outside() { } Outside(String str_name,int int_age) { nameString=str_name; age=int...

2018-06-01 17:19:38 1915

原创 device_register分析

上篇文章分析了driver_register函数,这篇文章主要介绍device_register。内核在调用device_register的时候也会匹配已经加载好的设备驱动程序,从而执行probe函数。在i2c-core.c中i2c_new_device函数会调用device_register函数,下面开始分析 device_register的源码(driver/base/core.c):i...

2018-04-20 11:10:32 3454 1

原创 driver_register分析

在上一篇文章中分析了,i2c设备和i2c驱动的向总线注册过程。在总线-设备-驱动这种模型中,无论是先进行driver_register还是后进行device_register,总线驱动都会对进行匹配,只有匹配工程后,才会执行驱动的probe函数; 首先分析driver_register函数,先看此函数源码(driver/base/driver.c):int driver_register...

2018-04-18 19:42:39 1475

原创 i2c设备注册(动态注册和静态注册)以及i2c驱动注册过程

一、i2c设备驱动注册 i2c设备驱动注册的调用流程为:xxx_init(设备驱动里所定义)—–>i2c_add_driver—–>i2c_register_driver 下面直接看源码,xxx_init(设备驱动里所定义)源码如下:static int egalax_i2c_ts_init(void){ int result; result = misc_...

2018-04-17 16:46:44 5495

原创 全志R16触摸屏移植

一、全志的模块自动加载功能 在内核目录下的/driver/input下,有源码sw-device.c文件,此为自动加载模块的源码; 先看一个结构体:`static struct sw_device_info ctps[] = { {"egalax_i2c",{ 0x2a}, 0x00, {0x00 },1...

2018-04-17 08:50:08 1423

原创 eclipse+安卓SDK+jdk 搭建安卓开发环境(无需安装ADT插件)

本文环境搭建用到的相应的包在我的资源中都能下载; 1.首先安装JDK a.建议安装JDK1.8,提供的资源下载中也是JDK1.8的安装包; b.双击JDK安装包会出现第一个安装路径进行选择,此路径为JDK的安装路径; c.继续安装会出现第二个安装路径需要选择,此路径为JRE的安装路径; d.JDK和JRE都安装好后,需要配置环境变量,个人觉得只要将jdk和jre的bin文件的绝对路径直接

2018-01-16 11:15:52 14117 7

转载 指针函数和函数指针

http://blog.csdn.net/ameyume/article/details/8220832

2017-11-06 14:40:12 155

原创 linux进程间通信需要知道的函数

1. open()函数 功能描述: 用于打开或创建文件,在打开或创建文件时可以指定文件的属性及用户的权限等各种参数。 所需头文件: #include

2017-11-04 19:46:23 186

转载 MMU(内存管理单元)分析

转载:http://blog.csdn.net/ipmux/article/details/19167605MMU即内存管理单元(Memory Manage Unit),是一个与软件密切相关的硬件部件,也是理解linux等操作系统内核机制的最大障碍之一。可以说,不懂MMU使很多人一直停滞在单片机与无OS的时代。博主之前对MMU也一直是雾里看花,似懂非懂。最近终于自认为云开雾散后,回头总结,感觉有几个

2017-10-28 15:08:52 922

原创 SPI协议

SPI简介 SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的

2017-10-26 09:58:15 270

原创 I2C协议

1.I2C协议 2条双向串行线,一条数据线SDA,一条时钟线SCL。 SDA传输数据是大端传输,每次传输8bit,即一字节。 支持多主控(multimastering),任何时间点只能有一个主控。 总线上每个设备都有自己的一个addr,共7个bit,广播地址全0. 系统中可能有多个同种芯片,为此addr分为固定部分和可编程部份,细 节视芯片而定,看da

2017-10-23 20:02:42 1297

原创 串口通信

协议: 别人说的话你能听得懂—–>收发双方的封装和解析数据的格式要一致;同步通信和异步通信: 同步通信: 通信双方按照统一节拍工作,所以配合很好;一般需要发送方给接收方发送信息同时发送时钟信号,接收方根据发送方给它的时钟信号来安排自己的节奏。同步通信用在通信双方信息交换频率固定,或者经常通信时。 异步通信: 在双方通信的频率不固定时(有时3m

2017-10-23 16:56:04 550

原创 i2c的基础概念和框架

http://blog.csdn.net/you_shou/article/details/52605201

2017-10-22 19:19:56 239

原创 i2c适配器驱动源码分析(i2c总线驱动)

i2c适配器源码位置在driver/i2c/buss下这里以i2c-sunxi.c为例,i2c适配器设备和驱动的加载绑定过程也可以看做是i2c总线驱动的加载过程,I2C总线驱动是对I2C硬件体系结构中适配器端的实现,适配器可由CPU控制,甚至可以直接集成在CPU内部。 下面以源码进行分析: 函数的入口:subsys_initcall(sunxi_i2c_adap_init); //和一般的驱动

2017-10-22 17:31:09 1709

原创 树的知识点总结

树的分类:        一般树:任意一个节点的个数都不受限制;        二叉树:任意一个子结点的个数和叶子节点的个数最多两个,且节点和子节点位置不可更改;            森林:n个互不相交的树的集合;二叉树分类:       一般二叉树:       满二叉树:在不增加层数的前提下,无法再增加一个节点的前提的二叉树;

2017-09-18 20:16:00 675

原创 linux设备驱动的并发与竞争

Linux设备驱动中必须解决一个问题是多个进程对共享资源的并发访问,并发的访问会导致竞态,在当今的Linux内核中,支持SMP与内核抢占的环境下,更是充满了并发与竞态。幸运的是,Linux 提供了多钟解决竞态问题的方式,这些方式适合不同的应用场景。例如:中断屏蔽、原子操作、自旋锁、信号量等等并发控制机制       并发:指多个执行单元同时、并发被执行,而并发的执行单元对共享资源(硬件资源和软

2017-09-15 14:31:05 345

原创 简单字符设备的驱动源码讲解

#include #include#include#include#include#include#include#include#include#include#include #include#include#include#define CDEVDEMO_MAJOR 255 //一个宏定义 主设备号static int cde

2017-09-11 13:58:37 458

原创 简单字符设备中设计的结构体

struct file 结构体        文件结构体代表一个打开的文件,系统中每个打开的文件在内核空间中都会有一个关联的struct file结构体。它有内核在打开文件时创建,并传递给在文件操作上的任何一个函数。在文件的所有实例都关闭后,内核释放这个数据结构,在内核创建和驱动源码中,struct file的指针通常命名为filp file。        在struct file结构体

2017-09-08 14:28:03 339

原创 简单字符驱动的头文件讲解

#include :写内核是要添加这个头文件,可以将模块动态的加载到内核中去,也可以将模块动态的卸载;                                                         常用的宏定义MODULE_LICENSENCE(),MODULE_AUTHOR等也在此wen'jian'z

2017-09-08 09:25:11 564

GZUT_OnePro

GZUT_OnePro烧录器,内附安装说明,使用win7/win10/win8系统

2018-01-25

adb软件包及安装方法

包括adb的源码和adb的安装方法

2017-09-14

linux下的minigui环境搭建包

包括linux下搭建minigui环境的各种包:games-1.6.10.tar、jpegsrc.v6b.tar、libminigui-1.6.10.tar、libpng_src、mde-1.6.10.tar、mg-samples-1.6.10.tar、minigui-res-1.6.10.tar、qvfb-1.1.tar、samples-1.6.10.tar

2017-09-14

空空如也

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

TA关注的人

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