高速PCI總線接口卡的開發(fā)
1.5.2 DSP程序開發(fā)
TI公司提供了DSP專用仿真器和仿真開發(fā)系統(tǒng),C2000系列的開發(fā)系統(tǒng)最新版本為CCS2.2。對于不同的仿真器,只要安裝驅(qū)動程序即可使用該開發(fā)系統(tǒng)進行仿真。仿真器選用最新款的帶USB接口的ICETEK51000USBV2.0仿真器。由于該仿真器使用USB接口,所以不需外接供電電源,實用又方便。
由于硬件設(shè)計時擴展了可轉(zhuǎn)換的存儲器,進行仿真時把存儲器接成程序存儲器,程序可以直接轉(zhuǎn)載到擴展的存儲器中進行調(diào)試,免去了往FLASH中燒寫的麻煩,程序調(diào)試完畢后再固化到FLASH中。
PCI卡的硬件調(diào)試需要結(jié)合軟件程序的調(diào)試來完成。PCI卡的驅(qū)動程序開發(fā)有多種途徑,驅(qū)動開發(fā)工具也有多種選擇。
2.1 驅(qū)動開發(fā)工具的選取
(1)DDK(Driver Device Kit)
許多VMM服務(wù)都使用寄存器的調(diào)用方式,使用起來不是很方便,沒有4深厚的匯編語言及硬件基礎(chǔ)很難在短時間內(nèi)開發(fā)出設(shè)備驅(qū)動程序。Micorosoft公司提供了設(shè)備驅(qū)動程序工具箱(DDK),它是基于匯編語言的編程方式的,DDK的優(yōu)點是可以開發(fā)核心態(tài)的真正意義上的驅(qū)動程序,開發(fā)出來的驅(qū)動程序效率是最高的。
(2)DS(Driver Studio)
DS是一個驅(qū)動程序集成開發(fā)包,其中包括了DriverAgent、VtoolsD、DriverWorks、SoftICE Driver Edition、BoundsChecker Driver Edition、DriverWorkbenc、FieldAgent for Drivers等。幾中常見的DS驅(qū)動開發(fā)工具介紹如下:
·Drivergent為Win32應(yīng)用程序提供了訪問硬件的接口。
·VtoolsD支持Windows95和Windows98的驅(qū)動程序開發(fā)(VxD)。VtoolsD包括代碼生成器、實時接口庫和可以作為開發(fā)一類驅(qū)動程序的例子程序。
·DriverWorks包括為Windows NT和Win32 Driver Model(WDM)開發(fā)驅(qū)動程序的完整的開發(fā)框架,同時也支持Windows98和Windows2000下驅(qū)動程序的開發(fā)。DriverWorks包含一個復(fù)雜的代碼生成工具(Driver Wizard),其中含有支持C++下編程的類庫和例子程序。
(3) WinDriver
WinDriver是KRF-Tech公司的一套PCI驅(qū)動程序開發(fā)包。它改變了傳統(tǒng)驅(qū)動程序開發(fā)的方法和思路,極大地簡化了驅(qū)動程序的編制;同時又沒有犧牲驅(qū)動程序的性能,是一套高效、快捷的PCI驅(qū)動程序開發(fā)軟件包,特別適合專業(yè)硬件人員使用。
利用WinDriver開發(fā)驅(qū)動程序不需要熟悉操作系統(tǒng)的內(nèi)核,整個驅(qū)動程序中的所有函數(shù)都是工作在用戶態(tài)下的,通過與WinDriver的.Vxd或者.Sys文件交互可達到驅(qū)動硬件的目的。由于是一個用戶態(tài)程序,效率的高低也就成了人們選擇WinDriver時關(guān)心的問題。大量實踐數(shù)據(jù)表明,WinDriver并沒有通過犧牲系統(tǒng)性能來換取驅(qū)動程序的快速開發(fā)。本設(shè)計中選用WinDriver來開發(fā)驅(qū)動程序。
2.2 WinDriver開發(fā)驅(qū)動程序
在WinDriver的體系結(jié)構(gòu)中,WinDriver Kernet處于中心位置,它提供的用戶態(tài)庫函數(shù)(API)實際就是對WinDriver Kernel中實現(xiàn)的功能進行調(diào)用。幾乎所有用戶同硬件的交互都是通過WinDriverKernel來實現(xiàn)的,這樣就極大地解放了開發(fā)人員。用戶的主要任務(wù)就是利用WinDriver提供的用戶動態(tài)函數(shù)庫(API函數(shù)庫)在用戶態(tài)實現(xiàn)自己的驅(qū)動程序代碼,完成硬件驅(qū)動的功能。
基于WinDriver的設(shè)備驅(qū)動程序主要分為驅(qū)動程序和應(yīng)用程序兩部分。利用DriverWizard生成.inf驅(qū)動程序,安裝該驅(qū)動程序后,系統(tǒng)就根據(jù)EEPROM中的配置信息給板卡分配資源,接下來就可以進行應(yīng)用程序的開發(fā)了。利用DriverWizard生成應(yīng)用程序框架后,用戶把生成的框架整理到自己的程序中,再添加實際應(yīng)用中需要的功能就完成了軟件的開發(fā)。
PCI總線是計算機總線的樞紐,其速度是一般總線望塵莫及的,其應(yīng)用也十分廣泛。利用本文介紹的方法開發(fā)出的板卡可以運用于各種高速數(shù)據(jù)傳輸場合中,發(fā)雷達系統(tǒng)仿真控制、工業(yè)總線控制、高速數(shù)據(jù)采集、圖像采集等。本設(shè)計在對芯片的選型時本著經(jīng)濟實用的原則,開發(fā)出的板卡性價比較高。
評論