欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

面向嵌入式系統(tǒng)的顯示卡測試方法

文檔序號:6638326閱讀:476來源:國知局
專利名稱:面向嵌入式系統(tǒng)的顯示卡測試方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種顯示卡的測試方法,特別是涉及一種Qt/Embeded系統(tǒng)下顯示卡的測試方法。
背景技術(shù)
Qt/Embedded是著名的Qt庫開發(fā)商Trolltech公司開發(fā)的面向嵌入式系統(tǒng)的Qt版本,采用Server/Client結(jié)構(gòu)。Qt/Embedded延續(xù)了Qt在X Window(X Window簡稱X,為“Client-Server”結(jié)構(gòu)的圖形用戶接口,Client指的是在X Window下執(zhí)行的應(yīng)用程序,需要X Server為其服務(wù);Server指的是整個(gè)管理你的桌面的X Window系統(tǒng),稱為X Server。X Server除了負(fù)責(zé)GUI接口管理和提供Client端的服務(wù)之外,還管理系統(tǒng)資源和事件的發(fā)生和傳遞。Client和Server之間通過X Protocol進(jìn)行交互。X Protocol定義了Client和Server間資料發(fā)送、接收的結(jié)構(gòu)和規(guī)范,實(shí)現(xiàn)了本地和網(wǎng)絡(luò)相同的處理方法。)系統(tǒng)上的強(qiáng)大功能,在底層摒棄了Xlib,(The X Library(Xlib),是X Window最低階的程序設(shè)計(jì)接口,實(shí)際是對底層X Protocol的封裝,可通過該函數(shù)庫進(jìn)行一般的圖形輸出。)僅采用圖形緩沖區(qū)(FrameBuffer)作為底層圖形接口。
圖形緩沖區(qū)(FrameBuffer)是一種Linux內(nèi)核的控制臺圖形功能,在i386體系上主要的設(shè)備驅(qū)動(dòng)通過VESA BIOS(視頻電子標(biāo)準(zhǔn)協(xié)會基本輸入輸出系統(tǒng))完成,為圖形硬件提供了一個(gè)抽象概念。它代表一些視頻硬件的幀緩沖,允許應(yīng)用程序通過一個(gè)定義好的接口訪問圖形硬件。因此,軟件不需要知道任何關(guān)于低級設(shè)備(硬件寄存器)的信息。通過一個(gè)特殊的設(shè)備節(jié)點(diǎn)訪問幀緩沖設(shè)備,通常位于/dev目錄下,例如/dev/fb*。基于圖形緩沖區(qū)(FrameBuffer)的控制臺稱之為fbcon,這是一種獨(dú)立于硬件的抽象圖形設(shè)備。因?yàn)長inux是工作在保護(hù)模式下,所以用戶態(tài)進(jìn)程是無法像DOS那樣使用顯卡BIOS里提供的中斷調(diào)用來實(shí)現(xiàn)直接寫屏,故Linux抽象出圖形緩沖區(qū)(FrameBuffer)這個(gè)設(shè)備來供用戶態(tài)進(jìn)程實(shí)現(xiàn)直接寫屏。
Linux下的顯示卡測試,是對計(jì)算器系統(tǒng)進(jìn)行檢測的重要組成部分之一。目前業(yè)界對于顯示卡的測試,一般采用通過在監(jiān)視器顯示各種算法繪制的圖案(Pattern),由用戶判斷顯示是否正常。因此,對于顯示內(nèi)容的繪制實(shí)現(xiàn)方法,是目前各種顯示卡測試的重要核心問題之一。
當(dāng)前業(yè)界基于Linux系統(tǒng)的顯示卡測試顯示內(nèi)容的繪制實(shí)現(xiàn)方法,一般是在X windows上利用Xlib提供的圖形庫實(shí)現(xiàn)繪制。但是這樣就需要在創(chuàng)建顯示卡測試環(huán)境時(shí),啟動(dòng)Linux系統(tǒng)時(shí)加載Xlib圖形庫。因?yàn)榧虞dXlib圖形庫需要80M至100M的空間,并且因此需要一個(gè)較長的時(shí)間加載。這樣特別對于實(shí)際應(yīng)用中的計(jì)算器生產(chǎn)線測試而言,存在創(chuàng)建測試環(huán)境時(shí)間過于冗長,以及空間要求過高的問題。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于,提供一種面向嵌入式系統(tǒng)的顯示卡測試方法,其創(chuàng)建測試環(huán)境的時(shí)間及對空間的要求均較低,且不需加載Xlib即可完成Linux下顯示卡的測試。
因此,本發(fā)明的目的在于提供一種面向嵌入式系統(tǒng)的顯示卡測試方法,其步驟包括有測試初始化,其中測試初始化包括獲取當(dāng)前測試控制臺文件描述符,判斷是否需要切換該測試控制臺,設(shè)置端口I/O權(quán)限及改變I/O權(quán)限級別,LRMI初始化及設(shè)置當(dāng)前模式為圖形模式;保存當(dāng)前VESA圖形緩沖區(qū)(FrameBuffer)狀態(tài);設(shè)置測試顯示模式;繪制測試卡測試圖案;及恢復(fù)當(dāng)前VESA圖形緩沖區(qū)(FrameBuffer)狀態(tài),以減少顯示卡測試所需定制Linux系統(tǒng)的大小,提高生產(chǎn)線計(jì)算機(jī)生產(chǎn)顯示卡測試的空間(大約節(jié)省80M至100M空間)和時(shí)間效率,從而提升生產(chǎn)效率。而且本方法不需加載Xlib即可完成Linux下顯示卡的測試,為同樣開發(fā)基于未加載Xlib實(shí)現(xiàn)圖形開發(fā)的應(yīng)用程序提供了可能。
本發(fā)明還提供一種面向嵌入式系統(tǒng)的顯示卡測試方法,其步驟包括有測試初始化,其中測試初始化包括獲取當(dāng)前測試控制臺文件描述符,判斷是否需要切換該測試控制臺,設(shè)置端口I/O權(quán)限及改變I/O權(quán)限級別,LRMI初始化及設(shè)置當(dāng)前模式為圖形模式;設(shè)置測試顯示模式;繪制測試卡測試圖案;及重新設(shè)置顯示模式,在不支持VESA 4F404功能調(diào)用的機(jī)型上,在顯示卡測試結(jié)束后,按照圖形緩沖區(qū)(FrameBuffer)啟動(dòng)傳遞給Linux內(nèi)核的顯示啟動(dòng)模式進(jìn)行顯示模式重設(shè)置。可以減少顯示卡測試所需定制Linux系統(tǒng)的大小,提高生產(chǎn)線計(jì)算機(jī)生產(chǎn)顯示卡測試的空間(大約節(jié)省80M至100M空間)和時(shí)間效率,從而提升生產(chǎn)效率。而且本方法不需加載Xlib即可完成Linux下顯示卡的測試,為同樣開發(fā)基于未加載Xlib實(shí)現(xiàn)圖形開發(fā)的應(yīng)用程序提供了可能。
有關(guān)本發(fā)明的特征與實(shí)施例,現(xiàn)配合附圖詳細(xì)說明如下。


圖1為根據(jù)本發(fā)明方法VideoCard測試的模式(Mode)測試的流程圖;圖2為根據(jù)本發(fā)明方法在不支持VESA 4F04功能調(diào)用的機(jī)型上VideoCard測試的模式(Mode)測試的流程圖。
其中,附圖標(biāo)記步驟10,20 測試初始化步驟101,201獲取當(dāng)前測試控制臺文件描述符步驟102,202判斷是否需要切換該測試控制臺步驟103,203設(shè)置端口I/O權(quán)限及改變I/O權(quán)限級別步驟104,204LRMI初始化步驟105,205設(shè)置當(dāng)前模式為圖形模式步驟11 保存當(dāng)前VESA圖形緩沖區(qū)(FrameBuffer)狀態(tài)步驟12,21 設(shè)置測試顯示模式步驟13,22 繪制測試卡測試圖案步驟14 恢復(fù)當(dāng)前VESA圖形緩沖區(qū)(FrameBuffer)狀態(tài)步驟23 重新設(shè)置顯示模式具體實(shí)施方式
圖1為根據(jù)本發(fā)明方法VideoCard測試的Mode測試的流程圖。本測試方法其步驟包括有測試初始化(步驟10),其中測試初始化(步驟10)包括獲取當(dāng)前測試控制臺文件描述符Getfd(步驟101),判斷是否需要切換該測試控制臺(步驟102),如果需要,則進(jìn)行切換ChangeVT,利用ioperm設(shè)置端口I/O權(quán)限及利用iopl改變I/O權(quán)限級別(步驟103),LRMI(Linux Real ModeInterface,一種保護(hù)模式下的實(shí)模式接口)初始化(步驟104),以便支持VESAINT 10調(diào)用。及利用I/O總控制函數(shù)ioctl(0,KDSETMODE,KD_GRAPHICS)設(shè)置當(dāng)前模式為圖形模式(步驟105);保存當(dāng)前VESA圖形緩沖區(qū)(FrameBuffer)狀態(tài)(步驟11),利用VESA 4F04功能調(diào)用獲取當(dāng)前圖形緩沖區(qū)(FrameBuffer)狀態(tài),該步驟包括利用VESA 4F04功能調(diào)用一,獲取保存圖形緩沖區(qū)(FrameBuffer)所需內(nèi)存大小以及利用VESA 4F04功能調(diào)用二,保存圖形緩沖區(qū)(FrameBuffer)狀態(tài)兩個(gè)部分;利用VESA功能設(shè)置測試顯示模式(步驟12),設(shè)置VESA 4F02功能號,設(shè)置VESA 4F02功能調(diào)用設(shè)置所需測試顯示模式,INT 10虛擬中斷調(diào)用;繪制測試卡測試圖案(步驟13),繪制Mode測試紅綠藍(lán)漸變條紋;及利用VESA 4F04功能調(diào)用三,恢復(fù)測試前VESA圖形緩沖區(qū)(FrameBuffer)狀態(tài)(步驟14)。
圖2為根據(jù)本發(fā)明方法在不支持VESA 4F04功能調(diào)用的機(jī)型上視頻卡(VideoCard)測試的模式(Mode)測試的流程圖。本測試方法其步驟包括有測試初始化(步驟20),其中測試初始化(步驟20)包括獲取當(dāng)前測試控制臺文件描述符Getfd(步驟201),判斷是否需要切換該測試控制臺(步驟202),如果需要,則進(jìn)行切換ChangeVT,利用ioperm設(shè)置端口I/O權(quán)限及利用iopl改變I/O權(quán)限級別(步驟203),LRMI初始化(步驟204),以便支持VESA INT10調(diào)用,及利用I/O總控制函數(shù)ioctl(0,KDSETMODE,KD_GRAPHICS)設(shè)置當(dāng)前模式為圖形模式(步驟205);利用VESA功能設(shè)置測試顯示模式(步驟21),設(shè)置VESA 4F02功能號,設(shè)置VESA 4F02功能調(diào)用設(shè)置所需測試顯示模式,INT 10虛擬中斷調(diào)用;繪制測試卡測試圖案(步驟22),繪制模式(Mode)測試紅綠藍(lán)漸變條紋;重新設(shè)置顯示模式(步驟23),在顯示卡測試結(jié)束后,按照圖形緩沖區(qū)(FrameBuffer)啟動(dòng)傳遞給Linux內(nèi)核的顯示啟動(dòng)模式進(jìn)行顯示模式重設(shè)置,利用SetMode函數(shù)通過設(shè)置VESA 4F02功能號,設(shè)置VESA4F02功能調(diào)用設(shè)置所需測試顯示模式,INT10虛擬中斷調(diào)用。將測試后顯示模式設(shè)定為0×114,即VESA標(biāo)準(zhǔn)模式對應(yīng)的800×600×16bpp顯示模式。
雖然本發(fā)明以前述較佳實(shí)施例公開如上,但并非用以限定本發(fā)明。任何本領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許更動(dòng)與修改,因此本發(fā)明的專利保護(hù)范圍須視本說明書所附權(quán)利要求書所界定者為準(zhǔn)。
權(quán)利要求
1.一種面向嵌入式系統(tǒng)的顯示卡測試方法,其特征在于,其步驟包括有測試初始化,其步驟進(jìn)一步包括獲取當(dāng)前測試控制臺文件描述符;判斷是否需要切換該測試控制臺;設(shè)置端口I/O權(quán)限及改變I/O權(quán)限級別;LRMI初始化;設(shè)置當(dāng)前模式為圖形模式。保存當(dāng)前VESA圖形緩沖區(qū)狀態(tài);設(shè)置測試顯示模式;繪制測試卡測試圖案;恢復(fù)當(dāng)前VESA圖形緩沖區(qū)狀態(tài)。
2.如權(quán)利要求1所述的測試方法,其特征在于,如果需要切換該測試控制臺,則進(jìn)行切換。
3.如權(quán)利要求1所述的測試方法,其特征在于,設(shè)置測試顯示模式包括設(shè)置該VESA 4F04功能號、設(shè)置VESA 4F04功能調(diào)用設(shè)置所需測試顯示模式及INT 10虛擬中斷調(diào)用。
4.一種面向嵌入式系統(tǒng)的顯示卡測試方法,其特征在于,其步驟包括有測試初始化,其步驟進(jìn)一步包括獲取當(dāng)前測試控制臺文件描述符;判斷是否需要切換該測試控制臺;設(shè)置端口I/O權(quán)限及改變I/O權(quán)限級別;LRMI初始化;設(shè)置當(dāng)前模式為圖形模式。設(shè)置測試顯示模式;繪制測試卡測試圖案;重新設(shè)置顯示模式。
5.如權(quán)利要求4所述的測試方法,其特征在于,可依照圖形緩沖區(qū)啟動(dòng)傳遞給Linux內(nèi)核的顯示啟動(dòng)模式進(jìn)行顯示模式重設(shè)置,其步驟為設(shè)置VESA 4F04功能號;設(shè)置VESA 4F04功能調(diào)用設(shè)置所需測試顯示模式;INT 10虛擬中斷調(diào)用。
全文摘要
本發(fā)明涉及一種面向嵌入式系統(tǒng)的顯示卡的測試方法,其步驟包括有測試初始化,其中測試初始化包括獲取當(dāng)前測試控制臺文件描述符,判斷是否需要切換該測試控制臺,設(shè)置端口I/O權(quán)限及改變I/O權(quán)限級別,LRMI初始化及設(shè)置當(dāng)前模式為圖形模式。保存當(dāng)前VESA圖形緩沖區(qū)(FrameBuffer)狀態(tài);設(shè)置測試顯示模式;繪制測試卡測試圖案;及恢復(fù)當(dāng)前VESA圖形緩沖區(qū)(FrameBuffer)狀態(tài)。其創(chuàng)建測試環(huán)境的時(shí)間及對空間的要求均較低,且不需加載Xlib即可完成Linux下顯示卡的測試。
文檔編號G06F11/267GK1920790SQ20051009337
公開日2007年2月28日 申請日期2005年8月26日 優(yōu)先權(quán)日2005年8月26日
發(fā)明者王鵬, 陳玄同, 劉文涵 申請人:英業(yè)達(dá)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
绵阳市| 固安县| 弥勒县| 西平县| 苏尼特左旗| 古交市| 邹平县| 绿春县| 衡南县| 湖口县| 青岛市| 白城市| 江永县| 平湖市| 长寿区| 通榆县| 盐池县| 崇信县| 肥东县| 来宾市| 手游| 定远县| 辽宁省| 友谊县| 桐庐县| 湖州市| 青龙| 沾益县| 普定县| 蒲江县| 新乡市| 天门市| 马边| 兰西县| 宜阳县| 城口县| 富顺县| 杨浦区| 隆化县| 北流市| 抚顺市|