新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 如何将一个开源游戏移植给一款32位微控制器

如何将一个开源游戏移植给一款32位微控制器

作者:Pierre Berquin,意法半导体公司工程师 时间:2009-05-26 来源:电子产品世界 收藏

本文引用地址:https://www.eepw.com.cn/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 下一页

评论


相关推荐

技术专区

关闭