一 產品說明 1. 誰需要使用 WinDriver? 硬體研發人員 : 使用 Driver Wizard 即可快速測試您的新硬體 軟體研發人員 : 使用 Driver Wizard 即可產生出硬體驅動程式編碼來驅動您的硬體, 使用 WinDriver 程式工具即可測試以及除錯您的驅動程式 2. Wi

Similar documents
The golden pins of the PCI card can be oxidized after months or years

TPM BIOS Infineon TPM Smart TPM Infineon TPM Smart TPM TPM Smart TPM TPM Advanced Mode...8

ActiveX Control

4. 於 INF Processing Options 對話窗中, 選取 Automatic 後按 OK 5. 於 Import File 對話窗中, 按 Start Copyright by ICP DAS Co., Ltd. All rights are reserved. 2 / 12


封面-12

投影片 1

Oxford iSolution下載及安裝指南

indows CE 1996 Semiconductor Industry Association (SIA) Windows CE Windows Embedded CE 6.0 Windows CE Windows Embedded CE 6.0 Micr

ebook140-8

CC213

Autodesk Product Design Suite Standard 系統統需求 典型使用用者和工作流程 Autodesk Product Design Suite Standard 版本為為負責建立非凡凡產品的設計師師和工程師, 提供基本概念設計計和製圖工具, 以取得令人驚驚嘆

Guide to Install SATA Hard Disks

* 2

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4

ebook140-9

概述

DeskJet F2180 DeskJet F4185 Deskjet F4280 DeskJet D2460 OK N/A N/A DeskJet 1660 OK ( 無提供 Win 2000 驅動 ) N/A N/A PSC 1315 Photosmart 2575 Photosmart C13

epub83-1

健保資訊網服務系統 (VPN)- 瀏覽器設定 目 次 壹 作業目的及功能... 2 一 作業目的... 2 二 作業功能... 2 貳 瀏覽器設定說明... 3 一 Internet Explorer 8(IE 8)... 5 二 Internet Explorer 9(IE 9)... 8 三 I

Microsoft Word - 13院21号.doc

桌上型個人電腦採購規格說明表

MSAC-EX1

桌上型個人電腦採購規格說明表

Measurement Studio Expands Your Test and Measurement Programming Power

Sophos Central 快速安裝手冊

LSI U320 SCSI卡用户手册.doc

Microsoft Word zw

<4D F736F F D20A7EBBCD0B6B7AABEAAFEA5F3322D3935A67EB2C432A6B8B2C433B2D5C5E3A5DCA564B357BD64AED12E646F63>

桌上型個人電腦採購規格說明表

8idml_20_1_q

1

使用手冊


(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

AP128DG-H AP128DG-H 3 13 ATiRADEON TM Win 98/98SE, WinME Win XP Direct X

Chapter 2

GV-R7500L Win 98/ 98SE, WinME Win XP Direct X Windows NT WINDO

PowerPoint Presentation

Photoshop CS3 影像創造力 基礎講堂 8 學習流程 學習重要性 學習難度 必學指令工具 實作應用範例 創造舞台燈光的漸層繪圖 延伸學習 雜訊與半透明漸層 8-1 Photoshop Photoshop 8 136

(W32) * (W32) WindowsWin32 API(DLL) Win32 API Visual Basic Visual C/C++ Windows XP/Server 2003/2000/NT/Me/98/95 (/) Windows XP / Server 2003 / 2000 /

Windows 2000 Server for T100

Microsoft Word - LP doc

SW cdr

電腦設備LP _第七組顯示卡規範書

1 IT IT IT IT Virtual Machine, VM VM VM VM Operating Systems, OS IT

1. Install the software Note: You should logon with administrator privileges to Windows 7, Vista or XP in order to install the software properly. You

電腦設備LP 第七組顯示卡規範書

IP505SM_manual_cn.doc

Microsoft Word - PS2_linux_guide_cn.doc

Microsoft Word - Mail2000_SecurityPatch_

GIGA-BYTE TECHNOLOGY CO., LTD. ( GBT ) GBT GBT, GBT

1.ai

FETnet - Acer Iconia Tab  (A500 Wi-Fi 版) 平板電腦操作指南

InstallShield InstallShield InstallShield Windows Installer ISWI ISWI InstallShield InstallShield InstallShield Windows Installer WI In


Mac 版之 Horizon Auton 系統安裝操作手冊 Page 1 of 25

2017政府共同供應契約採購指南V3.xls

SSL 數位憑證 OpenVPN 安裝說明

Outlook 2010 設定說明 Offic 企業郵件 / 虛擬主機郵件 / Office 365

作 業 系 統 簡 介 光 有 電 腦 硬 體, 會 不 容 易 使 用 必 須 要 有 適 當 的 程 式, 才 方 便 操 作 硬 體 衍 生 作 業 系 統 需 求 : 提 供 方 便 使 用 者 執 行 程 式 平 台 有 效 使 用 各 種 電 腦 硬 體 資 源 Jingo C. Lia

AndroidUsersGuide.book

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

Outlook 2007 設定說明 Offic 企業郵件 / 虛擬主機郵件 / Office 365

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

Industrial Automation Products Bus Analyzer 1.5Mbyte/sec Timer Bus Master PCI 1.2Mbyte/sec FIFO Memory Bus Analyzer GPIB Low Profile PCI 120Kbyte/sec

<A4E2BEF7B4FAB8D5B3F8A F52322E786C7378>

目 錄 版 次 變 更 記 錄... 2 原 始 程 式 碼 類 型 之 使 用 手 冊... 3 一 安 裝 軟 體 套 件 事 前 準 備... 3 二 編 譯 流 程 說 明

6020

Cadence SPB 15.2 VOICE Cadence SPB 15.2 PC Cadence 3 (1) CD1 1of 2 (2) CD2 2of 2 (3) CD3 Concept HDL 1of 1

Chapter 2 GIGA-BYTE TECHNOLOGY CO., LTD. ("GBT") GBT GBT GBT

Microsoft Word - 正文.doc

AL-M200 Series

KM7600 配對步驟

Win-GRAF-User_Manual-chinese

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

1 SQL Server 2005 SQL Server Microsoft Windows Server 2003NTFS NTFS SQL Server 2000 Randy Dyess DBA SQL Server SQL Server DBA SQL Server SQL Se

( )... 5 ( ) ( )

PowerPoint 簡報

典型自编教材

EK-STM32F


K7VT2_QIG_v3


投影片 1

附 件 : 2009 年 度 国 家 精 品 课 程 名 单 一 本 科 国 家 精 品 课 程 ( 以 学 科 为 序, 共 400 门 ) 序 号 一 级 学 科 二 级 学 科 课 程 名 称 学 校 名 称 负 责 人 1 哲 学 哲 学 类 马 克 思 主 义 伦 理 学 安 徽 师 范

untitled

Tokin Auton Mac 版安裝操作手冊 Page 1 of 27

2016 勒索軟體白皮書

EX-Z80

投影片 1

GIGA-BYTE TECHNOLOGY CO., LTD. ("GBT") GBT GBT GBT

Mizuho Bank QR Code 匯出匯款申請書 ( 外匯用 ) 自動化 安裝手冊 ( 中文 ) 第 1 頁, 共 20 頁

Microsoft Word - ACI chapter00-1ed.docx

Chapter 2 GIGA-BYTE TECHNOLOGY CO., LTD. ("GBT") GBT GBT GBT

第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與

案號 :LP 京年升 : 16-LP 第一組個人電腦 鎮億年 : 16-LP 項次契約金額廠牌型號產地品名共同規格 acer Veriton M2640G 臺灣 ASUS MD330 臺灣 MSI 微星科技捷元 GENUINE ProDesk 400 G3

目 录

串口、网口猫池使用说明书

Transcription:

Jungo 大中華代理商 WinDriver 驅動程式開發工具快速使用指南 五分鐘教您如何撰寫驅動程式 WinDriver Version 11.0 For PCI/ PCI Express / PCMCIA

一 產品說明 1. 誰需要使用 WinDriver? 硬體研發人員 : 使用 Driver Wizard 即可快速測試您的新硬體 軟體研發人員 : 使用 Driver Wizard 即可產生出硬體驅動程式編碼來驅動您的硬體, 使用 WinDriver 程式工具即可測試以及除錯您的驅動程式 2. WinDriver 支援哪些作業系統? Windows 8/ 7 / Vista / Server 2008 / Server 2003 / XP / 2000, Windows CE.NET, Windows Embedded (Windows Embedded Compact 系列 ) 及 Linux 您可以 從 Jungo 官網了解最新的支援作業系統 Windriver 所產生的驅動程式, 可以不必修改任何代碼, 僅需重新編譯即可支援上述的任 一作業系統 3. 我可以從哪裡得到更深入的技術文件呢? WinDriver 三十天免費, 全功能測試版下載網址 : http://www.jungo.com/st/download.html 歡迎從 Jungo 官網下載完整的 Windriver 白皮書 使用手冊 技術文件, 網址為 http://www.jungo.com/st/support/support_windriver.html

二 使用 WinDriver 的七個步驟 1. 裝置 : a. 將您的設備插入 PC a. b. 安裝 WinDriver 2. 選擇您的硬體設備 : a. 開啟 DriverWizard: 選擇 Start Programs WinDriver DriverWizard ( 在 Windows 作業環境上註 : 若您的作業系統是 Windows 8 / 7 或 Vista, 您需要用管理員來驅動 DriverWizard b. 在視窗中點選 New host driver project c. DriverWizard 將會顯示所有在您主機中即插即用的插卡 d. 若您的設備是屬於即插即用類型, 您可從設備清單中直接點選 ; 若您的設備是屬於非即插即用 (ISA) 類型, 您可點選 ISA card 選項來自行定義您的設備來源; 若您要針對非附加的 PCI 設備來產生編碼, 請選擇 PCI: PCI Virtual Device 選項

3. 為您的即插即用設備進行下載 INF 檔案 ( 適用於 Windows 作業系統 ) 當您在 Windows 作業系統欲開發一個針對即插即用設備 (PCI / PCI Express/PCMCIA) 的驅動程式, 為了更準確的檢測設備資源以及使用 WinDriver 來與設備溝通, 您需要安裝 INF 檔案來註冊您的設備使 WinDriver 進行運作 DriverWizard 會自動建立 INF 檔案以及進行安裝步驟, 若您想透過 DriverWizard 來產生並安裝 INF 檔案, 請依照以下步驟 : a. 在 wizard 的 Select Your Device 目錄中點選 Generate. INF file DriverWizard 在檢測您的設備中會顯示供應商身份碼 設備身分碼 製造商名稱以及設備名稱等資訊, 您也可針對製造商名稱以及設備名稱進行修改

b. 當您在 Windows 環境下使用 DriverWizard, 您可以選擇自動安裝 INF 檔案, 執行步驟為 DriveerWizard 的產生 INF 對話視窗中點選 Automatically Install the INF file 若此步驟執行失敗時,DriverWizard 會提供您下載安裝指示 c. 點選 Next 來產生 INF 檔案並安裝 d. 若 INF 安裝完成, 您即可從上述的步驟 2 開始從清單中點選並開啟您的設備 註 : 若 Support Message Signaled Interrupts 選項能啟用, 您可用它產生 INF 來手動處理訊號中斷 (Message Signaled Interrupts) 或是處理延長訊號中斷 (Message Signaled Interrupts-X) 此為預設選項當您選擇針對虛擬的 PCI 設備來產生 INF 檔案時, 這是在 Windows Vista 或是更高階的作業系統中對於 MSI / MSI-X 狀況發生時所可做的選項 若想了解更多關於 MSI / MSI-X 以及 INF 檔案的資訊, 請參考 WinDriver PCI 使用手冊 4. 檢測 / 定義您的硬體資源 DriverWizard 將會自動檢測您所插入的即插即用設備來源 (I/O 記憶體 PCI 配置與中斷 ), 您可以自行定義其他資訊, 例如 : 給予設備定義中斷配置讀 / 寫的指令 針對非即插即用的設備類型 (ISA), 手動定義您的設備來源

5. 測試您的硬體 : 在撰寫驅動程式之前, 請務必確認您的硬體是如預期中可運作的情況下, 接著即可使用 DriverWizard 來診斷您的硬體 對 I/O 端口進行讀與寫 記憶體空間以及您定義的暫存器

" 監聽 " 您設備的中斷狀況 註 : 對於敏感層集的中斷狀況, 如同傳統的 PCI 中斷, 在 " 監聽 " 中斷前, 您必須使用 DriverWizard 來確定中斷情況註冊, 並且指定讀 / 寫指令以確認 ( 清除 ) 中斷, 否則 作業系統會當掉, 中斷狀況的確認情況是因設備而異的 6. 建立驅動程式編碼 a. 點選 Project Generate Code 工具列建立編碼 b. 請選擇您欲要開發的程式語言

c. 選擇您是否想要從驅動程式代碼處理即插即用和電源管理事件, 以及是否希望產生內核插件代碼 註 : 若您要在 Windows 作業系統中建立內核插件驅動程式, 請先安裝 Windows Driver Kit ( WDK) d. 點選 OK,DriverWizard 將會開始啟動您欲開發的環境 ( 如上述 Step b) DriverWizard 編譯後如下 : API 從應用端 ( 以及從內核端 ) 連結您的硬體 以上述的 API 建立的應用範例來連結您的硬體 Project/make files for all of the selected build environments. Project/Make 檔案是給

予所有的開發環境 An INF file for your device (for Plug-and-Play hardware on Windows). 您的設備 INF 檔案 ( 在 Windows 下給予隨插即用硬體 ) 7. 編譯與運行 使用 DriverWizard 產生的 project / make 檔案以及您剛所選擇的編譯器 編譯範例診斷應用程式並且運行, 這個範例即是您最終驅動程式的骨架結構 編修範例應用程式以符合您應用程式的需求, 或從其他 WinDriver 所提供的範例去產生符合您需求的驅動程式

三 常見問題問題一 : 請說明 WinDriver 的運作原理? 答 :WinDriver 驅動程式開發工具非常容易使用, 您只需要在使用者模式 (User mode) 發展驅動程式 ( 就像在撰寫應用程式的一部分, 或是單獨的 DLL), 透過您慣用的標準開發工具 (MS Visual Studio, Borland C++ Builder, Borland Delphi, Visual Basic 6.0, MS embedded Visual C++, MS Platform Builder C++,GCC, Windows GCC, etc.) 來開發與除錯 WinDriver 所開發的驅動程式 (YourApp.exe) 是利用 WinDriver 的核心模組來使用標準 WinDriver 功能 (windrvr6.sys/.dll/.o/.ko- 因不同作業系統而定 ) 來存取您的硬體 問題二 : 我該如何利用 WinDriver 來達到最佳性能? 答 : 在您的驅動程序開發完成後, 您可以輕易地利用 WinDriver 提供的核心插件 (Kernel PlugIn) 功能, 將程式中的效能關鍵部分轉移到核心模式執行 ( 例如 : 中斷處理函式,I / O 處理函式 等 ) 舉例來說 : 您可以先在用戶模式 (user mode) 撰寫您的中斷處理函式, 經過除錯和確認功能正確後, 再著手將這些程式碼轉換成核心插件 (Kernel PlugIn) 形式 如此您的中斷處理函式就會執行在核心層級, 藉此將會達到最高效能 此架構可讓您在用戶模式 (user mode) 下開發和除錯您的所有驅動程式碼, 過程中使用 WinDriver 的 API, 然後只需將性能的關鍵部分, 透過簡單的核心插件機制轉移到核心模式 (kernel mode) 執行 四 案例練習 下面的練習可讓您更了解 WinDriver 的功能, 您可先從 Jungo 官方網站下載 WinDriver 三十天 測試版進行此案例練習,http://www.jungo.com/st/download.html 案例一 : 從 PCI 記憶體進行讀取與寫入功能目標 : 學習如何讀寫一段 PCI 記憶體範圍, 以及學習如何定義暫存器 說明 : 本案例將展示如何透過 Driver Wizard 來讀寫您的 PCI 卡上的記憶體, 同時也會建立一個可以達到與 Driver Wizard 相同功能的應用程式 過程中, 將藉著對您的 PCI( 或 AGP) 顯示卡讀寫資料, 當作練習 執行步驟 : 1. 開啟 DriverWizard 點選 New host driver project, 當 Wizard 順利執行起來之後, 您可

以直接點選 New Device Driver Project, 或是從 File 功能表中選擇該選項 2. WinDriver 會列舉出您系統中的隨插即用裝置, 請從對話視窗中, 依照 製造供應商名稱 找到您的顯示卡, 並選擇該顯示卡 3. 於左側視窗中點選 Memory, 即可在右側視窗看到顯示卡所配置和佔用的記憶體區段 這些區段當中, 會有一段記憶體和螢幕的顯示之間存在著對應 (mapped) 關係, 換言之 : 該範圍內某個 byte 的資料, 是與螢幕上某個對應位置的像素 (pixel) 相符合的 ( 通常是 Bar 0 區段 ; 請尋找佔用記憶體區間範圍最大的 ) 依照上述原則, 於左側視窗選定適當的 BAR 記憶體區塊, 然後點選 Read/Write Memory 按鈕, 讀取剛才所選擇的 BAR 位址 - 位移 0 的資料 ( 位移 0- 位址的資料對應到螢幕畫面上顯示的左上角 ) 再來我們移動任意視窗, 使其改變螢幕左上角該角落像素的顏色, 並將內容值讀取回來觀察 如果讀回值有變化, 表示您可能已經正確的選擇到顯示記憶體區塊 接著我們嘗試修改該記憶體位址的內容值, 例如 : 嘗試將值交替的改為 FFFFFFFF( 顯示為白色亮點 ) 或 00000000( 顯示為黑色暗點 ), 如此便可看到該像素的顏色被改變! 註 : 請注意! 若您對錯誤的記憶體範圍進行寫入動作, 可能導致電腦無法運作 4. 定義一個暫存器並命名為 TopLeft, 來代表對應在畫面顯示的左上角像素,( 假如選擇了正確的顯示記憶體範圍並設定成位移 0 位址 ), 然後利用該暫存器來讀寫該像素的內容值 試著定義另一個暫存器, 位移值為 FF, 命名為 Somewhere ( 對應畫面上其他位置的像素, 以此類推 ) 5. 點選工具列的 Generate Code 圖示來產生程式碼, 或者點選 Project Generate Code, DriverWizard 會產生適當的函式來存取您的硬體資源 您可以在使用者模式中的應用程式中直接呼叫這些函式,DriverWizard 建立的範例應用程式也是使用這些函式來與您的硬體溝通 6. 開始進行編譯並執行此範例應用程式, 透過它來讀寫您的顯示卡 註 : 您可以複製剛才產生出來的專案原始程式碼, 到任何 WinDriver 所支援的作業系統 ---- Windows 8/7/Vista/Server 2008/Server 2003/XP, Windows CE 4.x 7.x (including Windows Mobile), and Linux, 進行重新編譯, 並且再度執行 ( 不需修改任何程式碼 ) 以下是 DriverWizard 在範例一所產生出來的部分 API, 其中 SCREENCARD 這個字串, 是 DriverWizard 在產生程式碼的過程中, 儲存專案時我們所設定的專案檔案名稱 ( 副檔名 wdp):

案例二 : 中斷處理目標 : 學習如何測試您硬體的中斷訊號, 以及如何撰寫中斷處理函式 說明 : 本案例我們利用 DriverWizard 來偵測 (listen) 軟碟機 (floppy disk) 所產生的中斷, 然後再用 DriverWizard 產生一個應用程式, 來示範用戶模式 (user mode) 下的中斷處理函式, 如何偵測並處理該中斷 執行步驟 : 1. 開啟 DriverWizard 點選 New host driver project, 當 Wizard 順利執行起來之後, 您可以直接點選 New Device Driver Project, 或是從 File 功能表中選擇該選項 2. WinDriver 會列舉出您系統中的隨插即用裝置, 由於我們將使用軟碟機 (floppy disk) 來練習, 所以在裝置選單中選擇 ISA 3. 點選右側視窗的 Add Resource 按鈕

定義至少一個以上的記憶體區塊 ( 可以是一段虛設或實際上不存在的記憶體範圍 ) 做法是從 Resource Type 下拉式選單中選擇 Memory Resource, 然後定義一段位址起迄範圍從 0x0 到 0x0 的區塊, 這是為了方便接下來能夠成功的編譯和產生相關的程式碼, 並用來測試軟碟機的中斷處理 當你完成後請按下 OK 4. 點選左側視窗的 ISA Device, 然後按下右側視窗的 Add Interrupt 按鈕 在 Interrupt number 欄位輸入 6, Type 選擇 Edge Triggered, 勾選 Shared 選項, 最後按下 OK 5. 點選您剛才建立的這個 Interrupt, 並按下 Listen to Interrupts 按鈕 為了能觀察到軟碟機 (floppy disk) 所發出的中斷, 我們稍後需要模擬軟碟機的存取動作 ( 舉例來說 : 在 DOS 命令視窗下, 鍵入 a: 切換工作磁碟指令 ; 或是在 Windows 檔案總管中點選 軟碟機 A: 圖示 ) 6. 點選工具列的 Generate Code 圖示來產生程式碼, 或者點選 Project Generate Code, DriverWizard 會產生適當的函式來存取您的硬體資源並處理您稍早定義的中斷 您可以在使用者模式中的應用程式中直接呼叫這些函式,DriverWizard 建立的範例應用程式也是使用這些函式來與您的硬體溝通 7. 編譯並執行範例應用程式 8. 利用範例應用程式來啟動 (enable) 剛才定義的中斷信號 以觀察軟碟機 (floppy disk) 產生的中斷 稍後您也可以修改中斷處理函式, 在函式中加入您自己的特定功能 註 : 使用 WinDriver 提供的核心插件 (Kernel PlugIn) 功能, 您的中斷 (interrupt) 和輸出輸入 (I/O) 呼叫會在核心模式 (kernel-mode) 中處理, 如此可以達到最佳效能