如何将一个开源游戏移植给一款32位微控制器
时间:05-26
来源:互联网
点击:

Appli文件夹包含IDE项目以及硬件驱动源码,如TFT屏幕。该文件夹包含硬件应用板的说明(在我们这里是STM3210E-EVAL),它还包含了STM32库,用于管理电路板硬件和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显示器的集成,我们现在还能体验到这些游戏。
LCD ARM 电路 C语言 嵌入式 意法半导体 STM32 Cortex 显示器 半导体 相关文章:
- 采用灵活的汽车FPGA 提高片上系统级集成和降低物料成本(04-28)
- 从LCD电极读数的单片机接口技术(01-15)
- 嵌入式Linux下彩色LCD驱动的设计与实现(03-09)
- 基于FPGA的液晶显示控制器设计(02-17)
- LCD部分专业术语解释(03-06)
- 点阵LCD的驱动显控原理(上册)(03-20)
