littlebot
Published on 2025-04-11 / 0 Visits
0

【源码】基于STM32F4系列微控制器的Tomy Pyuuta ROM模拟器

项目简介

本项目是基于STM32F4系列微控制器的Tomy Pyuuta(或类似的教育型计算机)ROM模拟器,主要模拟一个文件系统ROM加载器,能够从SD卡读取并加载不同的ROM镜像文件,供Tomy Pyuuta或其他兼容机器执行。

项目的主要特性和功能

  1. 支持SD卡的低高级操作,包括文件系统初始化配置、文件读写以及目录遍历等。
  2. 具备中断处理程序,可处理非屏蔽中断、硬故障等硬件事件。
  3. 提供LED和按钮管理功能,用于调试与状态指示。
  4. 能够通过SD卡加载ROM镜像文件,并在Tomy Pyuuta或兼容机器上执行。
  5. 包含延时、字符串比较等实用工具函数。

安装使用步骤

前提条件

假设用户已下载本项目的源码文件,且拥有ARM GNU工具链、STM32F4DISCOVERY板固件包(STSW - STM32068)。

详细步骤

  1. 准备硬件:准备一个便宜的STM32F407VET6/VGT6板(带有micro - SD适配器)、一张micro SD卡、按钮等。按以下方式接线:
    • PA2和PA3分别接“NEXT”和“PREV”按钮到GND。
    • PE15至PE2接A2(MSB)到A15(LSB)。
    • PD15至PD8接D0(MSB)到D7(LSB)。
    • PC0接_CS_CROM0,PC1接_WE/CRUCLK。
    • GND接GND。 将板连接到Tomy Pyuuta顶部的墨盒插槽。
  2. 配置SD卡:将micro SD卡格式化为FAT32分区,在根目录创建名为“pyuuta”的目录,并将ROM cartridge镜像文件复制到该目录。
  3. 编译固件:在Linux系统下,使用ARM GNU Toolchain,进入项目目录,输入“make”命令编译固件。
  4. 烧录固件:参考transfer.sh脚本使用dfu - util烧录固件。需设置BOOT0和或BOOT1,使通过USB连接板时显示DFU设备,运行transfer.sh后移除BOOT0或BOOT1跳线。
  5. 运行程序:先给STM32F407板上电,再给Tomy Pyuuta上电。在主“GRAPHIC/G - BASIC/CARTRIDGE”屏幕选择“CARTRIDGE”启动游戏。可通过“NEXT”和“PREV”按钮切换SD卡上的墨盒镜像文件。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】