亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于WinDriver和C++Builder的高速實(shí)時(shí)數(shù)據(jù)采集程序

        2012-09-30 01:38:10高一棟
        火控雷達(dá)技術(shù) 2012年4期
        關(guān)鍵詞:驅(qū)動(dòng)程序應(yīng)用程序程序

        張 艷 高一棟

        (西安電子工程研究所 西安 710100)

        1 引言

        在某信號(hào)處理系統(tǒng)應(yīng)用中,需要數(shù)據(jù)板與計(jì)算機(jī)之間建立硬件傳輸通道,將處理輸出的數(shù)據(jù)實(shí)時(shí)地傳輸?shù)接?jì)算機(jī)中,以便于進(jìn)行顯示、存儲(chǔ)及做其他的后續(xù)處理。同時(shí),計(jì)算機(jī)使用的Windows操作系統(tǒng),應(yīng)用程序工作在“用戶模式”下,需要設(shè)計(jì)人員編寫設(shè)備驅(qū)動(dòng)程序?qū)崿F(xiàn)對(duì)硬件設(shè)備的訪問(wèn)。

        2 用WinDriver編寫PCI驅(qū)動(dòng)程序

        2.1 WinDriver的功能和特點(diǎn)

        圖1 WinDriver體系結(jié)構(gòu)圖

        目前,開(kāi)發(fā)Windows環(huán)境下常用的設(shè)備驅(qū)動(dòng)程序的工具主要有DDK(Device Driver Kit)和Win-Driver。DDK是Microsoft公司的設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)軟件,使用DDK開(kāi)發(fā)驅(qū)動(dòng)程序,必須精通Windows內(nèi)部體系結(jié)構(gòu)、MicrosoftMASM匯編語(yǔ)言和設(shè)備驅(qū)動(dòng)程序結(jié)構(gòu)體系方法,以及具備豐富的內(nèi)核模式程序開(kāi)發(fā)經(jīng)驗(yàn),否則可能造成軟件的不穩(wěn)定,甚至系統(tǒng)的崩潰。而美國(guó)Jungo公司推出的WinDriver驅(qū)動(dòng)程序工具包,把底層操作都封裝在一個(gè)內(nèi)核模塊中,提供給用戶標(biāo)準(zhǔn)的WinDriver API函數(shù)來(lái)實(shí)現(xiàn)硬件訪問(wèn),可使編程人員用C或C++語(yǔ)言在用戶模式下編寫驅(qū)動(dòng)程序,不涉及操作系統(tǒng)底層編程且具有很好的兼容性,在短期內(nèi)就可開(kāi)發(fā)出實(shí)現(xiàn)基本功能又具有較高執(zhí)行效率的驅(qū)動(dòng)程序。圖1所示為Win-Driver體系結(jié)構(gòu)圖。

        以使用的WinDriver v6.02版為例,它支持目前通用的 Windows98/Me/NT/2000/XP/CE/CE.NET/Server2003,Linux,Solaris和VxWorks等操作系統(tǒng),而且利用WinDriver產(chǎn)生的驅(qū)動(dòng)程序和應(yīng)用程序源代碼在這些操作系統(tǒng)中都是互相兼容的[1]。同時(shí)它支持PCI/CardBus/ISA/ISAPnP/EISA/Com-pactPCI和USB等多種總線結(jié)構(gòu)。

        2.2 WinDriver編寫PCI中斷驅(qū)動(dòng)程序的流程

        下面,介紹利用WinDriver的用戶模式在DriverWizard向?qū)У囊龑?dǎo)下按步驟完成驅(qū)動(dòng)代碼的生成。

        A.選擇硬件,產(chǎn)生.INF文件。

        PCI(Peripheral Component Interconnect)總線具有即插即用的特點(diǎn),在Driver Wizard將會(huì)顯示所有的即插即用(Plug-and-Play)設(shè)備列表,從中選擇對(duì)應(yīng)的硬件,產(chǎn)生.INF安裝文件,然后添加此新硬件。

        B.配置、診斷硬件。

        Driver Wizard將自動(dòng)測(cè)試硬件設(shè)備資源,包括I/O地址范圍、內(nèi)存范圍,寄存器以及中斷。根據(jù)需要進(jìn)行手動(dòng)添加、設(shè)置。

        定義完P(guān)CI總線硬件設(shè)備資源后,在寫驅(qū)動(dòng)程序之前,還需要使用Driver Wizard簡(jiǎn)單診斷硬件是否工作正常,如:用“read”和“write”來(lái)讀寫硬件的內(nèi)存及寄存器。用“l(fā)isten”來(lái)監(jiān)聽(tīng)硬件中斷。

        C.生成硬件驅(qū)動(dòng)樣本。

        在硬件診斷正確后,選擇特定的開(kāi)發(fā)環(huán)境或編程語(yǔ)言(我們選擇的C++Builder),讓W(xué)inDriver生成一個(gè)相應(yīng)開(kāi)發(fā)環(huán)境的設(shè)備驅(qū)動(dòng)樣本(設(shè)置的工程名字是:mypic)。生成的驅(qū)動(dòng)樣本代碼主要包括:a.各種工程文件,在C++Builder 6.0中其文件為mypic.bpr,mypic.cpp 等;b.設(shè)備的應(yīng)用級(jí) API函數(shù)文件:mypic-lib.c;c.利用上述API函數(shù)訪問(wèn)硬件的樣本程序文件:mypic-diag.c;

        用戶可以直接利用驅(qū)動(dòng)樣本中的標(biāo)準(zhǔn)WinDriver API函數(shù)來(lái)實(shí)現(xiàn)對(duì)硬件的操作和訪問(wèn)。

        3 用C++Builder實(shí)現(xiàn)應(yīng)用程序

        3.1 移植WinDriver API函數(shù)

        將WinDriver API函數(shù)移植到用戶應(yīng)用程序中的方法是,在C++Builder6.0中新建一個(gè)工程,將頭文件mypic-lib.h包含進(jìn)源代碼中。然后根據(jù)實(shí)際需要,選擇mypic-lib.c需要用到的硬件操作API函數(shù),將它們拷貝到新建工程的函數(shù)定義部分。最后用戶在工程中加入完成設(shè)備具體任務(wù)的功能代碼,在代碼中調(diào)用拷貝的API函數(shù)進(jìn)行硬件操作,便完成了用戶級(jí)驅(qū)動(dòng)的開(kāi)發(fā)。以下是程序片段:

        如上述,已經(jīng)成功完成信號(hào)處理數(shù)據(jù)板和計(jì)算機(jī)之間CPI總線數(shù)據(jù)的傳輸,每次中斷循環(huán)讀取1024點(diǎn)數(shù)據(jù)。

        3.2 顯控程序的實(shí)現(xiàn)

        下面完成應(yīng)用程序的顯控程序部分。摘選程序片段如下:

        信號(hào)處理數(shù)據(jù)板向計(jì)算機(jī)發(fā)送某雷達(dá)SAR圖像數(shù)據(jù),此實(shí)時(shí)數(shù)據(jù)采集程序運(yùn)行中的界面截圖如圖2所示。

        圖2 實(shí)時(shí)數(shù)據(jù)采集程序運(yùn)行中顯示界面圖

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

        本文采用WinDriver和C++Builder兩種開(kāi)發(fā)工具,實(shí)現(xiàn)了對(duì)PCI總線高速數(shù)據(jù)采集程序的設(shè)計(jì)。在實(shí)際應(yīng)用中,系統(tǒng)運(yùn)行穩(wěn)定,完成實(shí)時(shí)數(shù)據(jù)傳輸、顯示、存儲(chǔ)。同時(shí)可以看出,利用WinDriver軟件工具包在Windows操作系統(tǒng)下開(kāi)發(fā)設(shè)備驅(qū)動(dòng)程序是一種高效、可靠的方式,值得大多數(shù)非專業(yè)驅(qū)動(dòng)程序的研發(fā)人員使用。

        [1]WinDriver v6.02 User's Guide[M].Jungo Ltd,20thMay 2003.

        [2]PCI LocalBus Specification[M].Revision 2.2 De-cember18,1998.

        [3]李幼儀,甘志.C++Builder高級(jí)應(yīng)用開(kāi)發(fā)指南[M].清華大學(xué)出版社,2002.

        [4]簡(jiǎn)育華.基于WinDriver的Windows驅(qū)動(dòng)程序開(kāi)發(fā)[J].火控雷達(dá)技術(shù),2011,40(1):68-70.

        猜你喜歡
        驅(qū)動(dòng)程序應(yīng)用程序程序
        刪除Win10中自帶的應(yīng)用程序
        試論我國(guó)未決羈押程序的立法完善
        “程序猿”的生活什么樣
        英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
        創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        三星電子將開(kāi)設(shè)應(yīng)用程序下載商店
        微軟軟件商店開(kāi)始接受應(yīng)用程序
        驅(qū)動(dòng)程序更新與推薦
        驅(qū)動(dòng)程序更新與推薦
        baoyu网址国产最新| 国产精品亚洲一级av第二区| 精品日韩在线观看视频| 国产高潮迭起久久av| 亚洲 日本 欧美 中文幕| 牲欲强的熟妇农村老妇女| 一个人看的www免费视频中文| 日韩AV无码一区二区三区不卡毛片| 91精品国产91| 婷婷开心五月综合基地| 白白色发布会在线观看免费| 国产av久久久久精东av| 中文字幕人妻无码一夲道| 久久香蕉免费国产天天看| 国产日产久久福利精品一区| 国产av三级精品车模| 国产精品白浆一区二区免费看 | 日韩av午夜在线观看| 超级碰碰色偷偷免费视频| 亚洲视频天堂| 亚洲AV手机专区久久精品| 国内精品久久人妻互换| 亚洲av高清不卡免费在线| 麻豆蜜桃av蜜臀av色欲av| 精品水蜜桃久久久久久久| 久久国产成人午夜av影院| 欧美性一区| 亚洲区福利视频免费看| 日韩人妖视频一区二区| 国产在线精品一区二区三区直播| 黑人巨大av在线播放无码 | 国产麻豆久久av入口| 日韩av无码一区二区三区不卡| 亚洲精品第一国产综合亚av| 国产啪精品视频网站丝袜| 免费的黄网站精品久久| 黄色av一区二区在线观看| 欧美日韩国产一区二区三区不卡 | 最新露脸自拍视频在线观看| 国产成人午夜精华液| 欧美日本国产亚洲网站免费一区二区|