两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種國(guó)產(chǎn)自主嵌入式計(jì)算機(jī)系統(tǒng)及其顯卡驅(qū)動(dòng)方法

文檔序號(hào):6634507閱讀:574來(lái)源:國(guó)知局
一種國(guó)產(chǎn)自主嵌入式計(jì)算機(jī)系統(tǒng)及其顯卡驅(qū)動(dòng)方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種國(guó)產(chǎn)自主嵌入式計(jì)算機(jī)系統(tǒng)及其顯卡驅(qū)動(dòng)方法,包括龍芯2F中央處理單元和SM722顯示芯片,SM722顯示芯片通過(guò)PCI總線與龍芯2F相連。其顯卡驅(qū)動(dòng)方法包括對(duì)支持SM712的固件層驅(qū)動(dòng)修改和操作系統(tǒng)內(nèi)核層驅(qū)動(dòng)修改,實(shí)現(xiàn)了龍芯搭載原本并不支持MIPS框架和PCI總線的SM722顯示芯片,從而具備更強(qiáng)的性能,能提升產(chǎn)品的人機(jī)交互性能及圖形顯控性能,擴(kuò)展了龍芯2F處理器應(yīng)用領(lǐng)域。
【專(zhuān)利說(shuō)明】一種國(guó)產(chǎn)自主嵌入式計(jì)算機(jī)系統(tǒng)及其顯卡驅(qū)動(dòng)方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種嵌入式計(jì)算機(jī)系統(tǒng),特別涉及一種國(guó)產(chǎn)自主嵌入式計(jì)算機(jī)系統(tǒng)及其顯卡驅(qū)動(dòng)方法。

【背景技術(shù)】
[0002]龍芯2F處理器是龍芯中科技術(shù)有限公司研制的具有完全自主知識(shí)產(chǎn)權(quán)的國(guó)產(chǎn)高性能、低功耗處理器,主要面向行業(yè)電腦終端、云計(jì)算終端,三網(wǎng)融合、工業(yè)控制、網(wǎng)絡(luò)安全、特種計(jì)算機(jī)等應(yīng)用領(lǐng)域。目前龍芯2F僅支持PCI高速外設(shè)總線。
[0003]PCI是由Intel公司1991年推出的一種局部總線。從結(jié)構(gòu)上看,PCI是在CPU和原來(lái)的系統(tǒng)總線之間插入的一級(jí)總線,具體由一個(gè)橋接電路實(shí)現(xiàn)對(duì)這一層的管理,并實(shí)現(xiàn)上下之間的接口以協(xié)調(diào)數(shù)據(jù)的傳送。由于PCI總線只有133MB/S的帶寬,對(duì)聲卡、網(wǎng)卡、視頻卡等絕大多數(shù)輸入/輸出設(shè)備顯得綽綽有余,但對(duì)性能日益強(qiáng)大的顯卡則無(wú)法滿(mǎn)足其需求。目前PCI接口的顯卡已經(jīng)不多見(jiàn)了,只有較老的PC上才有,廠商也很少推出此類(lèi)接口的產(chǎn)品。
[0004]因此當(dāng)前大部分顯卡的接口都為帶寬更高的AGP或者PC1-E總線接口,支持PCI總線的顯卡芯片十分有限。因此,目前市場(chǎng)上已與2F配套使用的顯卡芯片僅有SiliconMot1n公司的SM712和SiS公司的SiS 315兩款,使得龍芯2F的應(yīng)用領(lǐng)域相對(duì)受限。
[0005]SM712是一款由Silicon Mot1n早在二十世紀(jì)90年代推出的嵌入式2D圖形加速芯片,雖然功耗低,僅600mW,但是性能低下,不支持3D圖形加速等致命缺點(diǎn)使得其難以滿(mǎn)足現(xiàn)代嵌入式系統(tǒng)對(duì)圖形計(jì)算性能的需求。SiS 315是SiS于2000年推出的顯卡產(chǎn)品,雖然其支持3D加速和視頻處理,但其作為當(dāng)時(shí)的通用顯卡,功耗較高,且3D圖形和視頻處理能力仍十分有限。
[0006]而SM722是Silicon Mot1n公司于2001年推出的一款面向當(dāng)時(shí)高端筆記本電腦、支持電源動(dòng)態(tài)管理、支持3D圖形操作(如Mip Mapping、Alpha Blending、Anti_Aliasing、Specular Highlight和Fog等)的高端顯示芯片,曾經(jīng)被Thinkpad S30筆記本電腦選用,是一款性能較好、支持功耗管理的新一代顯卡芯片,而且功能全面、性能強(qiáng)勁、且支持動(dòng)態(tài)電源管理的顯卡芯片,能很好的滿(mǎn)足現(xiàn)在普通嵌入式顯控系統(tǒng)的顯示需求。
[0007]龍芯處理器采用簡(jiǎn)單指令集,類(lèi)似于MIPS指令集;龍芯平臺(tái)計(jì)算機(jī)使用PMON(Prom Monitor)作為基本輸入輸出系統(tǒng)(B1S)。PMON是一個(gè)兼有B1S和BootLoader功能的開(kāi)源軟件,PMON具有強(qiáng)大而豐富的功能,除基本的1/0功能外,還包括硬件初始化與檢測(cè)、操作系統(tǒng)引導(dǎo)和程序調(diào)試等功能。主要應(yīng)用于MIPS、ARM、PowerPC等平臺(tái),不同于X86架構(gòu)的B1S。而SM722與SM712相比存在較大的差異,沒(méi)有針對(duì)MIPS架構(gòu)開(kāi)發(fā)的相應(yīng)軟件(包括固件層驅(qū)動(dòng),內(nèi)核層驅(qū)動(dòng)和支持顯控系統(tǒng)運(yùn)行的操作系統(tǒng))可以使用,使得當(dāng)前業(yè)界沒(méi)有使用SM722顯卡與龍芯2F搭建計(jì)算機(jī)系統(tǒng)的先例。


【發(fā)明內(nèi)容】

[0008]本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種國(guó)產(chǎn)自主嵌入式計(jì)算機(jī)系統(tǒng)及其顯卡驅(qū)動(dòng)方法,實(shí)現(xiàn)了采用MIPS框架的龍芯2F的搭載原本不支持MIPS架構(gòu)的SM722圖形顯卡,性能高,功耗低。
[0009]本發(fā)明的技術(shù)方案為:
[0010]一種國(guó)產(chǎn)自主嵌入式計(jì)算機(jī)系統(tǒng),包括龍芯2F中央處理單元和SM722顯示芯片,所述SM722顯示芯片通過(guò)PCI總線與所述龍芯2F相連;
[0011 ] 進(jìn)一步地,所述龍芯2F中央處理單元和SM722顯示芯片表貼于同一片電路印制板上或表貼于不同的電路印制板上,基于PCI插槽或背板PCI走線通信連接。
[0012]進(jìn)一步地,所述PCI總線為32位33MHz/66MHz的PCI總線。
[0013]一種國(guó)產(chǎn)自主嵌入式計(jì)算機(jī)系統(tǒng)的顯卡驅(qū)動(dòng)方法,采用上述的系統(tǒng),驅(qū)動(dòng)方法包括:
[0014](I)固件層驅(qū)動(dòng):
[0015]進(jìn)入pmon的源碼所在目錄,使用文本編輯器打開(kāi)其中的支持SM712顯示芯片的顯卡驅(qū)動(dòng)源文件【sys\dev\pci\smtc2d.C】并進(jìn)行如下修改:
[0016]a.將幀緩沖區(qū)FrameBuffer的基地址修改為0x18200000 ;
[0017]b.將1寄存器空間的基地址修改為0xl80C0000 ;
[0018]c.將繪圖端口寄存器DPR空間的基地址修改為0x18000000 ;
[0019]d.將視頻端口寄存器VPR空間的基地址修改為0x18000800 ;
[0020]e.將顯存【顯示芯片內(nèi)部?jī)?nèi)存的一部分,在SM722中,就是指幀緩沖區(qū)FrameBuffer]空間大小調(diào)整為8MB ;
[0021]f.將顯示芯片內(nèi)部?jī)?nèi)存【SM722內(nèi)部集成的存儲(chǔ)模塊】工作時(shí)鐘頻率MCLK設(shè)置在64MHz—129MHz 范圍內(nèi);
[0022](2)操作系統(tǒng)內(nèi)核層驅(qū)動(dòng):
[0023]進(jìn)入操作系統(tǒng)內(nèi)核的源碼所在目錄,使用文本編輯器打開(kāi)其中的顯卡驅(qū)動(dòng)源文件【kernel_dir/drivers/staging/sm7xx/smtcfb.C】并進(jìn)行如下修改:
[0024]g.將幀緩沖區(qū)FrameBuffer的基地址修改為0x18200000 ;
[0025]h.將1寄存器空間的基地址修改為0xl80C0000 ;
[0026]1.將繪圖端口寄存器DPR空間的基地址修改為0x18000000 ;
[0027]j.將視頻端口寄存器VPR空間的基地址修改為0x18000800 ;
[0028]k.將顯存空間大小調(diào)整為8MB ;
[0029]1.將顯示芯片內(nèi)部?jī)?nèi)存工作時(shí)鐘頻率MCLK設(shè)置在64MHz — 129MHz范圍內(nèi);
[0030]對(duì)映射函數(shù)smtc_map_smem進(jìn)行修改,將巾貞緩沖區(qū)FrameBuffer的起始地址【即變量 sfb_>fb.fix.smem_start】加上 2MB【代碼為:sfb_>fb.fix.smem_start+ = 0x200000】,長(zhǎng)度【即變量 sfb_>fb.fix.smem_len】減去 2MB【代碼為:sfb_>fb.fix.smem_len_ = 0x200000],以保證其它應(yīng)用程序能獲取到正確的幀緩沖區(qū)FrameBuffer的基地址;
[0031]所述顯示芯片內(nèi)部?jī)?nèi)存工作時(shí)鐘頻率MCLK的計(jì)算公式為:
[0032]MCLK = 14.31818MHz X MNR+MDR
[0033]其中MNR為MCLK的鎖相環(huán)分子寄存器,MDR為MCLK的分母寄存器。
[0034]進(jìn)一步地,通過(guò)在pmon的源碼所在目錄下的顯卡驅(qū)動(dòng)源文件【sys\dev\pci\smtc2d.c]中添加以下函數(shù)實(shí)現(xiàn)固件層2D硬件加速功能和真彩色功能:
[0035]①添加幀緩沖區(qū)區(qū)域拷貝函數(shù)deCopy,驅(qū)動(dòng)顯示芯片內(nèi)部的內(nèi)存拷貝模塊來(lái)實(shí)現(xiàn)圖形移動(dòng)加速;
[0036]②添加矩形色彩填充函數(shù)deFillRect,驅(qū)動(dòng)顯示芯片內(nèi)部的矩形區(qū)域色彩填充模塊來(lái)實(shí)現(xiàn)區(qū)域填充硬件加速;
[0037]添加上述函數(shù)后,在cfb_console.c【彩色幀緩沖控制臺(tái)驅(qū)動(dòng)】源文件中定義宏VIDEO_HW_BITBLT【圖形驅(qū)動(dòng)程序】,開(kāi)啟矩形復(fù)制和區(qū)域填充加速功能。
[0038]進(jìn)一步地,所述步驟f和I中,令MNR = 0x74, MDR = 0x14,從而將顯示芯片內(nèi)部?jī)?nèi)存工作時(shí)鐘頻率MCLK2設(shè)置為83.045MHz ο
[0039]寄存器、顯存空間大小,以及顯卡內(nèi)部?jī)?nèi)存工作時(shí)鐘頻率都是根據(jù)SM722的數(shù)據(jù)手冊(cè)來(lái)進(jìn)行設(shè)置的。顯卡內(nèi)部?jī)?nèi)存工作時(shí)鐘頻率范圍必須是64MHz?129MHz,根據(jù)計(jì)算公式,MNR和MDR中小于255的整數(shù)可以自由組合都可以。其中MNR = 0x74,MDR = 0x14是SM722的一個(gè)示例配置。
[0040]固件層驅(qū)動(dòng)和操作系統(tǒng)內(nèi)核層驅(qū)動(dòng)源文件的修改可以在x86平臺(tái)、Linux操作系統(tǒng)下,使用文本編輯器(如vim或gedit等)進(jìn)行。
[0041]有益效果:
[0042]1、本發(fā)明的嵌入式計(jì)算機(jī)系統(tǒng),使用MIPS框架的龍芯2F處理器,搭載了原本并不支持MIPS框架和PCI總線的SM722顯示芯片,從而具備更強(qiáng)的性能,能提升產(chǎn)品的人機(jī)交互性能及圖形顯控性能,擴(kuò)展了龍芯2F處理器應(yīng)用領(lǐng)域;
[0043]2、本發(fā)明的嵌入式計(jì)算機(jī)系統(tǒng)使用的SM722顯示芯片,具備動(dòng)態(tài)電源管理能力,使得產(chǎn)品的能耗比更高,提升產(chǎn)品的便攜性能,拓展產(chǎn)品在移動(dòng)終端領(lǐng)域的應(yīng)用范圍。

【專(zhuān)利附圖】

【附圖說(shuō)明】
[0044]圖1本發(fā)明硬件設(shè)計(jì)原理框圖;
[0045]圖2各模塊在SM712、SM722顯示芯片內(nèi)部?jī)?nèi)存空間的布局。

【具體實(shí)施方式】
[0046]以下將結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明。
[0047]一種國(guó)產(chǎn)自主嵌入式計(jì)算機(jī)系統(tǒng)及其顯卡驅(qū)動(dòng)方法,包括龍芯2F中央處理單元,SM722顯示芯片,SM722顯示芯片通過(guò)32位的33MHz/66MHz PCI總線與龍芯2F相連通信。
[0048]要實(shí)現(xiàn)搭載SM722顯示芯片的龍芯2F嵌入式計(jì)算機(jī)系統(tǒng),需要完全自主解決硬件設(shè)計(jì)、固件驅(qū)動(dòng)和操作系統(tǒng)驅(qū)動(dòng)開(kāi)發(fā)三大部分工作。參考Silicon Mot1n發(fā)布的SM722硬件設(shè)計(jì)指導(dǎo)手冊(cè)和參考設(shè)計(jì)完成硬件設(shè)計(jì),再利用現(xiàn)有支持SM712的pmon驅(qū)動(dòng)(龍芯中科技術(shù)有限公司提供,無(wú)詳細(xì)版本號(hào))和Linux顯卡驅(qū)動(dòng)(龍芯中科技術(shù)有限公司提供,如內(nèi)核版本號(hào)為2.6.36,顯卡驅(qū)動(dòng)版信息為vers1n 0.11.2619.21.0lJuly 27,2008)。參考SM722數(shù)據(jù)手冊(cè)完成硬件設(shè)計(jì)、SM722固件層、內(nèi)核層顯卡驅(qū)動(dòng)調(diào)試開(kāi)發(fā),能正常引導(dǎo)現(xiàn)有基于龍芯2F開(kāi)發(fā)的圖形操作系統(tǒng)(如中標(biāo)麒麟和共創(chuàng)桌面操作系統(tǒng))并顯示正常。
[0049]1、硬件設(shè)計(jì)
[0050]如圖1所示,本發(fā)明硬件設(shè)計(jì)原理框圖如圖1所示。如圖所示,本發(fā)明的國(guó)產(chǎn)自主嵌入式計(jì)算機(jī)系統(tǒng),包括龍芯2F中央處理單元,SM722顯卡芯片,所述SM722顯卡芯片通過(guò)PCI總線與所述龍芯2F相連。SM722顯卡芯片通過(guò)VGA接口與顯示設(shè)備相連。龍芯2F通過(guò)內(nèi)部集成的內(nèi)存控制器與IGB DDR2內(nèi)存表貼顆粒相連,其中IGB DDR2內(nèi)存由8塊128M的內(nèi)存芯片組成。龍芯2F還通過(guò)PCI總線連接雙千兆網(wǎng)絡(luò)控制器【82541 (I)和82541 (I),提供兩個(gè)LAN接口,LANl和LAN2】和南橋芯片CS5536,通過(guò)南橋芯片提供IDE接口和CF接口。龍芯2F還通過(guò)Local1控制器連接BOOTROM芯片,BOOTROM為系統(tǒng)啟動(dòng)ROM。SM722顯卡芯片通過(guò)32位33MHz/66MHz PCI總線與龍芯2F通信,它們既可以表貼于同一片電路印制板上,也可以在表貼于不同的電路印制板上,通過(guò)PCI插槽或者背板PCI走線進(jìn)行通信,以實(shí)現(xiàn)不同的計(jì)算機(jī)產(chǎn)品形態(tài);顯示內(nèi)容通過(guò)VGA接口輸出到顯示設(shè)備上。
[0051]2、固件層驅(qū)動(dòng)
[0052]固件層驅(qū)動(dòng)具備圖片和文本顯示以及簡(jiǎn)單2D加速能力,支持簡(jiǎn)單圖形開(kāi)發(fā)、日志打印以及通過(guò)菜單選擇引導(dǎo)操作系統(tǒng)等功能;
[0053]如圖2所示,因SM722較SM712在功能上具有較大差異,如圖2,根據(jù)各模塊在SM712、SM722顯示芯片內(nèi)部?jī)?nèi)存空間的布局可以看出,各模塊在SM712、SM722顯示芯片內(nèi)部?jī)?nèi)存空間布局完全不一樣,且SM722不僅增加了 3D圖形加速硬件,還增加了很多新的模塊。在驅(qū)動(dòng)開(kāi)發(fā)時(shí)需在SM712開(kāi)源驅(qū)動(dòng)的基礎(chǔ)上針對(duì)上述差異做出相應(yīng)的修改。
[0054]在固件中,首先針對(duì)固件中需要用到的幾個(gè)功能模塊內(nèi)存空間基地址進(jìn)行修改。
[0055]a.SM722的幀緩沖區(qū)(FrameBuffer)的基地址從SM712原來(lái)的0x18000000偏移2MB,設(shè)置為 0x18200000 ;
[0056]b.SM722 的 1 寄存器空間從 SM712 原來(lái)的 0x18700000 更改為 0xl80C0000 ;
[0057]c.SM722的繪圖端口寄存器(DPR)空間從SM712原來(lái)的0x18408000更改為0x18000000 ;
[0058]d.SM722的視頻端口寄存器(VPR)從SM712原來(lái)的0xl840C000更改為0x18000800 ;
[0059]e.顯存空間大小從SM712原來(lái)的2MB調(diào)整為8MB。
[0060]另外,還需要調(diào)整顯示芯片內(nèi)部?jī)?nèi)存工作時(shí)鐘頻率在64MHz?129MHz范圍內(nèi)。MCLK時(shí)鐘頻率計(jì)算公式為:
[0061]MCLK = 14.31818MHz X MNR+MDR
[0062]通過(guò)設(shè)置MCLK鎖相環(huán)分子寄存器(MCLKNumerator Register,MNR) (CCR6A)值為0x74,分母寄存器(MCLK Denominator Register, MDR) (CCRB)值為 0x14,從而將 SM722 內(nèi)置內(nèi)存頻率設(shè)置為83.045MHz ο
[0063]如果需要在固件層用到2D硬件加速功能和真彩色,需另外在pmon源碼目錄下顯卡驅(qū)動(dòng)源文件sys\dev\pci\smtc2d.c源文件中實(shí)現(xiàn)如下函數(shù):①實(shí)現(xiàn)巾貞緩沖區(qū)(Framebuffer)區(qū)域拷貝函數(shù)deCopy,通過(guò)驅(qū)動(dòng)顯卡芯片內(nèi)部的內(nèi)存拷貝操作來(lái)完成圖形移動(dòng)加速;②實(shí)現(xiàn)矩形色彩填充函數(shù)deFillRect,通過(guò)驅(qū)動(dòng)顯卡芯片內(nèi)部的矩形區(qū)域色彩填充模塊完成區(qū)域填充硬件加速。
[0064]添加上述函數(shù)后,在cfb_console.c【Color Framebuffer Console driverfor8/15/16/24/32bits per pixel.8/15/16/24/32比特每像素的彩色幀緩沖控制臺(tái)驅(qū)動(dòng)?!课募卸x宏 VIDE0_HW_BITBLT【graphic driver supports hardware bit bit 支持的硬件位BLT的圖形驅(qū)動(dòng)程序】即可開(kāi)啟簡(jiǎn)單加速功能。
[0065]3、操作系統(tǒng)內(nèi)核層驅(qū)動(dòng)
[0066]Linux操作系統(tǒng)內(nèi)核層驅(qū)動(dòng)支持Linux終端顯示、FrameBuffer圖形開(kāi)發(fā)以及基于FrameBuffer開(kāi)發(fā)的圖形系統(tǒng)顯示。
[0067]在內(nèi)核驅(qū)動(dòng)層除了要將SM722顯卡內(nèi)部模塊內(nèi)存空間按固件中的修改方式進(jìn)行調(diào)整外,為了保證顯示芯片內(nèi)部?jī)?nèi)存工作時(shí)鐘頻率MCLK在規(guī)定的64MHz-129MHz范圍內(nèi),需在顯卡驅(qū)動(dòng)源文件kernel_dir/drivers/staging/sm7xx/smtcfb.c中,對(duì)內(nèi)核層顯卡驅(qū)動(dòng)的消隱模式(blank mode)進(jìn)行修改。具體如下:
[0068]進(jìn)入操作系統(tǒng)內(nèi)核的源碼所在目錄,使用文本編輯器打開(kāi)其中的顯卡驅(qū)動(dòng)源文件【kernel_dir/drivers/staging/sm7xx/smtcfb.C】并進(jìn)行如下修改:
[0069]g.將幀緩沖區(qū)FrameBuffer的基地址修改為0x18200000 ;
[0070]h.將1寄存器空間的基地址修改為0xl80C0000 ;
[0071]1.將繪圖端口寄存器DPR空間的基地址修改為0x18000000 ;
[0072]j.將視頻端口寄存器VPR空間的基地址修改為0x18000800 ;
[0073]k.將顯存空間大小調(diào)整為8MB ;
[0074]1.將顯示芯片內(nèi)部?jī)?nèi)存工作時(shí)鐘頻率MCLK設(shè)置在64MHz — 129MHz范圍內(nèi);
[0075]設(shè)置MCLK 鎖相環(huán)分子寄存器(MCLK Numerator Register,MNR) (CCR6A)值為0x74,分母寄存器(MCLK Denominator Register, MDR) (CCRB)值為 0x14,從而將 SM722 顯示芯片內(nèi)部?jī)?nèi)存工作時(shí)鐘頻率設(shè)置為83.045MHz。操作系統(tǒng)內(nèi)核層設(shè)置的顯示芯片內(nèi)部?jī)?nèi)存工作時(shí)鐘頻率和固件層驅(qū)動(dòng)中設(shè)置的顯示芯片內(nèi)部?jī)?nèi)存工作時(shí)鐘頻率不是必須一致的,只要在規(guī)定的范圍內(nèi)即可。因?yàn)閮?nèi)核對(duì)穩(wěn)定性要求比較高,因此,也可以在固件中設(shè)置顯示芯片內(nèi)部?jī)?nèi)存工作時(shí)鐘頻率為100MHz,在內(nèi)核中設(shè)置顯示芯片內(nèi)部?jī)?nèi)存工作時(shí)鐘頻率為
83.045MHz,這也是顯卡數(shù)據(jù)手冊(cè)中推薦的頻率。
[0076]Linux內(nèi)核層顯卡驅(qū)動(dòng)是屏幕巾貞緩沖區(qū)(FramBufTer)驅(qū)動(dòng),其它應(yīng)用程序需要顯示圖形時(shí),需要通過(guò)特定接口將Framebuffer映射到應(yīng)用程序空間才能進(jìn)行圖形操作的。在 SM722 驅(qū)動(dòng)中,需對(duì) kernel_dir/drivers/staging/sm7xx/smtcfb.c 的映射函數(shù)smtc_map_smem進(jìn)行修改,當(dāng)顯卡芯片ID為0x720 (SM722顯卡芯片ID)時(shí),幀緩沖區(qū)的起始地址 sfb->fb.fix.smem_start 加上 2MB (0x200000),長(zhǎng)度)sfb->fb.fix.smem_len 減去2MB (0x200000),保證其它應(yīng)用程序能獲取到正確的Framebuffer基地址。
[0077]完成上述修改后,對(duì)固件和內(nèi)核進(jìn)行編譯和安裝。產(chǎn)品設(shè)計(jì)完成后,產(chǎn)品可以通過(guò)固件啟動(dòng)并進(jìn)入調(diào)試終端或引導(dǎo)操作系統(tǒng)啟動(dòng),操作系統(tǒng)啟動(dòng)后,可以進(jìn)入終端模式或圖形界面,從而支持上層應(yīng)用程序圖形開(kāi)發(fā),同時(shí)支持Linux動(dòng)態(tài)電源管理。
【權(quán)利要求】
1.一種國(guó)產(chǎn)自主嵌入式計(jì)算機(jī)系統(tǒng),其特征在于,包括龍芯2F中央處理單元和SM722顯示芯片,所述SM722顯示芯片通過(guò)PCI總線與所述龍芯2F相連。
2.根據(jù)權(quán)利要求1所述的國(guó)產(chǎn)自主嵌入式計(jì)算機(jī)系統(tǒng),其特征在于,所述龍芯2F中央處理單元和SM722顯示芯片表貼于同一片電路印制板上或表貼于不同的電路印制板上,基于PCI插槽或背板PCI走線通信連接。
3.根據(jù)權(quán)利要求1所述的國(guó)產(chǎn)自主嵌入式計(jì)算機(jī)系統(tǒng),其特征在于,所述PCI總線為32 位 33MHz/66MHz 的 PCI 總線。
4.一種國(guó)產(chǎn)自主嵌入式計(jì)算機(jī)系統(tǒng)的顯卡驅(qū)動(dòng)方法,其特征在于,采用權(quán)利要求1-3任一項(xiàng)所述的系統(tǒng),驅(qū)動(dòng)方法包括: (1)固件層驅(qū)動(dòng): 進(jìn)入pmon的源碼所在目錄,使用文本編輯器打開(kāi)其中的支持SM712顯示芯片的顯卡驅(qū)動(dòng)源文件并進(jìn)行如下修改: a.將幀緩沖區(qū)FrameBuffer的基地址修改為0x18200000; b.將1寄存器空間的基地址修改為0xl80C0000; c.將繪圖端口寄存器DPR空間的基地址修改為0x18000000; d.將視頻端口寄存器VPR空間的基地址修改為0x18000800; e.將顯存空間大小調(diào)整為8MB; f.將顯示芯片內(nèi)部?jī)?nèi)存工作時(shí)鐘頻率MCLK設(shè)置在64MHz— 129MHz范圍內(nèi); (2)操作系統(tǒng)內(nèi)核層驅(qū)動(dòng): 進(jìn)入操作系統(tǒng)內(nèi)核的源碼所在目錄,使用文本編輯器打開(kāi)其中的顯卡驅(qū)動(dòng)源文件并進(jìn)行如下修改: g.將幀緩沖區(qū)FrameBuffer的基地址修改為0x18200000; h.將1寄存器空間的基地址修改為0xl80C0000; 1.將繪圖端口寄存器DPR空間的基地址修改為0x18000000; j.將視頻端口寄存器VPR空間的基地址修改為0x18000800 ; k.將顯存空間大小調(diào)整為8MB ; 1.將顯示芯片內(nèi)部?jī)?nèi)存工作時(shí)鐘頻率MCLK2設(shè)置在64MHz — 129MHz范圍內(nèi); 對(duì)映射函數(shù)smtc_map_smem進(jìn)行修改,將巾貞緩沖區(qū)FrameBuffer的起始地址加上2MB,長(zhǎng)度減去2MB,以保證其它應(yīng)用程序能獲取到正確的幀緩沖區(qū)FrameBuffer的起始地址; 所述顯示芯片內(nèi)部?jī)?nèi)存工作時(shí)鐘頻率MCLK的計(jì)算公式為:
MCLK = 14.31818MHz X MNR+MDR 其中MNR為MCLK的鎖相環(huán)分子寄存器,MDR為MCLK的分母寄存器。
5.根據(jù)權(quán)利要求4所述的國(guó)產(chǎn)自主嵌入式計(jì)算機(jī)系統(tǒng)的顯卡驅(qū)動(dòng)方法,其特征在于: 通過(guò)在pmon的源碼所在目錄下的顯卡驅(qū)動(dòng)源文件中添加以下函數(shù)實(shí)現(xiàn)固件層2D硬件加速功能和真彩色功能: ①添加幀緩沖區(qū)區(qū)域拷貝函數(shù)deCopy,驅(qū)動(dòng)顯示芯片內(nèi)部的內(nèi)存拷貝模塊來(lái)實(shí)現(xiàn)圖形移動(dòng)加速; ②添加矩形色彩填充函數(shù)deFillRect,驅(qū)動(dòng)顯示芯片內(nèi)部的矩形區(qū)域色彩填充模塊來(lái)實(shí)現(xiàn)區(qū)域填充硬件加速; 添加上述函數(shù)后,在cfb_C0nS0le.c源文件中定義宏VIDEO_HW_BITBLT,開(kāi)啟矩形復(fù)制和區(qū)域填充加速功能。
6.根據(jù)權(quán)利要求4所述的國(guó)產(chǎn)自主嵌入式計(jì)算機(jī)系統(tǒng)的顯卡驅(qū)動(dòng)方法,其特征在于:所述步驟f和I中,令MNR = 0x74, MDR = 0x14,從而將顯示芯片內(nèi)部?jī)?nèi)存工作時(shí)鐘頻率MCLK 設(shè)置為 83.045MHz ο
【文檔編號(hào)】G06F9/44GK104360860SQ201410653610
【公開(kāi)日】2015年2月18日 申請(qǐng)日期:2014年11月17日 優(yōu)先權(quán)日:2014年11月17日
【發(fā)明者】趙丹, 許新達(dá), 王元圓, 羅凱, 劉志德, 鄒清揚(yáng), 龍川, 符鶴, 陳志才 申請(qǐng)人:長(zhǎng)城信息產(chǎn)業(yè)股份有限公司, 長(zhǎng)沙湘計(jì)海盾科技有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
靖州| 德令哈市| 张家港市| 顺昌县| 鄂托克前旗| 渝北区| 朝阳县| 巴楚县| 梅州市| 轮台县| 巴楚县| 庆安县| 梧州市| 红原县| 阿城市| 个旧市| 桐城市| 南丹县| 宝丰县| 苏州市| 毕节市| 循化| 伊川县| 陵川县| 冷水江市| 威海市| 蕉岭县| 霞浦县| 桂东县| 留坝县| 松溪县| 桃源县| 瓦房店市| 鄢陵县| 都昌县| 富顺县| 汉阴县| 繁昌县| 芜湖县| 高碑店市| 大名县|