原创 Android框架之Camera(1)Camera服務的前世今生

Android Camera框架及Camera服務框架(右側紅框) 1、感知Camera服務 Android中Camera服務名稱爲“media.camera”,通過service命令可以查看服務的包名: # service list

原创 SDIO驅動(11)Host是如何把數據發出去的

Linux 2.6.38 S3C2440 通過“SDIO驅動(10)Host的operations實現”的s3cmci_send_command函數知道了命令的發送方式,接下來分析數據的發送實現。本來吧,無論命令還是數據,它們本質上都是數

原创 SDIO驅動(7)sdio總線結尾

Linux 2.6.38SDIO總線: static struct bus_type sdio_bus_type = {    .name        = "sdio",     .dev_attrs    = sdio_dev_at

原创 SDIO驅動(9)Host註冊

Linux 2.6.38 S3C2440 SDIO驅動(8)Host驅動實現 第8行,mmc_alloc_host創建mmc host,並進行通用部分的初始化。第1個參數指定mmc_host對象中private數

原创 SDIO驅動(13)card的初始化

/* * Starting point for SDIO card init. */ int mmc_attach_sdio(struct mmc_host *host) { int err, i, funcs; u32 ocr;

原创 OpenWrt/Android編譯系統

原文遷移至: OpenWrt編譯系統(1)之make之前 OpenWrt編譯系統(2)之lunch函數的細節 OpenWrt編譯系統(3)之深入探究庫依賴錯誤:Package XXX is missing dependencies for

原创 Android框架之Camera(2)HAL及so庫的加載

HAL層作爲紐帶,把Framework層的APIs和底層驅動連接起來。簡言之,上層需要什麼操作接口,HAL層就負責實現之。 HAL在整個Camera框架中的位置如下圖紅框: Android Camera框架及Camera服務HAL(紅框

原创 Android框架之Camera(3)透過Camera服務看Binder進程間通信

Android 6.0Android Binder用來管理Android進程,用途有兩個: 1、IPC(Inter Process Communication)工具,用於進程間通信。 2、RPC(Remote Procedure Ca

原创 SDIO驅動(12)card的掃描流程

在"SDIO驅動(9)Host註冊"中提到,一旦host設備註冊成功,接下來會啓動一次掃描好獲取並管理掛在該host上的card。 如果是一張可以熱插拔的card,當card插入/拔出時觸發中斷,同樣也將啓動掃描流程。 以中斷觸發爲例:

原创 SDIO驅動(6)命令的構建和發送

Linux 2.6.38 1、command的構建 MMC子系統是主從式的架構,數據的傳輸由host通過命令進行請求和發送。kernel中命令由結構體mmc_command表示: struct mmc_command { u32

原创 SDIO驅動(14)card的CIS讀取及解析

關於CIS需要清楚的: 1、CIS是什麼 CIS-Card Information Structure的縮寫,CIS的作用: The CIS includes information on power, function, manufac

原创 SDIO驅動(8)Host驅動實現

Linux 2.6.38 S3C2440 看C/C++的源碼,我們從main函數開始,因爲這是代碼的入口;在driver的世界裏,這個功能的擔當是module_init: module_init(s3cmci_init); module

原创 SDIO驅動(15)使用DMA傳輸數據1

硬件支持的數據傳輸方式: Normal: tasklet_init(&host->pio_tasklet, pio_tasklet, (unsigned long) host);最終調用pio_tasklet()函數完成數據的收發。 D

原创 SDIO驅動(10)Host的operations實現

Linux 2.6.38 S3C2440 在“SDIO驅動(9)Host驅動probe實現”中簡單介紹了host操作card的接口mmc_host_ops一些成員函數的作用,接下來分析下各個函數的實現。 static struct mm

原创 SDIO驅動(5)sdio總線上的probe

Linux 2.6.38 sdio總線上driver和設備的match成功只是軟件之間的”切口“,好比《還錢》: 劉金山:明月幾時有? 馮鞏:擡頭自己瞅。 但是馮鞏並沒有馬上把錢請給他吧?這裏硬件的連通性、能不能工作還不知道,所以要p