原创 Android 源碼結構分析 .

  Android 2.1總目錄 |-- Makefile |-- bionic               (bionic C庫) |-- bootable         

原创 Android Audio代碼分析=>Stream=>Strateg優先級

在看示例代碼 testPlaybackHeadPositionIncrease 的時候,我們對 play 函數進行了研究。 不過,當時對 Android 中聲音競爭策略相關的內容,並沒有詳細分析。 今天就以 AudioTrack 的播

原创 VC++多線程編程-線程間的通信和線程同步

線程間通訊   一般而言,應用程序中的一個次要線程總是爲主線程執行特定的任務,這樣,主線程和次要線程間必定有一個信息傳遞的渠道,也就是主線程和次要線程間要進行通信。這種線程間的通信不但是難以避免的,而且在多線程編程中也是複雜和頻繁的,下

原创 開發工具 CppUnit

CppUnit 是個基於 LGPL 的開源項目,最初版本移植自 JUnit,是一個非常優秀的開源測試框架。CppUnit 和 JUnit 一樣主要思想來源於極限編程(XProgramming)。主要功能就是對單元測試進行管理,並可進行自動

原创 android守護進程vold

一、進程啓動和配置文件的分析     vold的全稱是volume daemon。實際上是負責完成系統的CDROM, USB大容量存儲,MMC卡等擴展存儲的   掛載任務自動完成的守護進程。它提供的主要特點是支持這些存儲外設的熱插拔。在A

原创 錄製中rampVolume參數溢出的問題

在錄音的過程中發現在最前面的1s中總是會有“噗”的一聲的噪音。一直在跟蹤查找,發現是Android源碼中有一處溢出造成的。stagefright中的AudioSource的void rampVolume(int32_t startFra

原创 linux內核學習(15)內核編程基本功之內核同步與自旋鎖spinlock_t

Pro-I、內核同步與自旋鎖: 1、爲什麼要使用內核同步? 同步使得共享數據結構(相對應的代碼塊—臨界區)可以有節奏的被讀/寫。主要是由於內核控制路徑的改變,而且它的改變是隨機的。那麼我們所要做的就是要保證在任意時刻只有一個內核控制路徑

原创 淺談測試驅動開發(TDD)

背景 一個高效的軟件開發過程對軟件開發人員來說是至關重要的,決定着開發是痛苦的掙扎,還是不斷進步的喜悅。國人對軟件藍領的不屑,對繁瑣冗長的傳統開發過程的不耐,使大多數開發人員無所適從。最近興起的一些軟件開發過程相關的技術,提供一些比較高效

原创 廣播的發送與接收

======================發送廣播====================================================================== import android.app.Act

原创 request_irq()——註冊中斷服務

在 2.4 內核和 2.6內核中都使用 request_irq() 函數來註冊中斷服務函數。在 2.4 內核中,需要包含的頭文件是 #include <linux/sched.h> ,2.6 內核中需要包含的頭文件則是 #include

原创 linux android V4l2 的一些精品文章連接

在進行V4L2開發中,一般會用到以下的命令標誌符: VIDIOC_REQBUFS:分配內存 VIDIOC_QUERYBUF:把VIDIOC_REQBUFS中分配的數據緩存轉換成物理地址 VIDIOC_QUERYCAP:查詢驅動功能 VID

原创 6410的GPIO使用

一,每組GPIO的數目:        #define S3C64XX_GPIO_A_NR (8)        #define S3C64XX_GPIO_B_NR (7)        #define S3C64XX_GPIO_C_NR

原创 get_ds, set_fs, get_fs函數的使用

在linux內核編程時,進行系統調用(如文件操作)時如果要訪問用戶空間的參數,可以用set_fs,get_ds等函數實現訪問。get_ds獲得kernel的內存訪問地址範圍(IA32是4GB),set_fs是設置當前的地址訪問限制值,ge

原创 Linux 內核的同步機制--semaphore, rw_semaphore

一、 引言 在現代操作系統裏,同一時間可能有多個內核執行流在執行,因此內核其實象多進程多線程編程一樣也需要一些同步機制來同步各執行單元對共享數據的訪問。尤其是在多處理器系統上,更需要一些同步機制來同步不同處理器上的執行單元對共享的數據的訪

原创 http://blog.csdn.net/sepnic/article/category/778492

http://blog.csdn.net/sepnic/article/category/778492