原创 通過 /proc/[pid]/ 查看進程狀態

參考資料 [/proc官方手冊] http://man7.org/linux/man-pages/man5/proc.5.html [解讀/proc/$PID/status中各種參數] https://my.oschina.net/ai

原创 Android 開放配件 (AOA)調試

車載導航的開發中,有可能需要開發支持Android CarLife或者Android Weblink等功能,而這些功能需要使用AOA協議的支持。因此,下面的文章將簡單介紹AOA的相關知識。 簡介 Google 官方AOA 的定義: ht

原创 Androidadb的編譯配置及常見問題

Androidadb驅動的代碼在以下兩個文件中實現,這部分的內容屬於Linux USB Gadget的範疇了。 <Kernel_Dir>/drivers/usb/gadget/androidadb.c <Kernel_Dir>/drive

原创 Androidadb驅動實現原理

Androidadb的驅動由androidadb.c和f_adb.c實現,androidadb.c的開頭會#include “f_adb.c”,最終編譯出來的是g_androidadb.ko文件。 這裏涉及到Linux USB Compo

原创 USB設備插入和拔出的波形

下面測試了iPhone和U盤插入/拔出時D+和D-上的波形。黃色爲D+,綠色爲D-。 iPhone插入的波形 iPhone插入—整體波形 1 處的波形只有iPhone插入連接CarPlay或者是Android手機插入連接Carlife

原创 Multi-threaded applications and asynchronous I/O(翻譯)

此文章使用Goolge進行翻譯學習使用。原文網址爲:http://libusb.sourceforge.net/api-1.0/mtasync.html 本文章是爲了調查:(libusb_bulk_transfer()會阻塞,阻塞時間長達

原创 libusb_bulk_transfer() 阻塞長達60s的原因

以下內容,純屬記錄。 最近調查在通過libusb與Android手機進行AOA通信,當手機拔掉,在write線程中會去調用libusb_bulk_transfer()進行相關的動作。但是會出現調用這個函數block長達60s時間才退出返回

原创 USB設備無響應

Device No Response 測試介紹 在USB認證中,otgeh_compliance_plan_1_2.pdf 測試文檔有一項關於連接超時顯示Device No Response的測試。 描述如下: 測試步驟如下:

原创 創建設備節點問題

在原先的文章中將了怎樣創建一個設備節點供讀寫使用,Linux用戶空間與內核空間交互方法,現在回過頭去看,發現當時很多代碼寫法都有問題,在此作爲一個反面教材來講一講。 原先代碼 static int sample_init(void)

原创 通知:轉移至個人博客站 http://wowothink.com/

hi,各位朋友。本博客已不再更新,後續的文章將發表至個人的博客站點: http://wowothink.com/ 秉持分享學習的態度,我將會繼續分享出更多有意義的文章,歡迎朋友們相互交流指正。

原创 poll() 的用法

需求 在某個xxxservice 裏要持續讀 /dev/sample_dev 節點。也就是在while循環裏面,先poll是否可讀,如果可讀的話就去調用read,如果不可讀的話就繼續調用poll,如此循環。 但是,如果與 /dev/sam

原创 怎麼查看調用棧關係

前言 最近在學習Linux USB Composite Framework的內容,經常看到函數指針跳轉來跳轉去。比如說會看到很多結構體中的.bind函數指針,但又不知道他們之間的調用關係。 此時,就可以用dump_stack()這個函數來

原创 車載娛樂系統開發常用術語

B+ B+是常電,要求一直要接在電源(電瓶)的正極,用來保存數據的; ACC 車載系統供電; ILL illuminate,照明,即開車燈; IG ignite,點火,啓動發動機; PKB Parking Break,停車閘;

原创 i.MX6 GPIO配置

原理圖 假設有如下原理圖,比如說我們要控制 USB_H1_EN 管腳,該管腳與 GPIO_0 的pad連接,因此後面所有的關於該引腳的配置都要圍繞pad GPIO_0 展開。 在這裏,我們將GPIO_0做爲一個普通的GPIO口使用。

原创 i.MX6 pinctrl解析

一、Pin Controller主要工作 pin multiplexing:基於ARM core的嵌入式處理器一般會提供豐富的功能,例如camera interface、LCD interface、USB、I2C、SPI等等。雖然處理