• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 如何將一個開源游戲移植給一款32位微控制器

    如何將一個開源游戲移植給一款32位微控制器

    作者:Pierre Berquin,意法半導體公司工程師 時間:2009-05-26 來源:電子產品世界 收藏

    本文引用地址:http://www.czjhyjcfj.com/article/94728.htm

      意法半導體提供一個非常有用的軟件庫,它包含很多M32功能管理實例。在這次移植中,軟件庫用于編寫TFT顯示器硬件的驅動。圖5表示架構需要的項目,Wolfenstein 3D文件夾包含兩個子文件夾。

      Appli文件夾包含IDE項目以及硬件驅動源碼,如TFT屏幕。該文件夾包含硬件應用板的說明(在我們這里是M3210E-EVAL),它還包含了M32庫,用于管理電路板硬件和IDE項目。Wolfenstein 3D的源碼用庫函數作硬件驅動。

      “source”文件夾包含了Wolfenstein 3D的原始源碼,源碼中所有指令或函數都不與應用板硬件直接交互,子文件夾“portable”包括用于在游戲原始代碼與代碼執行目標硬件之間建立連接的函數。在我們這種情況下,我們還有一個子文件夾STM3210E-EVAL,這個文件夾包含調用應用板硬件的函數。

      讓我們看一下顯示管理的例子。Wolfenstein 3D源碼包含一個VW_UpdateScreen函數,這個函數根據內部視頻緩沖的內容刷新TFT屏幕,于是需要驅動TFT屏幕。因此,它必須在文件夾“portable/STM3210E-EVAL”中定義。VW_UpdateScreen函數會調用在文件夾“appli/ STM3210E-EVAL”中定義的基本函數(驅動)。

      文件夾“source/portable/STM3210E-EVAL/”包含與編譯器兼容的類型說明與定義。通過這種方法處理,就能夠將一個目標的源碼移植到另一個目標,而無需修改復雜的源文件。舉個有用的例子,源碼要轉換到一個不同映射的STM32應用,它有不同的接口硬件,或編譯器有改變。這時只需要為新的目標更新“appli/STM3210E-EVAL/”和“source/portable/STM3210E-EVAL/”文件夾中的約束文件。結果在圖6中。它看似90年代的一款口袋機游戲。

      采用C編寫的老式PC游戲的源碼現在仍能從互聯網上獲得。多虧有的強大性能和LCD顯示器的集成,我們現在還能體驗到這些游戲。

    單片機相關文章:單片機教程


    單片機相關文章:單片機視頻教程


    單片機相關文章:單片機工作原理



    上一頁 1 2 3 4 5 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 南靖县| 余姚市| 彭阳县| 东台市| 山东| 绥江县| 银川市| 玉山县| 上思县| 礼泉县| 扶风县| 两当县| 三明市| 丹东市| 方山县| 射洪县| 丽水市| 保亭| 余姚市| 巴东县| 宁蒗| 白玉县| 肃北| 甘谷县| 丹凤县| 平舆县| 四子王旗| 伊春市| 胶州市| 微山县| 织金县| 娄底市| 丰镇市| 陈巴尔虎旗| 罗定市| 新安县| 潜山县| 涞源县| 富蕴县| 奉节县| 哈尔滨市|