<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          首頁(yè)  資訊  商機(jī)   下載  拆解   高校  招聘   雜志  會(huì)展  EETV  百科   問(wèn)答  電路圖  工程師手冊(cè)   Datasheet  100例   活動(dòng)中心  E周刊閱讀   樣片申請(qǐng)
          EEPW首頁(yè) >> 主題列表 >> 安裝配置arm-linux-gc

          Linux中斷(interrupt)子系統(tǒng)之一:中斷系統(tǒng)基本原理

          •   這個(gè)中斷系列文章主要針對(duì)移動(dòng)設(shè)備中的Linux進(jìn)行討論,文中的例子基本都是基于ARM這一體系架構(gòu),其他架構(gòu)的原理其實(shí)也差不多,區(qū)別只是其中的硬件抽象層。內(nèi)核版本基于3.3。雖然內(nèi)核的版本不斷地提升,不過(guò)自從上一次變更到當(dāng)前的通用中斷子系統(tǒng)后,大的框架性的東西并沒(méi)有太大的改變。  1. 設(shè)備、中斷控制器和CPU  一個(gè)完整的設(shè)備中,與中斷相關(guān)的硬件可以劃分為3類,它們分別是:設(shè)備、中斷控制器和CPU本身,下圖展示了一個(gè)smp系統(tǒng)中的中斷硬件的組成結(jié)構(gòu):   圖 1.1&nb
          • 關(guān)鍵字: Linux  中斷  

          基于Android的Linux內(nèi)核的電源管理:概述

          •   1. 電源管理的狀態(tài)  Android的Linux內(nèi)核為系統(tǒng)提供了4種電源狀態(tài),內(nèi)核的源代碼為其中的3種定義了名字和對(duì)應(yīng)的宏定義,名字定義在kernel/power/suspend.c中:  [cpp] view plain copyconst char *const pm_states[PM_SUSPEND_MAX] = {  #ifdef CONFIG_EARLYSUSPEND  [PM_SUSPE
          • 關(guān)鍵字: Android  Linux  

          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專案,反而在這次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í)行,很可能造成沖突?! inux中斷下半部處理有三種方式:軟中斷、tasklet、工作隊(duì)列。  曾經(jīng)有人問(wèn)我為什么要分這幾種,該怎么用。當(dāng)時(shí)用書(shū)上的東西蒙混了過(guò)去,但是自己明白自己實(shí)際上是不懂的。最近有時(shí)間了,于是試著整理一下linux的中斷處理機(jī)制,目的是起碼從原理上能夠
          • 關(guān)鍵字: linux  中斷  

          Linux內(nèi)核開(kāi)發(fā)之異步通知與異步I/O(二)

          •   “曾經(jīng)有一份真摯的愛(ài)情擺在面前,我卻不懂珍惜;曾經(jīng)有一個(gè)承諾,我卻倍感珍惜,今天一定要好好講講..”  講講啥,講講上節(jié)說(shuō)的那個(gè)異步通知的例子唄,大家喜歡看代碼,咋們就先上代碼:  struct globalfifo_dev  {  struct cdev cdev; /*cdev結(jié)構(gòu)體*/  unsigned int current_len; /*fifo有效數(shù)據(jù)長(zhǎng)度*/  unsigned char mem[
          • 關(guān)鍵字: Linux  異步I/O  

          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)程序  

          關(guān)于學(xué)習(xí)Linux的經(jīng)典書(shū)籍 (深入理解Linux內(nèi)核、Linux設(shè)備驅(qū)動(dòng)程序等)

          •   成為一名精通 Linux 程序設(shè)計(jì)的高級(jí)程序員一直是不少朋友孜孜以求的目標(biāo)。根據(jù)中華英才網(wǎng)統(tǒng)計(jì)數(shù)據(jù),北京地區(qū) Linux 程序員月薪平均為 Windows 程序員的 1.8 倍、Java 程序員的 2.6 倍, Linux 程序員年終獎(jiǎng)金平均為 Windows 程序員的 2.9 倍。同時(shí)數(shù)據(jù)顯示,隨著工作經(jīng)驗(yàn)的增長(zhǎng), Lin
          • 關(guān)鍵字: Linux  Unix   

          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)有新東西講,像打了雞血似的興奮,連我都懷疑起她是不是性格中喜新厭舊?! 〔还苣敲炊嗔?,我講我的,她厭她的…  啥叫中斷?就是指cpu在執(zhí)行過(guò)程中,出現(xiàn)了某些突發(fā)事件時(shí)CPU必須暫停執(zhí)行當(dāng)前的程序,轉(zhuǎn)去處理突發(fā)事件,處理完畢后CPU有返回原程序被中斷的位置并繼續(xù)執(zhí)行?! ≈袛嗟姆址ú欢诸惥筒煌?,向什么內(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  
          共1833條 17/123 |‹ « 15 16 17 18 19 20 21 22 23 24 » ›|

          安裝配置arm-linux-gc介紹

          您好,目前還沒(méi)有人創(chuàng)建詞條安裝配置arm-linux-gc!
          歡迎您創(chuàng)建該詞條,闡述對(duì)安裝配置arm-linux-gc的理解,并與今后在此搜索安裝配置arm-linux-gc的朋友們分享。    創(chuàng)建詞條

          熱門主題

          樹(shù)莓派    linux   
          關(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
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();