Linux驱动
qianjin0703
这个作者很懒,什么都没留下…
展开
-
Linux设备驱动子系统第一弹 - I2C
1. Overview 1.1 Definitio I2C Inter-Integrated Circuit SMBUS System Management Bus, the I2C subset 1.2 Characteristics The amount of data exchanged is small. The required data transfer rate is low. 1.3 Speed Fast speed原创 2010-09-19 16:20:00 · 10762 阅读 · 6 评论 -
设备驱动外传 - 触摸屏的校正原理
1. 总论 触摸屏校正就是从触摸屏到显示屏转换的算法实现。所谓的算法实现,是指通过一个线性算法把触摸屏坐标转换为显示屏坐标,为什么要有这么个转换,想想笔记本上的触摸屏对应液晶屏就明白了。2. 算法 Xs = (A*Xt + B*Yt + C) / G Ys = (D*Xt + E*Yt + F) / G(Xs, Ys)为转换后得到的显示屏坐标,(Xt, Yt)为原始的触摸屏坐标,AB...原创 2010-12-20 20:10:00 · 3985 阅读 · 0 评论 -
搭建基于Android的嵌入式开发平台
1. 主机环境 1.1 安装软件包 1.2 下载源码包 1.3 为源码打补丁 1.4 编译源码2. 烧录方法 2.1 bootloader 2.2 内核镜像 2.3 根文件系统搭平台可谓是一件苦差事,顺利的话,很快完成,不顺的话,可能一个问题卡很久,运气好,拿到现成的软件,直接双击运行就那么简单,运气不好,只能在linux shell下一行一行地敲命令还要去面对各种各样突如其来的错误。本文意在为搭...原创 2011-01-25 17:42:00 · 3036 阅读 · 1 评论 -
FCT测试
1. 总论2. 启动过程3. 各模块实现1. 总论FCT作为Android的一个外来测试程序,位于源码的external文件夹内,其目的是作为产品在PCBA装配生产线中的一个制程,对外围硬件设备驱动进行测试,通过对硬件的一些基本操作,如读芯片地址,来判断硬件是否能够正常工作。 2. 启动过程系统由bootloader启动,解压并加载内核...原创 2011-02-21 15:10:00 · 9726 阅读 · 2 评论 -
Android 音频系统
0. 专用术语1. 物理结构2. 系统架构 本文基于Freescale IMX平台Codec ALC5625为例。0. 专用术语 ASLA - Advanced Sound Linux Architecture OSS - 以前的Linux音频体系结构,被ASLA取代并兼容 Codec - Coder/Decoder I2S/PCM/AC97 - Codec与CPU间音频的通信协议/接口/总线 D...原创 2011-05-03 17:14:00 · 30464 阅读 · 20 评论 -
ARM体系结构
0. ARM家族v7 Cortex-A 针对用于应用的操作系统Cortex-R 针对实时系统Cortex-M 针对微控制器1. 寄存器CPSR: current program status register2. 操作码3. 指令集 4 流水线5. 异常...原创 2012-07-05 14:34:57 · 1547 阅读 · 0 评论 -
Linux内核模块的加载
本系列参考陈学松的《深入Linux设备驱动程序内核机制》Linux内核模块形式上以.ko文件存在,概念上类似于Windows的动态链接库dll,内核模块可以在系统运行期间动态扩展系统功能而无须重新编译一个新的内核镜像并重启系统,这一特性为内核开发者提供了极大的便利。1. 内核模块的动态编译和静态编译首先得了解两者的区别,静态编译模块直接进内核镜像,动态编译模块生成.ko原创 2013-01-05 13:20:59 · 4530 阅读 · 3 评论 -
Linux启动流程
1 Bootloader对于一般的ARM处理器,CPU上电或复位执行第一条指令所在地址,即第一段程序Bootloader的开始地址,Bootloader一般存于Nor-flash(XIP),支持芯片内执行。Bootloader的功能可总结为:1)初始化CPU时钟,内存,串口等。2)设置Linux启动参数。3)加载Linux内核镜像。Android源码位于根目录下的/bootable文件夹。原创 2011-10-17 15:00:08 · 3799 阅读 · 1 评论 -
Linux各模块框架
整理自>1. Serial2. Input3. I2C4. USB5. Video6. Audio7. Block8. MTD原创 2012-07-25 11:04:52 · 2973 阅读 · 0 评论 -
Linux设备驱动子系统第二弹 - SD卡
1. 总论2. 主控制器3. 协议层4. 块设备1. 总论 1.1 概念MMC - MultiMedia CardSD - Secure Digital Card1.2 分类按存储大小,普通SD卡(2GB,按体积大小,普通SD卡,mini-SD卡,micro-SD卡(TF卡)1.3 速度默认模式: 12.5MB/s高速模式: 25MB/原创 2010-10-01 19:59:00 · 18026 阅读 · 9 评论 -
Linux设备驱动子系统第三弹 - Input
1. 总论2. 导航3. 实例 3.1 键盘 3.2 触摸屏1. 总论 Input子系统为一些常用的小规模数据传输的设备提供统一的数据上报系统,把数据以统一的格式上传到用户空间。适用于Input子系统的设备有摇杆、鼠标、键盘、触摸屏,Misc等。 2. 导航 Input子系统配置步骤如下,申请和初始化input设备设置input与设备相原创 2010-11-21 22:12:00 · 5759 阅读 · 3 评论 -
Linux设备驱动子系统第四弹 - USB Gadget
1. 前言2. 源码架构3. 枚举过程1. 前言Gadget,小饰品。USB Gadget,就是指所开发的电子设备以USB从设备的模式通过USB连接到主机。比如手机用USB线插入PC后,手机就是USB Gadget。本文以Mavell为例,以Gadget插入主机的全过程为主线,分析USB Gadget的架构。 2. 源码架构USB的源码位于/drivers/usb文原创 2011-01-15 12:57:00 · 10808 阅读 · 2 评论 -
Linux设备驱动子系统终极弹 - USB
0. 预备理论1. USB Core2. USB Hub3. USB OTG4. USB Host5. USB Gadget6. USB Mass StorageUSB博大精深,不是一两篇博文能够解释清楚的。想要深入研究USB的话,USB协议(外加Host和OTG协议)是必要的知识,另外,国内有本fudan_abc的>也写的很好很详细,唯一美中不足的就是写得太详细了原创 2011-06-21 16:24:00 · 11088 阅读 · 4 评论 -
请把Camera hold住 - Android高通平台调试Camera驱动全纪录
项目比较紧,3周内把一个带有外置ISP,MIPI数据通信,800万像素的camera从无驱动到实现客户全部需求。1日 搭平台,建环境,编译内核,烧写代码。我是一直在Window下搭个虚拟机登服务器搞开发的,对Linux系统环境实在无爱,每每一到项目刚开始要搭环境了,内心总有点排斥,过程就比较纠结,看来以后还是要搞个linux真机玩玩。2日 编写camera驱动大致框架,配置GP原创 2011-09-01 10:55:52 · 21888 阅读 · 31 评论 -
设备驱动外传 - 虚拟总线和platform device
1. 总论2. 系统初始化 platform device3. 驱动程序使用 platform device 1. 总论Linux-2.6.11引入了设备模型的概念,将大部分设备驱动挂载到虚拟总线上。其目的在于:1) 提供友好的用户接口,用户可以在sys/bus/platform/下找到相应的驱动和设备。2) 更有利于电源管理。 2. 系统初始化 platform device在驱动程序的初...原创 2010-09-19 19:16:00 · 3172 阅读 · 1 评论