<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM Linux的Gameboy模擬器移植和優(yōu)化研究

基于A(yíng)RM Linux的Gameboy模擬器移植和優(yōu)化研究

作者: 時(shí)間:2009-02-25 來(lái)源:網(wǎng)絡(luò ) 收藏

引言

本文引用地址:http://dyxdggzs.com/article/152645.htm

  面向A R M構架的嵌入式操作系統的使用量這些年持續增長(cháng),在各種嵌入式操作系統中, L inux是獲得支持最多的第三大力量。

  目前, L inux支持包括610、A RM710、720T cores、ARM920T cores、StrongARM 110、StrongARM1100、XScale等系列的ARM處理器。

  是目前比較流行的8位掌上游戲機,通常被簡(jiǎn)稱(chēng)為GB,它的最終態(tài)Game Boy Color (GBC)是完全向后兼容的。Gnuboy是GB /GBC的軟件,是一種自由軟件,它是Qt系統的,能夠運行幾乎所有的黑白和彩色的GB /GBC游戲ROM,但運行復雜一些的游戲需要在速度上得到加強,同時(shí)它的聲音還沒(méi)有得到測試。

  Gnuboy已經(jīng)實(shí)現了i386匯編代碼的一些工作,能夠在奔騰機器上運行良好,除此之外,到目前為止,它能夠運行的平臺還很有限。隨著(zhù)嵌入式系統設計技術(shù)的發(fā)展,PDA、Smartphone等嵌入式產(chǎn)品的功能不斷地得到擴展,適應用戶(hù)的需要, Gnuboy在嵌入式產(chǎn)品中的應用非常具有前景。目前Gnuboy在A(yíng)RM 下還沒(méi)有得到很好的應用,本文就是在構建的ARM920T 的嵌入式平臺上對gnuboy運用進(jìn)行的嘗試性工作,同時(shí), Gnuboy作為一種虛擬機技術(shù),本文的工作對虛擬機技術(shù)在A(yíng)RM L inux中的應用也具有一定的價(jià)值。

  硬件環(huán)境

  本實(shí)驗測試板采用Motorola公司的MX1 Lite,系統的主要模塊有處理器內核模塊、用戶(hù)接口模塊、連接設備模塊等,如圖1所示,下面分別進(jìn)行介紹。

1)處理器內核模塊采用v4T體系結構的ARM920T 內核擁有16K的指令緩存和16K的數據緩存; 外部接口模塊提供了最多6 個(gè)片選信號來(lái)訪(fǎng)問(wèn)外部設備,其中連接的12Kx16bits的NOR Flash 經(jīng)過(guò)配置用于系統啟動(dòng); SDRAM 控制器提供了對使用32Mx32bits的SDRAM的訪(fǎng)問(wèn)控制。

  2)用戶(hù)接口模塊由于MX1 L ite沒(méi)有模擬信號處理模塊,無(wú)法直接接收觸摸屏的輸入,所以本系統采用了TI的TSC2301芯片來(lái)支持觸摸屏的輸入功能,它與主芯片通過(guò)連續外設接口協(xié)議連接,它不僅可以接收觸摸屏的輸入,而且它還支持聲音數模轉換和輸入輸出等功能; LCD 控制器用于給外部液晶顯示屏提供顯示數據,LCD采用了Sharp 的20x240 HR - TFT LCD,它支持觸摸屏輸入,分辨率為320x240。

  3)連接設備模塊包含有多媒體卡/數字安全主機控制模塊、內存棒控制器和智能卡接口,以此來(lái)連接用于外部存儲的多媒體卡。

  Gnuboy軟件結構和一些工具軟件

  Gnuboy是Qt系統的,可從圖2中看出它和整個(gè)系統的關(guān)系。本文構建的基于A(yíng)RM920T的嵌入式L inux平臺下采用的是嵌入式系統的QT 版本: QT/Embedded 和Qtop ia(QPE) ,這有助于。

QT/Embedded和Qtopia

  QT/Embedded和Qtopia是著(zhù)名的QT庫開(kāi)發(fā)商TrollTech開(kāi)發(fā)的基于Framebuffer、面向嵌入式系統的QT版本。它的特點(diǎn)是界面美觀(guān)、色彩配比好,使用與QT/Windows和QT/X11 完全一致的AP I接口,許多基于QT的程序可以非常方便地到嵌入式系統。Qtopia 包括了全套的個(gè)人信息管理PIM,如地址本、日程安排、游戲、配置工具等。QT/Embedded實(shí)現了對下層輸入設備的驅動(dòng)和底層圖形接口以及各基類(lèi)和AP I,它在編譯后生成函數庫被應用程序調用。Qtopia也是以客戶(hù)/服務(wù)器的方式,通過(guò)消息機制來(lái)管理各種應用程序。圖3描述了QT應用程序的執行方式及系統結構,其中X Server是核心。

一些工具軟件

  移植前需要在宿主機上建立ARM 的交叉編譯環(huán)境,主要用到的開(kāi)發(fā)工具包括三個(gè)部分: binutils、gcc、glibc。

  ● Binutils ― 用于操作二進(jìn)制文件的實(shí)用程序集合,包括諸如匯編器as、二進(jìn)制轉換工具( objdump、objcopy) 等這樣的實(shí)用程序;

  ● Gcc ― GNUC編譯器(C編譯器gcc和C + +編譯器g + + ) ;

  ● Glibc ―所有應用程序將鏈接到的C庫。

  可以直接從Internet上下載已經(jīng)編譯的二進(jìn)制文件安裝到PC機上,并相應設置比如路徑等這樣一些比較簡(jiǎn)單的參數即可使用,但必須保證編譯時(shí)所用的函數庫版本與目標板上運行時(shí)所使用的函數庫版本的一致。ARM Developer Suite它是全套的實(shí)時(shí)開(kāi)發(fā)軟件工具包,編譯器生成的代碼密度和執行速度優(yōu)異,可快速低價(jià)地創(chuàng )建ARM結構應用。

  移植和

  Gnuboy是一種虛擬機機制,它對具體硬件的操作是通過(guò)操作系統(這里是L inux)來(lái)進(jìn)行的,圖4 為它對基于A(yíng)RMlinux平臺硬件操作的抽象層次。

這個(gè)抽象層次也適用于在A(yíng)RM 平臺下用C語(yǔ)言編寫(xiě)的一般虛擬技術(shù)應用。越是頂層越是抽象,代碼可移植性就越好;越是底層,越是硬件相關(guān),代碼可移植性就越差,但代碼執行速度越快。這也是一般虛擬機移植和思想的體現,提高移植性,多運用抽象的接口,提高速度,多一些直接操作硬件的代碼。

  移植

  Gnuboy在此平臺上的正確運行需要解決中斷、提供Framebuffer支持、數據存儲格式、字符串到64位整數轉換等問(wèn)題。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>