這個中斷系列文章主要針對移動設備中的Linux進行討論,文中的例子基本都是基于ARM這一體系架構,其他架構的原理其實也差不多,區(qū)別只是其中的硬件抽象層。內核版本基于3.3。雖然內核的版本不斷地提升,不過自從上一次變更到當前的通用中斷子系統(tǒng)后,大的框架性的東西并沒有太大的改變?! ?. 設備、中斷控制器和CPU 一個完整的設備中,與中斷相關的硬件可以劃分為3類,它們分別是:設備、中斷控制器和CPU本身,下圖展示了一個smp系統(tǒng)中的中斷硬件的組成結構: 圖 1.1&nb
關鍵字:
Linux 中斷
1. 電源管理的狀態(tài) Android的Linux內核為系統(tǒng)提供了4種電源狀態(tài),內核的源代碼為其中的3種定義了名字和對應的宏定義,名字定義在kernel/power/suspend.c中: [cpp] view plain copyconst char *const pm_states[PM_SUSPEND_MAX] = { #ifdef CONFIG_EARLYSUSPEND [PM_SUSPE
關鍵字:
Android Linux
1. PCM是什么 PCM是英文Pulse-code modulation的縮寫,中文譯名是脈沖編碼調制。我們知道在現實生活中,人耳聽到的聲音是模擬信號,PCM就是要把聲音從模擬轉換成數字信號的一種技術,他的原理簡單地說就是利用一個固定的頻率對模擬信號進行采樣,采樣后的信號在波形上看就像一串連續(xù)的幅值不一的脈沖,把這些脈沖的幅值按一定的精度進行量化,這些量化后的數值被連續(xù)地輸出、傳輸、處理或記錄到存儲介質中,所有這些組成了數字音頻的產生過程?! ?nbsp;
圖
關鍵字:
Linux ALSA
Google的Ara模組化手機計畫雖然停擺了,但是貢獻了大量程式碼到4.9新版,尤其是Ara計畫的Greybus硬體協(xié)定也加入了Linux 4.9版。
?
問世滿25周年的Linux,釋出了史上最大一次的核心改版Linux 4.9新版,Google喊卡的模組化手機Ara專案,反而在這次4.9新版中貢獻了大量程式碼。Linux之父Linus Torvalds在11日釋出了4.9版,并在發(fā)布郵件中興奮地說:“我非常確定這次是史上最大一次版本發(fā)布,commit數是有史以來最
關鍵字:
Linux GPU
Tasklet作為一種新機制,顯然可以承擔更多的優(yōu)點。正好這時候SMP越來越火了,因此又在tasklet中加入了SMP機制,保證同種中斷只能在一個cpu上執(zhí)行。在軟中斷時代,顯然沒有這種考慮。因此同一種中斷可以在兩個cpu上同時執(zhí)行,很可能造成沖突。 Linux中斷下半部處理有三種方式:軟中斷、tasklet、工作隊列?! ≡浻腥藛栁覟槭裁匆诌@幾種,該怎么用。當時用書上的東西蒙混了過去,但是自己明白自己實際上是不懂的。最近有時間了,于是試著整理一下linux的中斷處理機制,目的是起碼從原理上能夠
關鍵字:
linux 中斷
“曾經有一份真摯的愛情擺在面前,我卻不懂珍惜;曾經有一個承諾,我卻倍感珍惜,今天一定要好好講講..” 講講啥,講講上節(jié)說的那個異步通知的例子唄,大家喜歡看代碼,咋們就先上代碼: struct globalfifo_dev { struct cdev cdev; /*cdev結構體*/ unsigned int current_len; /*fifo有效數據長度*/ unsigned char mem[
關鍵字:
Linux 異步I/O
通常,操作系統(tǒng)可以使用三種方法來表示系統(tǒng)的當前時間與日期: ?、僮詈唵蔚囊环N方法就是直接用一個64位的計數器來對時鐘滴答進行計數?! 、诘诙N方法就是用一個32位計數器來對秒進行計數,同時還用一個32位的輔助計數器對時鐘滴答計數,之子累積到一秒為止。因為232超過136年,因此這種方法直至22世紀都可以讓系統(tǒng)工作得很好。 ?、鄣谌N方法也是按時鐘滴答進行計數,但是是相對于系統(tǒng)啟動以來的滴答次數,而不是相對于相對于某個確定的外部時刻;當讀外部后備時鐘(如RTC)或用戶輸入實際時間時,根據當前的滴答次數計
關鍵字:
linux 時鐘
了解linux驅動程序技巧學習的方法很重要,學習linux操作系統(tǒng)時,你可能會遇到關于驅動方面的問題,這里將介紹學習linux驅動程序的方法,在這里拿出來和大家分享一下。
1.學會寫簡單的makefile
2.編一應用程序,可以用makefile跑起來
3.學會寫linux驅動程序的makefile
4.寫一簡單char驅動,makefile編譯通過,可以insmod,lsmod,rmmod.在驅動程序的init函數里打印helloworld,insmod后應該能夠通過dmes
關鍵字:
Linux 驅動程序
成為一名精通 Linux 程序設計的高級程序員一直是不少朋友孜孜以求的目標。根據中華英才網統(tǒng)計數據,北京地區(qū) Linux 程序員月薪平均為 Windows 程序員的 1.8 倍、Java 程序員的 2.6 倍, Linux 程序員年終獎金平均為 Windows 程序員的 2.9 倍。同時數據顯示,隨著工作經驗的增長, Lin
關鍵字:
Linux Unix
1.?struct?snd_card?1.1.?snd_card是什么snd_card可以說是整個ALSA音頻驅動最頂層的一個結構,整個聲卡的軟件邏輯結構開始于該結構,幾乎所有與聲音相關的邏輯設備都是在snd_card的管理之下,聲卡驅動的第一個動作通常就是創(chuàng)建一個snd_card結構體。正因為如此,本節(jié)中,我們也從?struct?cnd_card開始吧。1.2.?snd_card的定義snd_card的定義位于改頭文件中:includ
關鍵字:
Linux ALSA
一. 概述 ALSA是Advanced Linux Sound Architecture 的縮寫,目前已經成為了linux的主流音頻體系結構,想了解更多的關于ALSA的這一開源項目的信息和知識,請查看以下網址:http://www.alsa-project.org/?! ≡趦群嗽O備驅動層,ALSA提供了alsa-driver,同時在應用層,ALSA為我們提供了alsa-lib,應用程序只要調用alsa-lib提供的API,即可以完成對底層音頻硬件的控
關鍵字:
Linux ALSA
“小王,聽說過錦上添花吧..”我拍拍下王的頭說。
“還錦上添花你,為你上次提的幾個東東,我是頭上長包..”小王氣憤地瞪著我。
“啊,為啥這樣呢,本來還特意拒絕了MM的約會,抽出時間打算給你說點高級的東東,看來現在是不行了”我吃驚道,“這樣吧,這次就給你講些和前邊有關的東西,也不失為錦上添花不是?”。
“好,我也是這么打算的,就是沒好意思說,今天講些啥呢?”小王暗淡的
關鍵字:
Linux 異步I/O
“小王,醒醒,開始上課了,今天咱們開始講中斷,這可是高級東西,錯過不補哈”我使勁推著睡夢中的小王?! 班?感情好啊,快點,快點”小王一聽有新東西講,像打了雞血似的興奮,連我都懷疑起她是不是性格中喜新厭舊?! 〔还苣敲炊嗔?,我講我的,她厭她的… 啥叫中斷?就是指cpu在執(zhí)行過程中,出現了某些突發(fā)事件時CPU必須暫停執(zhí)行當前的程序,轉去處理突發(fā)事件,處理完畢后CPU有返回原程序被中斷的位置并繼續(xù)執(zhí)行?! ≈袛嗟姆址ú欢?,分類就不同,向什么內外部中斷,可/不可屏蔽中斷…等等亂七八糟一大堆,我這里要說明的
關鍵字:
Linux 中斷
設備通常會提供一組寄存器來用于控制設備、讀寫設備和獲取設備狀態(tài),即控制寄存器、數據寄存器和狀態(tài)寄存器。這些寄存器可能位于IO空間,也可能位于內存空間。當位于IO空間時,通常被稱為IO端口,位于內存空間時,對應的內存空間成為IO內存?! ?. Linux IO端口和IO內存訪問接口 1.1 IO端口 在Linux設備驅動中,應使用Linux內核提供的函數來訪問定位于IO空間的端口,這些函數包括如下幾種: (1)讀寫字節(jié)端口(8位寬) unsigned in
關鍵字:
ARM Linux
1. 開發(fā)環(huán)境的建立在嵌入式系統(tǒng)中,由于目標機資源有限,因此通常是在主機上編譯好驅動程序以及應用程序,然后通過串口、以太網、仿真器或其他通信手段與目標機通信。為了方便進行Linux設備驅動的開發(fā)和調試,首先必須建立良好的開發(fā)環(huán)境,包括交叉編譯環(huán)境的建立、minicom的設置以及nfs網絡文件系統(tǒng)的建立?! ?1) 交叉編譯環(huán)境由于我采用的是ARM9 S3C2410處理器,因此必須在主機上建立針對目標板處理器的GNU工具鏈,這個過程相當復雜繁瑣,開發(fā)者可以采用編譯好的針對A
關鍵字:
S3C2410 Linux
gccarm-linux-gccarm-elf-gc介紹
您好,目前還沒有人創(chuàng)建詞條gccarm-linux-gccarm-elf-gc!
歡迎您創(chuàng)建該詞條,闡述對gccarm-linux-gccarm-elf-gc的理解,并與今后在此搜索gccarm-linux-gccarm-elf-gc的朋友們分享。
創(chuàng)建詞條
gccarm-linux-gccarm-elf-gc電路
gccarm-linux-gccarm-elf-gc相關帖子
gccarm-linux-gccarm-elf-gc資料下載
gccarm-linux-gccarm-elf-gc專欄文章
關于我們 -
廣告服務 -
企業(yè)會員服務 -
網站地圖 -
聯(lián)系我們 -
征稿 -
友情鏈接 -
手機EEPW
Copyright ?2000-2015 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
《電子產品世界》雜志社 版權所有 北京東曉國際技術信息咨詢有限公司
京ICP備12027778號-2 北京市公安局備案:1101082052 京公網安備11010802012473