亚洲免费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)程序更新與推薦
        青青草国产在线视频自拍| 产国语一级特黄aa大片| www.亚洲天堂.com| 久久人妻精品中文字幕一区二区| 黄 色 成 年 人 网 站免费| 亚洲av成人久久精品| 国模91九色精品二三四| 日本动漫瀑乳h动漫啪啪免费 | 久久国产精品一区二区| 日韩极品在线观看视频| 亚洲在线精品一区二区三区| 亚洲人成网站在线播放2019| 男人激烈吮乳吃奶视频免费 | 日韩中文字幕免费视频| 久久久久久久女国产乱让韩| 亚洲成A人A∨久在线观看| 国产精品一区二区三区三| 久久天堂一区二区三区av| 国产又色又爽又高潮免费视频麻豆 | av男人的天堂第三区| 久久精品免费中文字幕| 岳好紧好湿夹太紧了好爽矜持| 亚洲精品无码久久毛片| 伊人影院在线观看不卡| 午夜免费观看国产视频| 高潮抽搐潮喷毛片在线播放| 少妇人妻真实偷人精品视频| 最新手机国产在线小视频| 日本女优中文字幕亚洲| 日本污ww视频网站| 夫妇交换性三中文字幕| 少妇人妻偷人精品一区二区| 亚洲精品国产福利在线观看 | 黄片免费观看视频播放| 国产乱子伦精品无码专区 | 国产98在线 | 免费| 午夜男女视频一区二区三区| 美女被男人插得高潮的网站| 婷婷色婷婷开心五月四房播播| 国产亚洲日韩欧美一区二区三区| 中文字幕无线精品亚洲乱码一区|