• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

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

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

    作者: 時(shí)間:2012-04-12 來(lái)源:網(wǎng)絡(luò) 收藏
    WORD-SPACING: 0px; FONT: 14px/25px 宋體, arial; TEXT-TRANSFORM: none; COLOR: rgb(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">  ⑥測(cè)試驅(qū)動(dòng)程序。

      4.1 HPI設(shè)備驅(qū)動(dòng)程序?qū)崿F(xiàn)

      4.1.1 物理地址到虛擬地址的映射

      寫Linux設(shè)備驅(qū)動(dòng)的第一步,是完善頭文件中的宏定義,除了各種參數(shù)的定義外,主要是實(shí)現(xiàn)硬件寄存器的物理地址到虛擬地址的映射。對(duì)于硬件寄存器的操作,其實(shí)就是對(duì)其物理地址進(jìn)行讀寫操作。而Linux系統(tǒng)提供了一種內(nèi)存管理機(jī)制,在這種機(jī)制下,程序可以使用比真實(shí)物理地址大得多的地址空間,稱為虛擬地址。Linux系統(tǒng)中程序的操作部是使用虛擬地址,所以要完成物理地址到虛擬地址的映射。本課題采用ioremap函數(shù)的方法,如下:

      #define AT91C_SMC_CSR2*(volatile unsigned long*)ioremap(0xFFFFFF78.4)

      對(duì)于ioremap函數(shù),就是將物理地址0xFFFFFF78開始的4字節(jié)的地址映射到虛擬地址空間中,返回值即4字節(jié)虛擬地址的首地址,賦給宏定義的變量名AT91C_SMC_CSR2。對(duì)宏定義的操作即對(duì)物理地址的操作。

      4.1.2 HPI驅(qū)動(dòng)的初始化

      首先是對(duì)HPI硬件的初始化以及中斷初始化。對(duì)于HPI,主要是重置DSP,已完成時(shí)序的同步。設(shè)置SMC(靜態(tài)存儲(chǔ)控制器),因?yàn)锳RM跟DSP的HPI通信是使用PIO線復(fù)用。最后向DSP發(fā)送握手信號(hào),表示初始化完成。對(duì)于中斷的初始化,使用:

      request_irq(AT91C_ID_IRQ0,handler,SA_INTERRUPT,”irqO”,NULL);



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

    評(píng)論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 晋州市| 大姚县| 东丰县| 宿迁市| 保定市| 武川县| 水城县| 阳城县| 新野县| 河北省| 治多县| 榕江县| 海淀区| 泌阳县| 县级市| 秦皇岛市| 老河口市| 广平县| 昌平区| 永宁县| 哈尔滨市| 饶河县| 柏乡县| 邳州市| 绥宁县| 都昌县| 清水河县| 中宁县| 扶绥县| 东宁县| 新营市| 来安县| 册亨县| 柳林县| 南投市| 军事| 科尔| 洪江市| 浠水县| 霍邱县| 威宁|