自定义博客皮肤

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Linux ALSA及ASOC驱动框架分析

一,ALSA及ASOC驱动层次结构如下图: alsa-lib封装了对以下声卡设备节点的访问,为用户空间应用程序开发提供了音频接口; /dev/snd/pcmC0D0p /dev/snd/pcmC0D0c ... ... 比较重要的接口有: alsa-soc在alsa-driver基...

2018-01-23 00:19:11

阅读数 1261

评论数 0

用USB无线网卡在新平台全新移植并构建Linux无线网络

一,构建环境 硬件:Ralink USB无线网卡, 软件:Linux4.12.7,wpa_supplicant , dhcp 在Linux中执行lsusb查看无线网卡vendorId及productId 为 148f:3070 ...

2017-10-12 12:35:09

阅读数 358

评论数 0

U-Boot移植过程概要记录

1,移植环境: u-boot版本:u-boot-2012.04.01(包含了S3C2410 , 但是未包含S3C2440) 硬件环境: S3C2440平台 2,过程: 1),首先解压缩 tar -xvf u-boot-2012.04.01.tar.b...

2017-09-10 18:20:28

阅读数 184

评论数 0

Android SurfaceFlinger VSync流程分析

一,VSync机制的作用及VSync在SurfaceFlinger服务中的位置: VSync信号通常都来自硬件控制器,在Android中也可以采用软件模拟; VSync的作用,如下图(以双缓冲为例,为了提高流畅性有时也采用triple三缓冲):LCD控制器在读取每一帧数据的开始...

2017-09-08 17:33:51

阅读数 918

评论数 1

自制简易BootLoader思路分析及实现

1,U-Boot功能分析:u-boot最终要达到的目标是把Linux内核引导起来(相当于用户空间的Shell程序启动用户进程,但是Shell不仅仅具有启动用户进程的作用) 为了实现这个最终的目标,u-boot具有以下必须的功能; Step-1: 1),设置CPU; 2),关闭Watchdo...

2017-08-31 16:53:55

阅读数 528

评论数 0

Binder通信——用户空间C/C++层架构与Java层对接点概述

一,Java层主要通过下述API访问Binder: Binder——————————Java层Binder对象 BinderProxy——————Java层服务端Binder在客户端进程中的代理对象 IHelloService————— 业务接口 HelloService——————服...

2017-07-16 14:43:23

阅读数 1345

评论数 1

Binder系统源码分析概要总结

一,Binder的作用: 1),Binder是一种IPC,是一种Client/Server模式的进程间通信机制; 优点:使用方便,性能稳定,开销很小,访问RPC和访问本地API的形式一样,让API使用者感觉不到RPC的存在,如下图: 2),缺点:在双向通信方面有些不足,如果要实现双向...

2017-06-07 23:40:47

阅读数 257

评论数 0

Linux X86 PS/2键盘驱动分析记录

1,Linux X86 PS/2 键盘驱动框架流程(以下均已Intel 8042键盘控制器为例): 1.1 设备初始化注册流程: 键盘控制器硬件驱动(i8042.c) -> 串口驱动核心(serio.c) -> 串口驱动(atkbd.c) -> 输入驱动核心(in...

2017-05-07 12:18:16

阅读数 692

评论数 0

Linux Input输入驱动架构记录

Linux 输入驱动框架有三部分组成:输入设备驱动程序,输入子系统核心,输入事件驱动程序; 1,输入设备驱动程序初始化硬件设备寄存器,读取硬件信息,构造struct input_dev结构体实例,并将struct input_dev结构体实例注册到输入子系统核心;struct input_dev...

2017-05-01 12:04:12

阅读数 519

评论数 0

对芯片总线接口分类记录

**嵌入式芯片处理器与外围设备的链接接口基本上可以归纳为三种接口:GPIO接口,协议类接口,类内存类接口;** 一,GPIO总线接口是最简单的接口,每个GPIO引脚通过配置寄存器和数据寄存器两个寄存器的相应位来控制; 每个GPIO引脚电平和数据寄存器相应位的值对应:数据寄存器的相应位...

2017-04-08 19:06:01

阅读数 1999

评论数 0

LDD之块设备驱动程序

一,Linux块设备子系统:          二,Linux块设备驱动程序:         1,数据结构:

2017-01-28 17:22:53

阅读数 415

评论数 0

LDD之USB设备驱动

一,USB设备规范:         USB硬件层由USB设备,USB总线,USB主机控制器组成;         USB驱动层由USB设备侧驱动程序,USB主机控制器驱动程序,USB核心,USB宿主机上的设备驱动程序组成;         如下图(图片来自USB规范):      二,Linux...

2017-01-14 18:23:37

阅读数 239

评论数 0

LDD之PCI设备

一,PCI总线:          1,PCI总线是系统总线;Host-Briage(PCI总线0)——PCI设备,PCI-PCI briage ——PCI总线1          2,PCI设备信息查看及寻址方式:          3,PCI设备配置空间结构:          4,PCI设备...

2017-01-07 16:55:08

阅读数 409

评论数 0

LDD之数据类型

Linux内核数据类型分为三种:   1,标准C语言基本数据类型:在不同操作系统中内存空间大小不同          byte,char,short,int,long,long long          unsigined char,unsigned short,unsigned int,...

2017-01-02 11:08:17

阅读数 230

评论数 0

LDD之中断

一,Linux 中断实现:                 中断注册:int request_irq(int irq,irqreturn_t (*irq_handle)(int irq,void *dev_id),int flags,char *name,void *dev_id);       ...

2016-12-18 15:10:48

阅读数 212

评论数 0

LDD之IO端口与IO内存

一,IO端口与IO内存          独立编址:处理器将IO地址在独立的IO地址空间编排(具有独立的操作指令,指令短访问速度快)——设备寄存器与设备内存被映射到IO地址空间称为IO映射;          统一编址:处理器将IO地址和主内存在一个地址空间编排(具有统一的操作指令,操作内存的指令...

2016-12-12 23:41:17

阅读数 198

评论数 0

LDD之内存分配

一,kmalloc内存分配介绍;         void *kmalloc(size_t  size, int flags);         1,参数               size参数是需要分配的连续内存(连续的虚拟页和物理页帧)空间大小,单位是字节;             ...

2016-12-06 00:19:28

阅读数 149

评论数 0

LDD DMA访问内存

DMA 直接内存访问, DMA是设备与内存之间不经过cpu直接传输数据的一种机制,CPU读取设备数据每次需要经过读取指令,执行指令,读取数据的过程,所以有一部分时间花费在读取指令和执行指令的过程;DMA在设备与内存之间传输数据时不需要执行指令,而且cpu在DMA传输数据的同时可以执行其他程序,极...

2016-11-28 21:20:17

阅读数 274

评论数 0

LDD内存映射

1,Linux内核内存管理基础:         1》Linux系统5种地址类型:用户空间虚拟地址,物理地址,总线地址,内核逻辑地址,内核虚拟地址;                内核逻辑地址就是内核虚拟地址,内核逻辑地址通过kmalloc(标志GFP_KERNEL)分配,内核虚拟地址不一定是...

2016-11-22 21:08:13

阅读数 247

评论数 0

LDD操作延迟(延缓)

延迟:      一,内核定时器              1,内核定时器用在延迟指定时长之后调度异步函数执行(调度异步函数在延迟指定时长之后执行);              2,内核定时器在 “软件中断”上下文中,以院子模式运行,所以就会有众多限制: 1》不能访问用户空间,由于在软件中...

2016-11-11 10:44:36

阅读数 175

评论数 0

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