原创 linux驅動之poll

poll機制是指驅動中,如果事件(如中斷)沒有發生,在一段時間內事件還沒有發生,那麼就超時返回,如果在這段時間有時間發生,那麼就直接相應事件,等事件相應後返回。 驅動代碼 #include <linux/module.h> #incl

原创 Linux驅動之i2c

如果應聘Linux驅動的工作崗位,面試官一般就會問你i2c驅動程序框架,下面就以我個人的理解來談談i2c驅動程序框架。 Linux驅動中的 i2c驅動主要有 四個結構體,要弄清Linux下i2c驅動,必須理解一下四個結構體的關係, str

原创 Linux驅動之input子系統

input子系統主要應用在 TP,Sensor,和一些按鍵之類的驅動中,對於驅動工程師來說,寫input設備驅動工作量很少,只要是分別一個input_device結構體然後設置事件,當有事件發送的時候上報事件就可以,當然,還是要理清inp

原创 Android 編譯命令及選項

Android編譯命令及選項 1 運行build/envsetup.sh,該文件提供m,mm,mmm等命令 #. ./build/envsetup.sh 注意: . . 之間是空格 運行之後用help查看命令 #help m 編譯整個an

原创 Android4.4 GPS框架分析

GPS HAL層代碼在目錄trunk/Android/hardware/xxx/gps/skytraqskytraq_gsp.c,向下與硬件驅動通訊,向上提供接口 GPS JNI層層代碼在目錄trunk/Android/framework

原创 adb命令查看報名和查看手機分辨率

聲明:此原創非彼原創,資料來源於網絡,只是經過加工整理罷了。如果引用了你的資料並沒有說明出處,敬請原諒!僅供學習參考。 打開所要查看的應用包名: $ adb shell dumpsys activity top | head -n 10

原创 藍牙核心技術概述(三): 藍牙協議規範(射頻、基帶鏈路控制、鏈路管理)

 聲明:此原創非彼原創,資料來源於網絡,只是經過加工整理罷了。如果引用了你的資料並沒有說明出處,敬請原諒!僅供學習參考。 下載鏈接:Bluetooth PROFILE SPECIFICATIONS (基本涵蓋所有藍牙協議)、bulet

原创 eMMC分區詳解

     最近總結了一下關於eMMC分區的一些資料,在此分享給大家,希望對大家在這方面的工作有所幫助:       大家一般所熟悉的分區的概念是在邏輯上將一個磁盤或存儲設備分爲幾個區,每個區當做獨立磁盤,以方便使用和管理。例如第一個磁

原创 container_of()宏

    在學習Linux驅動的過程中,遇到一個宏叫做container_of。 該宏定義在include/linux/kernel.h中,首先來貼出它的代碼: /**  * container_of - cast a member

原创 andorid系統啓動過程中添加啓動腳本

最近在做項目的過程中,遇到了這麼一個需求,需要在Android(4.2.2)啓動時候執行以下命令,命令的具體含義不再解釋: mount -t usbfs none /proc/bus/usb最初做法是將其加入init.rc文件中,但是發現

原创 程序猿必須掌握的git命令

git status -s M README           //M表示修改過的文件,沒有add MM Rakefile        //第一個M表示修改過沒有add,第二個M表示 add了但是沒有commit A lib/git.

原创 Android系統從kernel啓動過程

Android init進程啓動 一、Android Init.c執行流程 Android中的內核啓動後,kernel會啓動第一個用戶級別的進程:init,它是一個由內核啓動的用戶級進程。內核自行啓動(已經被載入內存,開始運行,並已初

原创 Android系統優化

這些其實就是優化rom 的一些實用小技巧. 覺得很多還是有用的. Build.prop (編輯 /system/build.prop 文件(需要root, 可以用文件管理器或者其他root explorer) 如果build.prop裏面

原创 linux塊設備驅動

字符設備與塊設備I/O操作有一下不同: 1:塊設備只能以塊爲單位接受輸入和返回輸出,而字符設備以字節爲單位。大多數設備是字符設備,因爲他們不需要緩衝而且不以固定塊大小進行操作。 2:塊設備對應I/O操作有對應的緩衝區,因此他們可以選擇以什

原创 linux 驅動之異步通知

linux驅動異步通知是指應用程序app不去主動調用驅動程序,而是有驅動程序主動將發生事件的結果告訴app,比如按鍵驅動,當有一個按鍵按下或者擡起的時候,就會主動通知app而無需app一直在那裏等待按鍵事件的發送,中斷+等待隊列和poll