GamerZero 是面向 OpenEcos retroSoC/StarrySkyC2 开发板的嵌入式游戏机固件工程。工程包含 SSD1327 灰度 OLED 显示驱动、按键输入抽象、游戏启动器和多个内置小游戏,可作为 OpenEcos 嵌入式应用示例或小型掌机固件基础。
- SSD1327 128x96 4-bit 灰度 OLED 显示驱动
- 硬件按键读取与逻辑输入事件转换
- 游戏启动器与统一游戏生命周期接口
- 内置游戏:俄罗斯方块、贪吃蛇、2048、Dino
- 蜂鸣器与音乐模块接口
- 基于 ECOS SDK 和 RISC-V bare-metal 工具链构建
main.c、main.h:固件入口和平台公共包含Isrc/:项目公共头文件src/:通用驱动、启动器和游戏框架game/:内置游戏实现music/:音乐播放模块configs/:当前 ECOS SDK 配置输出scripts/:构建与配置辅助 makefilemedia/:媒体资源说明和占位目录
构建前需要准备:
- ECOS SDK
- RISC-V bare-metal 交叉编译工具链,命令前缀为
riscv64-unknown-elf- - GNU Make
设置 ECOS SDK 路径:
export ECOS_SDK_HOME=/path/to/ecos-sdk当前配置中的固件名为 retrosoc_fw:
make retrosoc_fw构建产物会生成到 build/ 目录,包括 ELF、BIN、HEX、反汇编文本和内存统计信息。build/ 是生成目录,不纳入版本控制。
如需重新配置板级和驱动选项:
make menuconfig如需保存最小配置:
make savedefconfig只清理构建产物:
make clean清理生成配置:
make clean_config清理构建产物和生成配置:
make clean_all欢迎通过 Issue 和 Pull Request 参与改进。提交贡献前请阅读 CONTRIBUTING.md,并遵守 CODE_OF_CONDUCT.md。
本项目遵循 Apache License 2.0 开源协议,详见 LICENSE。