Android驱动编程大纲

八年写代码,五年做驱动,其他三年在驱动和应用之间徘徊,我也算个做过驱动的人了。但是做了那么多年,多数的东西都是靠脑袋记住,但是也没做过系统的总结,接下来的一段时间里,我将会把我所经历过的驱动编程的经验和曾经总结的一些东西,甚至一些网络上收集的资料集中我的这一个博客网站上。作为一个记录也好,教程也罢,总之写下来吧!

此一系列,我将按照三个大的部分来分别记录:系统及驱动移植(包括编写)、驱动调试和平台驱动相关知识点总结,但是编写顺序是比较随意,所以这里做一个整理的页面,方便查看。

这里先把各部分的主要内容总结一下:

  • 系统及驱动移植:主要讲述Boot loader(Uboot)的移植和调试,Android系统的内核层裁剪,编译及与Linux内核的区别,驱动程序的查阅、移植和编写。
  • 驱动调试主要讲述接口介绍,简单设备调试、复杂设备调试和特殊设备调试。
  • 平台驱动相关知识点总结主要讲述目前在各平台特殊的调试技巧和方法,主要包括全志,瑞芯微和联发科三个平台

注:

1. 接口部分包括:I2C,UART,SPI,DVP,MIPI,LCD相关(RGB,LVDS),SDIO,I2S,HDMI等;设备包括:触摸屏,重力感应,显示屏,摄像头,WIFI,蓝牙,TF卡,USB等;另还有3个特殊设备,充电器,电池和音频功放。
2. 系统级的调试,包括内核,HAL,framework及apk调试部分,此记录暂时不涉及,部分情况下需要使用会特殊说明。

记录如下,后续随时修改补充:

  • 第一部分:

一)流程说明:

Boot Loader简介及其功能说明

Linux内核启动过程

二)内核选择:

Linux操作系统的分类及选择

Linux内核版本的查看方法

三、编译与修改:

Linux 内核的编译详细说明

Android Linux内核驱动编写简要步骤说明.

Linux 内核 DTS ( Device Tree System ) 详解 — 基础篇


  • 第二部分:

一)硬件接口说明

常用硬件接口简述及调试要点:UART

常用硬件接口简述及调试要点:I²C

常用硬件接口简述及调试要点:SPI

USB接口脚位排列及USB线颜色说明

LCD协议及接口详述

二)调试:

网络速度测试工具–iperf 应用教程

记录:Makefile 常用编写方法,用于调试(持续更新)

三)ADB

windows系统下adb的安装及找不到设备时的修改方法。

Android adb 串口设备调试方法

ADB 调试技巧记录:Monkey(程序压力测试工具)

ADB 调试技巧记录:Logcat(日志记录)


  • 第三部分:

一)平台相关总结:

MTK平台新增摄像头指南 — 已更新android 7.0路径的更改。

全志平台camera.cfg文件的选项内容说明

全志A23音频配置操作说明 — 修改工具版

二)知识点附录

无线局域网通用的标准IEEE 802.11a b g n ac简介

MAC地址简介及购买价格


发表评论

电子邮件地址不会被公开。 必填项已用*标注