linux 文章 進(jìn)入linux 技術(shù)社區(qū)
Linux ALSA聲卡驅(qū)動(dòng)之三:PCM設(shè)備的創(chuàng)建
- 1. PCM是什么 PCM是英文Pulse-code modulation的縮寫,中文譯名是脈沖編碼調(diào)制。我們知道在現(xiàn)實(shí)生活中,人耳聽到的聲音是模擬信號(hào),PCM就是要把聲音從模擬轉(zhuǎn)換成數(shù)字信號(hào)的一種技術(shù),他的原理簡(jiǎn)單地說就是利用一個(gè)固定的頻率對(duì)模擬信號(hào)進(jìn)行采樣,采樣后的信號(hào)在波形上看就像一串連續(xù)的幅值不一的脈沖,把這些脈沖的幅值按一定的精度進(jìn)行量化,這些量化后的數(shù)值被連續(xù)地輸出、傳輸、處理或記錄到存儲(chǔ)介質(zhì)中,所有這些組成了數(shù)字音頻的產(chǎn)生過程?! ?nbsp; 圖
- 關(guān)鍵字: Linux ALSA
Linux核心4.9出爐,Linus保證史上最大改版!
- Google的Ara模組化手機(jī)計(jì)畫雖然停擺了,但是貢獻(xiàn)了大量程式碼到4.9新版,尤其是Ara計(jì)畫的Greybus硬體協(xié)定也加入了Linux 4.9版。 ? 問世滿25周年的Linux,釋出了史上最大一次的核心改版Linux 4.9新版,Google喊卡的模組化手機(jī)Ara專案,反而在這次4.9新版中貢獻(xiàn)了大量程式碼。Linux之父Linus Torvalds在11日釋出了4.9版,并在發(fā)布郵件中興奮地說:“我非常確定這次是史上最大一次版本發(fā)布,commit數(shù)是有史以來最
- 關(guān)鍵字: Linux GPU
linux中斷處理原理分析
- Tasklet作為一種新機(jī)制,顯然可以承擔(dān)更多的優(yōu)點(diǎn)。正好這時(shí)候SMP越來越火了,因此又在tasklet中加入了SMP機(jī)制,保證同種中斷只能在一個(gè)cpu上執(zhí)行。在軟中斷時(shí)代,顯然沒有這種考慮。因此同一種中斷可以在兩個(gè)cpu上同時(shí)執(zhí)行,很可能造成沖突。 Linux中斷下半部處理有三種方式:軟中斷、tasklet、工作隊(duì)列?! ≡?jīng)有人問我為什么要分這幾種,該怎么用。當(dāng)時(shí)用書上的東西蒙混了過去,但是自己明白自己實(shí)際上是不懂的。最近有時(shí)間了,于是試著整理一下linux的中斷處理機(jī)制,目的是起碼從原理上能夠
- 關(guān)鍵字: linux 中斷
linux世界里的時(shí)間
- 通常,操作系統(tǒng)可以使用三種方法來表示系統(tǒng)的當(dāng)前時(shí)間與日期: ?、僮詈?jiǎn)單的一種方法就是直接用一個(gè)64位的計(jì)數(shù)器來對(duì)時(shí)鐘滴答進(jìn)行計(jì)數(shù)?! 、诘诙N方法就是用一個(gè)32位計(jì)數(shù)器來對(duì)秒進(jìn)行計(jì)數(shù),同時(shí)還用一個(gè)32位的輔助計(jì)數(shù)器對(duì)時(shí)鐘滴答計(jì)數(shù),之子累積到一秒為止。因?yàn)?32超過136年,因此這種方法直至22世紀(jì)都可以讓系統(tǒng)工作得很好?! 、鄣谌N方法也是按時(shí)鐘滴答進(jìn)行計(jì)數(shù),但是是相對(duì)于系統(tǒng)啟動(dòng)以來的滴答次數(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)方面的問題,這里將介紹學(xué)習(xí)linux驅(qū)動(dòng)程序的方法,在這里拿出來和大家分享一下。 1.學(xué)會(huì)寫簡(jiǎn)單的makefile 2.編一應(yīng)用程序,可以用makefile跑起來 3.學(xué)會(huì)寫linux驅(qū)動(dòng)程序的makefile 4.寫一簡(jiǎn)單char驅(qū)動(dòng),makefile編譯通過,可以insmod,lsmod,rmmod.在驅(qū)動(dòng)程序的init函數(shù)里打印helloworld,insmod后應(yīng)該能夠通過dmes
- 關(guān)鍵字: Linux 驅(qū)動(dòng)程序
Linux ALSA聲卡驅(qū)動(dòng)之二:聲卡的創(chuàng)建
- 1.?struct?snd_card?1.1.?snd_card是什么snd_card可以說是整個(gè)ALSA音頻驅(qū)動(dòng)最頂層的一個(gè)結(jié)構(gòu),整個(gè)聲卡的軟件邏輯結(jié)構(gòu)開始于該結(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開始吧。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 的縮寫,目前已經(jīng)成為了linux的主流音頻體系結(jié)構(gòu),想了解更多的關(guān)于ALSA的這一開源項(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)核開發(fā)之中斷與時(shí)鐘(一)
- “小王,醒醒,開始上課了,今天咱們開始講中斷,這可是高級(jí)東西,錯(cuò)過不補(bǔ)哈”我使勁推著睡夢(mèng)中的小王?! 班?感情好啊,快點(diǎn),快點(diǎn)”小王一聽有新東西講,像打了雞血似的興奮,連我都懷疑起她是不是性格中喜新厭舊。 不管那么多了,我講我的,她厭她的… 啥叫中斷?就是指cpu在執(zhí)行過程中,出現(xiàn)了某些突發(fā)事件時(shí)CPU必須暫停執(zhí)行當(dāng)前的程序,轉(zhuǎn)去處理突發(fā)事件,處理完畢后CPU有返回原程序被中斷的位置并繼續(xù)執(zhí)行。 中斷的分法不懂,分類就不同,向什么內(nèi)外部中斷,可/不可屏蔽中斷…等等亂七八糟一大堆,我這里要說明的
- 關(guān)鍵字: Linux 中斷
[ARM筆記]設(shè)備IO端口和IO內(nèi)存的訪問
- 設(shè)備通常會(huì)提供一組寄存器來用于控制設(shè)備、讀寫設(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)存訪問接口 1.1 IO端口 在Linux設(shè)備驅(qū)動(dòng)中,應(yīng)使用Linux內(nèi)核提供的函數(shù)來訪問定位于IO空間的端口,這些函數(shù)包括如下幾種: (1)讀寫字節(jié)端口(8位寬) unsigned in
- 關(guān)鍵字: ARM Linux
基于S3C2410的Linux驅(qū)動(dòng)程序開發(fā)
- 1. 開發(fā)環(huán)境的建立在嵌入式系統(tǒng)中,由于目標(biāo)機(jī)資源有限,因此通常是在主機(jī)上編譯好驅(qū)動(dòng)程序以及應(yīng)用程序,然后通過串口、以太網(wǎng)、仿真器或其他通信手段與目標(biāo)機(jī)通信。為了方便進(jìn)行Linux設(shè)備驅(qū)動(dòng)的開發(fā)和調(diào)試,首先必須建立良好的開發(fā)環(huán)境,包括交叉編譯環(huán)境的建立、minicom的設(shè)置以及nfs網(wǎng)絡(luò)文件系統(tǒng)的建立?! ?1) 交叉編譯環(huán)境由于我采用的是ARM9 S3C2410處理器,因此必須在主機(jī)上建立針對(duì)目標(biāo)板處理器的GNU工具鏈,這個(gè)過程相當(dāng)復(fù)雜繁瑣,開發(fā)者可以采用編譯好的針對(duì)A
- 關(guān)鍵字: S3C2410 Linux
基于斯道S3C2410的Linux內(nèi)核編譯
- 1。編譯緣由 使用斯道的zImage文件,我自己編譯的Mplayer不能使用,必須加--nosound選項(xiàng)才能播放視頻。后來見一篇文章說是Linux內(nèi)核音頻驅(qū)動(dòng)的問題,所以決定重新編譯內(nèi)核?! ?。編譯工具及資料 2。1內(nèi)核版本:斯道S3C2410普及版2光盤自帶的 2。1交叉編譯器:cross-2.95.3.tar.bz2,可能是在ARM官方的ftp服務(wù)器上下的,我忘了?! ?。編譯過程 3。1拷貝cross-2.95.3.tar.bz2到/usr/local/arm/目錄,并轉(zhuǎn)到/usr/
- 關(guān)鍵字: S3C2410 Linux
linux 介紹
Linux操作系統(tǒng),是一種計(jì)算機(jī)操作系統(tǒng),讀音為 。Linux操作系統(tǒng)的內(nèi)核的名字也是“Linux”。Linux操作系統(tǒng)也是自由軟件和開放源代碼發(fā)展中最著名的例子。
目錄
一、概述
二、歷史
三、應(yīng)用與評(píng)價(jià)
四、用戶群
五、未來軟件界的方向
六、發(fā)行版
七、Linux的讀音
八、手機(jī)上的Linux系統(tǒng)
九、常見問題解答:
十、linux可應(yīng)用的多種硬件平臺(tái) 一、概述
二 [ 查看詳細(xì) ]
關(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