EEPW首頁(yè) >>
主題列表 >>
:linux
:linux 文章 進(jìn)入:linux技術(shù)社區(qū)
Linux ALSA聲卡驅(qū)動(dòng)之三:PCM設(shè)備的創(chuàng)建
- 1. PCM是什么 PCM是英文Pulse-code modulation的縮寫(xiě),中文譯名是脈沖編碼調(diào)制。我們知道在現(xiàn)實(shí)生活中,人耳聽(tīng)到的聲音是模擬信號(hào),PCM就是要把聲音從模擬轉(zhuǎn)換成數(shù)字信號(hào)的一種技術(shù),他的原理簡(jiǎn)單地說(shuō)就是利用一個(gè)固定的頻率對(duì)模擬信號(hào)進(jìn)行采樣,采樣后的信號(hào)在波形上看就像一串連續(xù)的幅值不一的脈沖,把這些脈沖的幅值按一定的精度進(jìn)行量化,這些量化后的數(shù)值被連續(xù)地輸出、傳輸、處理或記錄到存儲(chǔ)介質(zhì)中,所有這些組成了數(shù)字音頻的產(chǎn)生過(guò)程?! ?nbsp; 圖
- 關(guān)鍵字: Linux ALSA
Linux核心4.9出爐,Linus保證史上最大改版!
- Google的Ara模組化手機(jī)計(jì)畫(huà)雖然停擺了,但是貢獻(xiàn)了大量程式碼到4.9新版,尤其是Ara計(jì)畫(huà)的Greybus硬體協(xié)定也加入了Linux 4.9版。 ? 問(wèn)世滿25周年的Linux,釋出了史上最大一次的核心改版Linux 4.9新版,Google喊卡的模組化手機(jī)Ara專(zhuān)案,反而在這次4.9新版中貢獻(xiàn)了大量程式碼。Linux之父Linus Torvalds在11日釋出了4.9版,并在發(fā)布郵件中興奮地說(shuō):“我非常確定這次是史上最大一次版本發(fā)布,commit數(shù)是有史以來(lái)最
- 關(guān)鍵字: Linux GPU
linux中斷處理原理分析
- Tasklet作為一種新機(jī)制,顯然可以承擔(dān)更多的優(yōu)點(diǎn)。正好這時(shí)候SMP越來(lái)越火了,因此又在tasklet中加入了SMP機(jī)制,保證同種中斷只能在一個(gè)cpu上執(zhí)行。在軟中斷時(shí)代,顯然沒(méi)有這種考慮。因此同一種中斷可以在兩個(gè)cpu上同時(shí)執(zhí)行,很可能造成沖突。 Linux中斷下半部處理有三種方式:軟中斷、tasklet、工作隊(duì)列?! ≡?jīng)有人問(wèn)我為什么要分這幾種,該怎么用。當(dāng)時(shí)用書(shū)上的東西蒙混了過(guò)去,但是自己明白自己實(shí)際上是不懂的。最近有時(shí)間了,于是試著整理一下linux的中斷處理機(jī)制,目的是起碼從原理上能夠
- 關(guān)鍵字: linux 中斷
linux世界里的時(shí)間
- 通常,操作系統(tǒng)可以使用三種方法來(lái)表示系統(tǒng)的當(dāng)前時(shí)間與日期: ?、僮詈?jiǎn)單的一種方法就是直接用一個(gè)64位的計(jì)數(shù)器來(lái)對(duì)時(shí)鐘滴答進(jìn)行計(jì)數(shù)。 ?、诘诙N方法就是用一個(gè)32位計(jì)數(shù)器來(lái)對(duì)秒進(jìn)行計(jì)數(shù),同時(shí)還用一個(gè)32位的輔助計(jì)數(shù)器對(duì)時(shí)鐘滴答計(jì)數(shù),之子累積到一秒為止。因?yàn)?32超過(guò)136年,因此這種方法直至22世紀(jì)都可以讓系統(tǒng)工作得很好。 ?、鄣谌N方法也是按時(shí)鐘滴答進(jìn)行計(jì)數(shù),但是是相對(duì)于系統(tǒng)啟動(dòng)以來(lái)的滴答次數(shù),而不是相對(duì)于相對(duì)于某個(gè)確定的外部時(shí)刻;當(dāng)讀外部后備時(shí)鐘(如RTC)或用戶輸入實(shí)際時(shí)間時(shí),根據(jù)當(dāng)前的滴答次數(shù)計(jì)
- 關(guān)鍵字: linux 時(shí)鐘
Linux驅(qū)動(dòng)程序?qū)W習(xí)步驟經(jīng)典收藏
- 了解linux驅(qū)動(dòng)程序技巧學(xué)習(xí)的方法很重要,學(xué)習(xí)linux操作系統(tǒng)時(shí),你可能會(huì)遇到關(guān)于驅(qū)動(dòng)方面的問(wèn)題,這里將介紹學(xué)習(xí)linux驅(qū)動(dòng)程序的方法,在這里拿出來(lái)和大家分享一下。 1.學(xué)會(huì)寫(xiě)簡(jiǎn)單的makefile 2.編一應(yīng)用程序,可以用makefile跑起來(lái) 3.學(xué)會(huì)寫(xiě)linux驅(qū)動(dòng)程序的makefile 4.寫(xiě)一簡(jiǎn)單char驅(qū)動(dòng),makefile編譯通過(guò),可以insmod,lsmod,rmmod.在驅(qū)動(dòng)程序的init函數(shù)里打印helloworld,insmod后應(yīng)該能夠通過(guò)dmes
- 關(guān)鍵字: Linux 驅(qū)動(dòng)程序
Linux ALSA聲卡驅(qū)動(dòng)之二:聲卡的創(chuàng)建
- 1.?struct?snd_card?1.1.?snd_card是什么snd_card可以說(shuō)是整個(gè)ALSA音頻驅(qū)動(dòng)最頂層的一個(gè)結(jié)構(gòu),整個(gè)聲卡的軟件邏輯結(jié)構(gòu)開(kāi)始于該結(jié)構(gòu),幾乎所有與聲音相關(guān)的邏輯設(shè)備都是在snd_card的管理之下,聲卡驅(qū)動(dòng)的第一個(gè)動(dòng)作通常就是創(chuàng)建一個(gè)snd_card結(jié)構(gòu)體。正因?yàn)槿绱?,本?jié)中,我們也從?struct?cnd_card開(kāi)始吧。1.2.?snd_card的定義snd_card的定義位于改頭文件中:includ
- 關(guān)鍵字: Linux ALSA
Linux音頻驅(qū)動(dòng)之一:ALSA架構(gòu)簡(jiǎn)介
- 一. 概述 ALSA是Advanced Linux Sound Architecture 的縮寫(xiě),目前已經(jīng)成為了linux的主流音頻體系結(jié)構(gòu),想了解更多的關(guān)于ALSA的這一開(kāi)源項(xiàng)目的信息和知識(shí),請(qǐng)查看以下網(wǎng)址:http://www.alsa-project.org/?! ≡趦?nèi)核設(shè)備驅(qū)動(dòng)層,ALSA提供了alsa-driver,同時(shí)在應(yīng)用層,ALSA為我們提供了alsa-lib,應(yīng)用程序只要調(diào)用alsa-lib提供的API,即可以完成對(duì)底層音頻硬件的控
- 關(guān)鍵字: Linux ALSA
Linux內(nèi)核開(kāi)發(fā)之異步通知與異步I/O(一)
- “小王,聽(tīng)說(shuō)過(guò)錦上添花吧..”我拍拍下王的頭說(shuō)。 “還錦上添花你,為你上次提的幾個(gè)東東,我是頭上長(zhǎng)包..”小王氣憤地瞪著我。 “啊,為啥這樣呢,本來(lái)還特意拒絕了MM的約會(huì),抽出時(shí)間打算給你說(shuō)點(diǎn)高級(jí)的東東,看來(lái)現(xiàn)在是不行了”我吃驚道,“這樣吧,這次就給你講些和前邊有關(guān)的東西,也不失為錦上添花不是?”。 “好,我也是這么打算的,就是沒(méi)好意思說(shuō),今天講些啥呢?”小王暗淡的
- 關(guān)鍵字: Linux 異步I/O
Linux內(nèi)核開(kāi)發(fā)之中斷與時(shí)鐘(一)
- “小王,醒醒,開(kāi)始上課了,今天咱們開(kāi)始講中斷,這可是高級(jí)東西,錯(cuò)過(guò)不補(bǔ)哈”我使勁推著睡夢(mèng)中的小王。 “嗯?感情好啊,快點(diǎn),快點(diǎn)”小王一聽(tīng)有新東西講,像打了雞血似的興奮,連我都懷疑起她是不是性格中喜新厭舊?! 〔还苣敲炊嗔耍抑v我的,她厭她的… 啥叫中斷?就是指cpu在執(zhí)行過(guò)程中,出現(xiàn)了某些突發(fā)事件時(shí)CPU必須暫停執(zhí)行當(dāng)前的程序,轉(zhuǎn)去處理突發(fā)事件,處理完畢后CPU有返回原程序被中斷的位置并繼續(xù)執(zhí)行?! ≈袛嗟姆址ú欢诸?lèi)就不同,向什么內(nèi)外部中斷,可/不可屏蔽中斷…等等亂七八糟一大堆,我這里要說(shuō)明的
- 關(guān)鍵字: Linux 中斷
[ARM筆記](méi)設(shè)備IO端口和IO內(nèi)存的訪問(wèn)
- 設(shè)備通常會(huì)提供一組寄存器來(lái)用于控制設(shè)備、讀寫(xiě)設(shè)備和獲取設(shè)備狀態(tài),即控制寄存器、數(shù)據(jù)寄存器和狀態(tài)寄存器。這些寄存器可能位于IO空間,也可能位于內(nèi)存空間。當(dāng)位于IO空間時(shí),通常被稱為IO端口,位于內(nèi)存空間時(shí),對(duì)應(yīng)的內(nèi)存空間成為IO內(nèi)存?! ?. Linux IO端口和IO內(nèi)存訪問(wèn)接口 1.1 IO端口 在Linux設(shè)備驅(qū)動(dòng)中,應(yīng)使用Linux內(nèi)核提供的函數(shù)來(lái)訪問(wèn)定位于IO空間的端口,這些函數(shù)包括如下幾種: (1)讀寫(xiě)字節(jié)端口(8位寬) unsigned in
- 關(guān)鍵字: ARM Linux
基于S3C2410的Linux驅(qū)動(dòng)程序開(kāi)發(fā)
- 1. 開(kāi)發(fā)環(huán)境的建立在嵌入式系統(tǒng)中,由于目標(biāo)機(jī)資源有限,因此通常是在主機(jī)上編譯好驅(qū)動(dòng)程序以及應(yīng)用程序,然后通過(guò)串口、以太網(wǎng)、仿真器或其他通信手段與目標(biāo)機(jī)通信。為了方便進(jìn)行Linux設(shè)備驅(qū)動(dòng)的開(kāi)發(fā)和調(diào)試,首先必須建立良好的開(kāi)發(fā)環(huán)境,包括交叉編譯環(huán)境的建立、minicom的設(shè)置以及nfs網(wǎng)絡(luò)文件系統(tǒng)的建立?! ?1) 交叉編譯環(huán)境由于我采用的是ARM9 S3C2410處理器,因此必須在主機(jī)上建立針對(duì)目標(biāo)板處理器的GNU工具鏈,這個(gè)過(guò)程相當(dāng)復(fù)雜繁瑣,開(kāi)發(fā)者可以采用編譯好的針對(duì)A
- 關(guān)鍵字: S3C2410 Linux
基于斯道S3C2410的Linux內(nèi)核編譯
- 1。編譯緣由 使用斯道的zImage文件,我自己編譯的Mplayer不能使用,必須加--nosound選項(xiàng)才能播放視頻。后來(lái)見(jiàn)一篇文章說(shuō)是Linux內(nèi)核音頻驅(qū)動(dòng)的問(wèn)題,所以決定重新編譯內(nèi)核。 2。編譯工具及資料 2。1內(nèi)核版本:斯道S3C2410普及版2光盤(pán)自帶的 2。1交叉編譯器:cross-2.95.3.tar.bz2,可能是在ARM官方的ftp服務(wù)器上下的,我忘了。 3。編譯過(guò)程 3。1拷貝cross-2.95.3.tar.bz2到/usr/local/arm/目錄,并轉(zhuǎn)到/usr/
- 關(guān)鍵字: S3C2410 Linux
:linux介紹
您好,目前還沒(méi)有人創(chuàng)建詞條:linux!
歡迎您創(chuàng)建該詞條,闡述對(duì):linux的理解,并與今后在此搜索:linux的朋友們分享。 創(chuàng)建詞條
歡迎您創(chuàng)建該詞條,闡述對(duì):linux的理解,并與今后在此搜索:linux的朋友們分享。 創(chuàng)建詞條
關(guān)于我們 -
廣告服務(wù) -
企業(yè)會(huì)員服務(wù) -
網(wǎng)站地圖 -
聯(lián)系我們 -
征稿 -
友情鏈接 -
手機(jī)EEPW
Copyright ?2000-2015 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
《電子產(chǎn)品世界》雜志社 版權(quán)所有 北京東曉國(guó)際技術(shù)信息咨詢有限公司
京ICP備12027778號(hào)-2 北京市公安局備案:1101082052 京公網(wǎng)安備11010802012473
Copyright ?2000-2015 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
《電子產(chǎn)品世界》雜志社 版權(quán)所有 北京東曉國(guó)際技術(shù)信息咨詢有限公司
京ICP備12027778號(hào)-2 北京市公安局備案:1101082052 京公網(wǎng)安備11010802012473