字元裝置之筆記-Poll機制分析

poll機制分析          

音頻處理的基本概念

採樣(sample):PCM audio不論是輸入還是輸出,都包含採樣,採樣達標聲音的一個聲道在某個特定時間點的振幅。 很多這樣的採樣組成了聲音。樣本是記錄音頻資料的最基本單位。對於CD audio,每秒有44100個採樣。採樣的尺寸從8bit 到64bit精度。採樣的格式也各式各樣:

Configure 參數選項詳解

         Linux環境下的軟體安裝,並不是一件容易的事情;如果通過原始碼編譯後在安裝,當然事情就更為複雜一些;現在安裝各種軟體的教程都非常普遍;但萬變不離其中,對基礎知識的紮實掌握,安裝各種軟體的問題就迎刃而解了。Configure指令碼組態工具就是基礎之一,它是autoconf的工具的基本應用。  與一些技巧相比,Configure顯得基礎一些,當然使用和學習起來就顯得枯燥乏味一些,當然要成為高手,對基礎的熟悉不能超越哦。  為此我轉載了一篇關於Configure選項配置的詳細介紹。

字元裝置驅動之Buttons-非同步通知(fasync)

 buttons.c#include <linux/fs.h>#include <linux/module.h>#include <linux/errno.h>#include <linux/kernel.h>#include <linux/init.h>#include <linux/cdev.h>#include <linux/ioport.h>#include

Ubuntu配置安裝Samba服務

         不管你是想你的虛擬機器和windows主機檔案分享權限設定還是你的純Linux作業系統和Windows之間實現檔案分享權限設定,Samba服務都是不錯的選擇。Samba服務在Ubuntu伺服器版本中預設並沒有安裝。很多人安裝Samba服務時並沒有考慮使用者權限,這樣是很危險的,任意使用者都可以登入訪問,你的資料被修改了都不知道。所以配置一個具有許可權的Samba很重要。在這裡分享一下我的經驗:一、Samba相關軟體包的安裝安裝Samba相關軟體包很方便的root@ubuntu:

深入瞭解ALSA

原文 http://www.volkerschatz.com/noise/alsa.htmlIntro任何人如果經常的使用linux機器處理音樂,那麼他遲早會和ALSA打交道。ALSA是Advanced Linux Sound Architecture的簡稱,和過時的Open Sound

字元裝置驅動之筆記-非同步通知(fasync)

 發訊號:1. 誰發2. 發給誰3. 發什麼4. 怎麼發5. 收到訊號後做什麼16th_signal_app發訊號:1. 誰發    a2. 發給誰  b3. 發什麼  SIGIO4. 怎麼發  int kill(pid_t pid, int sig);5. 收到訊號後做什麼: sighandler_t signal(int signum, sighandler_t handler);驅動和應用發訊號:1. 誰發    按鍵中斷服務程式2. 發給誰  使用按鍵的應用程式3. 發什麼 

Cache writings 策略

當系統寫資料到cache時,那麼必須在某個時間點把資料也寫到memory中,這個寫入時間點的控制就是我們要討論的cache寫策略兩種基本的寫策略是write-through和write-back:write-throughCPU向cache寫入資料時,同時向memory也寫一份,使得cache和memory的資料保持一致。優點是簡單,不會出現cache一致性的問題;缺點每次都要訪問memory,速度慢,要等到寫完memory才返回。write-backCPU更新cache資料時,只要在cache

V4L2 input/output方式

V4L2 API 定義了幾種資料轉送方式從video裝置讀寫資料,驅動要和應用進行資料交換就必須支援其中的一種經典的I/O方法是開啟V4L2 裝置後就可以使用的read()和write()方法。驅動可以不支援read/write方式,此時read/write操作會返回錯誤。其他的I/O方法必須通過協商的方式執行;streaming I/O模式:應用在調用VIDIOC_REQBUFS時確定是memory mapped還是user buffers;以及V4L2

mx51 reboot是如何?的

以前覺得 reboot命令能讓系統重啟動 是件很神奇的事情,今天看了下電路和代碼,從底層搞清楚了reboot的整個流程平台是imx51,PMIC是MC138921. 當linux作業系統下使用reboot命令後,會調用到arch_reset的函數,這個函數是平台特定的,對於imx51晶片一定會去reset CPU內的watchdog,2. arch_reset中設定Watchdog Control Register,使能WDE,並且把SRS置為0,500ms後watchdog將逾時3.

Hadoop體繫結構指南

英文原文 HDFS Architecture Guide簡介Hadoop Distributed File System(HDFS)是一個運行在商用硬體平台上的Distributed File System。它和很多現存的Distributed File System有很多相似之處。當然,和其他的Distributed File

S5PV210 多媒體預留記憶體空間 1 – FIMC控制器

由於GPU 多媒體解碼 camera輸入以及overlay顯示等操作需要大塊的連續實體記憶體,S5PV210開發板在初始化的過程中,會為這些多媒體相關驅動預留記憶體,這些預留的實體記憶體不能再被系統的其他組件使用,因此調整這些預留空間使之既能滿足項目的需求,同時把浪費部分最小化,有必要分析每一部分記憶體需求的計算公式。FIMC0, FMIC1, FIMC2預留空間計算在arch/arm/plat-s5p/bootmem.c中,s5p_reserve_bootmem為media裝置預留記憶體 80

V4l2 capture時 USERPTR和MMAP的區別

視頻應用可以通過兩種方式從V4L2驅動申請buffer1. USERPTR, 顧名思義是使用者空間指標的意思,應用程式層負責分配需要的記憶體空間,然後以指標的形式傳遞給V4L2驅動層,V4L2驅動會把capture的內容儲存到指標所指的空間一般來說,應用程式層需要確保這個記憶體空間物理上是連續的(IPU處理單元的需求),在android系統可以通過PMEM驅動來分配大塊的連續實體記憶體。應用程式層在不需要的時候要負責釋放申請的PMEM記憶體。2.

S5PV210 多媒體預留記憶體空間 2 – FIMD和G2D控制器

FIMD FrameBufferS5PV210_VIDEO_SAMSUNG_MEMSIZE_FIMD是為framebuffer預留的實體記憶體空間,下面的公式是framebuffer預留空間大小 4 表明 LCD屏的像素位元,一般為32bit; CONFIG_FB_S3C_BUFFERS是framebuffer的數目; S5PV210_LCD_WIDTH和S5PV210_LCD_HEIGHT是屏的寬高#define S5PV210_VIDEO_SAMSUNG_MEMSIZE_FIMD

字元裝置之Buttons-Poll機制

buttons.c#include <linux/fs.h>#include <linux/module.h>#include <linux/errno.h>#include <linux/kernel.h>#include <linux/init.h>#include <linux/cdev.h>#include <linux/ioport.h>#include

HDFS Append/Hflush/Read design

原文位置https://issues.apache.org/jira/secure/attachment/12445209/appendDesign3.pdf1. Design challenges對於hflush,HDFS需要使得未關閉檔案的最後一個block對所有readers可見。當前存在兩個挑戰:1.  讀一致性問題。在一個給定時間最後一個block的不同replicas可能包含不同的位元組數。在這種情況下HDFS如何提供一致性,更壞的情況下如宕機,如何保證一致性。2.

Watchdog driver API

A Watch Timer(WDT)是一個硬體電路可以用來在系統軟體發生錯誤的情況下reset電腦系統。通常來說一個使用者空間的daemon通過特定裝置/dev/watchdog,以一定的時間間隔來通知kernel的watchdog驅動系統仍然alive。驅動然後會通知硬體裝置一切正常,硬體WDT電路更新reset系統重啟的timeout時間。如果使用者空間失敗(RAM error, kernel

SDRM/DDR 定址

DDR內部組成DDR內部是由多個存放裝置陣列組成的,我們稱這些存放裝置陣列為bank,早期的SDRAM內部分割成兩個bank,後來是4個,這是SDRAM規範中規定的最大bank數,在DDR2標準中,BANK的數目提高到8個。每一個存放裝置陣列就像表格一樣,表格的每一個儲存格是最小儲存單元,大小可以為4, 8, 16,也就是位寬,位寬決定了資料線位元。如果想使用32bit的資料匯流排寬度,那麼可以使用單片32bit記憶體晶片,或者使用兩片16bit位寬的晶片拼接出

一個簡單的ALSA範例程式碼

代碼如下,注釋可參看原文http://users.suse.com/~mana/alsa090_howto.html#include <alsa/asoundlib.h>int main(){int ret;snd_pcm_t *pcm_handle;snd_pcm_stream_t stream = SND_PCM_STREAM_PLAYBACK;snd_pcm_hw_params_t *hwparams;char *pcm_name;pcm_name =

tw9912 寄存器配置

給出4組,還是以FAE給的配置給為準NTSC_in_656i_output: 輸入為CVBS NTSC類比訊號,輸出為隔行BT656w FF 00 ; Page 00w 01 78w 02 40w 03 20w 04 00w 05 01w 06 03w 07 02w 08 14w 09 F0w 0A 1Bw 0B D0w 0C CCw 0D 15w 10 00w 11 64w 12 11w 13 80w 14 80w 15 00w 17 30w 18 44w 1A 10w 1B 00w 1C

總頁數: 61357 1 .... 20104 20105 20106 20107 20108 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.