新聞中心

        EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 頻譜儀多種內(nèi)核通信機(jī)制的方案設(shè)計

        頻譜儀多種內(nèi)核通信機(jī)制的方案設(shè)計

        作者: 時間:2012-04-12 來源:網(wǎng)絡(luò) 收藏
        0,0,0); TEXT-INDENT: 0px; PADDING-TOP: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">

          其中,“.owner=THIS_MODULE”表示結(jié)構(gòu)屬于本模塊,然后是open、read等各函數(shù)的對應(yīng)關(guān)系。由于初始化在hpi_init函數(shù)中實(shí)現(xiàn),所以open函數(shù)并沒有特別的操作,主要是在終端輸出信息。函數(shù)release主要是申請中斷資源的釋放,使用free_irq函數(shù)。下面主要講解read函數(shù),write函數(shù)與之類似,不再詳述。

          ssize_t hpi_read(struct file*file,char*buf,size_t count,loff_t*offp)

          其中,參數(shù)file是打開文件的標(biāo)識符;參數(shù)buf和count就是要向buf指向的地址存放count字節(jié)的數(shù)據(jù);參數(shù)offp是文件讀取的位置,默認(rèn)為文件頭,不用設(shè)置。

          在read函數(shù)的最開始有如下代碼:

          wait_event interruptible(hpi_wait,ev_start);

          down(sem);

          ……

          up(sem);

          其中wait_event_interruptible函數(shù)會阻塞進(jìn)程,使其進(jìn)入等待隊列。直到DSP的數(shù)據(jù)準(zhǔn)備好后,發(fā)來中斷。HPI設(shè)備注冊的中斷處理函數(shù)handler會將變量ev_start置1,同時喚醒hpi_wait等待隊列。read函數(shù)繼續(xù)執(zhí)行之后的代碼,即開始從DSP的HPID寄存器讀取數(shù)據(jù)到參數(shù)buf指向的地址。讀取完成后向DSP指定地址寫入0xffffffff,表示讀取完成。



        關(guān)鍵詞: 頻譜儀 內(nèi)核通信

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 闵行区| 马尔康县| 喀什市| 金乡县| 凉山| 湘潭县| 于都县| 岫岩| 来安县| 普宁市| 麟游县| 正镶白旗| 吴川市| 登封市| 彝良县| 精河县| 阿勒泰市| 霍城县| 简阳市| 黔江区| 新田县| 泌阳县| 营山县| 长兴县| 搜索| 双牌县| 嵊州市| 新津县| 镇赉县| 青神县| 新乐市| 金昌市| 兰西县| 肇庆市| 宝坻区| 林甸县| 东阿县| 凤山县| 利川市| 肇庆市| 仙桃市|