原创 sensor hal 實現

struct sensors_module_t HAL_MODULE_INFO_SYM 是底層提供給上層的一個結構體,上層會調用hw_get_module函數獲取這個結構體指針。如下面的代碼: SensorManager的構造函數

原创 Linux I2C 子系統

文章目錄I2C 子系統概述I2C驅動以及控制器編寫步驟I2C DeviceTreeI2C Trace(從其它地方拷貝)I2C-dev I2C 子系統概述 I2C相關的目錄:linux-3.16.82\drivers\i2c I2C

原创 input 子系統(evdev,input_core,input_handler,input_dev)

文章目錄概述input-coreinput_dev 以及handlerinput_eventevbug關於slot A/B協議(本段爲摘抄)常用寫input 驅動的步驟測試代碼(ubuntu16.04下測試通過)驅動代碼應用代碼

原创 Linux-FrameBuffer fb_info結構體解析申請以及註冊

fb_info 結構體(fb.h(include/linux)) struct fb_info { atomic_t count; int node; int flags; struct mutex lock; /* L

原创 Makefile中的雙冒號規則

雙冒號規則就是使用“::”代替普通規則的“:”得到的規則。當同一個文件作爲多個規則的目標時,雙冒號規則的處理和普通規則的處理過程完全不同(雙冒號規則允許在多個規則中爲同一個目標指定不同的重建目標的命令)。 首先需要明確的是:Makef

原创 linux-Framebuffer核心文件概述

Framebuffer主要文件概述(fbdev) fbmem.c drivers\video\fbdev\core fbmem.c drivers\video\fbdev\core 1.提供註冊的framebuffer,構造設備節

原创 Linux-內核代碼標誌決定初始化順序

#define pure_initcall(fn) __define_initcall(“0”,fn,0) #define core_initcall(fn) __defin

原创 Audio 關鍵字以及示意圖

Acoustic Echo Cancellation(AEC) AEC is an essential part of providing speech enhancement (or voice quality enhancem

原创 cmakelist生成

傳入路徑,遍歷文件夾,生成cmakelist,主要用來qtcreator來包含整個工程. #!/bin/bash DIRS=$(find $1 -maxdepth 20 -type d) echo "cmake_minimum_

原创 fork分支與源分支同步代碼

#查看所有遠程庫(remote repo)的遠程url git remote -v; #添加源分支url git remote add upstream url(源地址) #查看所有遠程庫(remote repo)的遠程url

原创 Input子系統代碼

input驅動代碼 #include <linux/input.h> #include <linux/module.h> #include <linux/timer.h> #include <linux/init.h> stat

原创 akm8963

1.典型的功耗是在power-down mode是3uA,在continue-measure 8hz是280uA 2.採用的是16bit的模式16-

原创 VGA的標準時序

VGA Timings The following table lists timing values for several popular resolutions. Format Pixel Clock (MHz) H

原创 i2c總線時序

本文轉載自http://www.cnblogs.com/qiweiwang/archive/2010/11/30/1891868.html I2C(Inter-Integrated Circuit)總線是一種由PHILIPS公司開發的

原创 USB枚舉過程

1. 枚舉是什麼?        枚舉就是從設備讀取一些信息,知道設備是什麼樣的設備,如何進行通信,這樣主機就可以根據這些信息來加載合適的驅動程序。調試USB設備,很重要的一點就是USB的枚舉過程,只要枚舉成功了,那麼就已經成功大半了