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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于PCI總線的嵌入式實(shí)時(shí)圖像處理系統(tǒng)

          基于PCI總線的嵌入式實(shí)時(shí)圖像處理系統(tǒng)

          作者: 時(shí)間:2013-03-14 來(lái)源:網(wǎng)絡(luò) 收藏


          Windows主要根據(jù)頁(yè)錯(cuò)誤機(jī)制實(shí)現(xiàn)對(duì)存儲(chǔ)器映射設(shè)備訪問(wèn)的虛擬化。要捕獲對(duì)某個(gè)設(shè)備內(nèi)存的訪問(wèn),設(shè)備VxD驅(qū)動(dòng)程序會(huì)將頁(yè)表中對(duì)應(yīng)于相應(yīng)當(dāng)內(nèi)存頁(yè)標(biāo)注為“不可用”。當(dāng)在虛擬環(huán)境中運(yùn)行的程序試圖訪問(wèn)這個(gè)頁(yè)時(shí),會(huì)產(chǎn)生一個(gè)錯(cuò)誤。VM的異常處理器會(huì)調(diào)用已注冊(cè)的設(shè)備VxD驅(qū)動(dòng)程序的頁(yè)錯(cuò)誤處理器進(jìn)行相關(guān)處理,即當(dāng)VM訪問(wèn)該端口時(shí)產(chǎn)生異常時(shí)進(jìn)入該硬件的回調(diào)處理器,由我們自己編寫(xiě)的函數(shù)進(jìn)行處理。

          3.2 各種驅(qū)動(dòng)程序比較

          常見(jiàn)的驅(qū)動(dòng)程序包括三種:VxD,KMD和WDM。

          (1) VxD:虛擬設(shè)備驅(qū)動(dòng)程序,是系統(tǒng)用于各種硬件資源識(shí)別、管理、維護(hù)運(yùn)作的擴(kuò)展。VxD和VMM一起維持著系統(tǒng)的運(yùn)作。VxD運(yùn)作組Intel系列CPU保護(hù)模式下的Ring0,擁有對(duì)硬件的最高控制權(quán)。
          (2) KMD,Kernel Mode Driver。它是WindowsNT下提出的管理、維護(hù)硬件運(yùn)作的驅(qū)動(dòng)程序模式。該Driver運(yùn)行于WindowsNT的Kernel模式下(類似于Ring0)。但一個(gè)KMD的運(yùn)行環(huán)境在不同的時(shí)候是根本不同的,Driver收到設(shè)備請(qǐng)求時(shí)的運(yùn)行環(huán)境很可能和設(shè)備請(qǐng)求實(shí)際操作的運(yùn)行環(huán)境根本不同,因此在WindowsNT下Driver的運(yùn)作受到WindowsNT本身的很多限制。
          (3) WDM,Win32 Driver Model。它可以和Windows2000兼容,MS力推的全新的驅(qū)動(dòng)程序模式,它實(shí)際也可以理解為一個(gè)即插即用的KMD。WMD代碼很長(zhǎng),Windows98對(duì)WDM支持有限,因此WMD難以一時(shí)取代VxD。

          3.3 PCI2040驅(qū)動(dòng)程序開(kāi)發(fā)

          PCI2040不是標(biāo)準(zhǔn)的硬件設(shè)備,因此必須自己編寫(xiě)PCI2040的硬件安裝信息文件和驅(qū)動(dòng)程序。PCI2040配置空間如附表:

          其中設(shè)備ID用以標(biāo)識(shí)特定的設(shè)備,具體的代碼由供應(yīng)商來(lái)分派;供應(yīng)商ID用以表明設(shè)備的制造者,這二者是識(shí)別PCI設(shè)備的唯一標(biāo)識(shí)。對(duì)于PCI2040來(lái)說(shuō),當(dāng)讀Vendor-device ID時(shí),返回值為AC60104C。

          (1) 設(shè)備信息安裝文件

          設(shè)備信息安裝文件(.INF)包含了驅(qū)動(dòng)程序的名稱、驅(qū)動(dòng)程序應(yīng)該復(fù)制到的目錄,以及在驅(qū)動(dòng)程序安裝時(shí)必須生成和修改的注冊(cè)表入口。

          在編寫(xiě)INF文件時(shí),可以使用了VtoolsD開(kāi)發(fā)包中的INF Editor工具,以下是我所編寫(xiě)的PCI2040安裝信息文件。

          [Version]
          Signature=$CHICAGO$
          Class=PCI Bridge file://設(shè)備類型為PCI橋設(shè)備
          Provider=%String0% file://供應(yīng)商的名稱
          [ClassInstall]
          [DestinationDirs]
          DefaultDestDir=11 file://將驅(qū)動(dòng)程序安裝在
          file://C:WindowsSystem目錄下
          [Manufacturer]
          %String1%=SECTION_0
          [SECTION_0]
          %String2%=sevenstar,PCIVEN_104CDEV_AC60
          [sevenstar]
          CopyFiles=CopyFiles_sevenstar
          AddReg=AddReg_sevenstar
          [CopyFiles_sevenstar]
          DSP_PCI_Bridge.vxd file://驅(qū)動(dòng)程序的名稱為 file://DSP_PCI_Bridge.vxd
          [AddReg_sevenstar]
          HKR,,DevLoader,0, DSP_PCI_Bridge.vxd file://在注 file://冊(cè)表中添加相關(guān)信息
          [sevenstar_LogConfig]
          ConfigPriority=NORMAL
          IRQConfig=3,7,9,10,15 file://指定PCI2040可 file://選的中斷口
          [ControlFlags]
          [SourceDisksNames]
          1=pci2040驅(qū)動(dòng)盤(pán),,0000-0000
          [SourceDisksFiles]
          DSP_PCI_Bridge.vxd=1
          [Strings]
          String0="Texas Instruments"
          String1="TI"
          String2=“PCI橋接”

          (2) VxD的創(chuàng)建

          Windows支持靜態(tài)安裝和動(dòng)態(tài)安裝VxD,前者是在Windows初始化時(shí)安裝VxD并一直保存在Windows中,后者是在一個(gè)應(yīng)用程序或其他VxD的控制下安裝和卸載。靜態(tài)安裝的VxD始終占用著一定的內(nèi)存資源以及中斷口,若不是一直運(yùn)行,則導(dǎo)致了資源浪費(fèi)。

          在使用QuickVxD開(kāi)發(fā)VxD只需在Dynamically Loadable選項(xiàng)中打勾就行了,其中Device Name是指我們的VxD的設(shè)備名,每個(gè)VxD都有設(shè)備名這兒是指PCI2040芯片,Device ID是用來(lái)標(biāo)識(shí)設(shè)備,只有當(dāng)該VxD需要提供對(duì)其他VxD的調(diào)用入口時(shí)才用,且不能任意取應(yīng)該由Microsoft公司提供,一般情況直接用UNDEFINED_DEVICE_ID就行了,Device Initialization Order確定Windows對(duì)VxD的安裝順序,比如你想要你的VxD先于VDD初始化就應(yīng)該設(shè)置為VDD_INIT_ORDER-1,一般情況也使用默認(rèn)值。

          4 結(jié)束語(yǔ)

          圖像實(shí)現(xiàn)的關(guān)鍵在于如何對(duì)大容量的信息進(jìn)行暫存、壓縮和傳輸?shù)葐?wèn)題進(jìn)行處理。本系統(tǒng)的實(shí)現(xiàn)很好的解決了這三個(gè)難題。在圖像信息暫存方面充分利用了DSP存儲(chǔ)空間的可擴(kuò)展性,保證了系統(tǒng)可暫存的信息量足夠大;信息壓縮是DSP的最擅長(zhǎng)做的事情,可以在很短的時(shí)間內(nèi)完成大量的信息壓縮工作;的引入保證了信息在足夠的帶寬下進(jìn)行快速傳輸。

          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁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); })();