1、需求

想基于ESP32芯片做一个能玩FC、MD游戏的模拟器游戏机

2、硬件设计

ESP32通过SPI连接一块3.2寸的TF LCD屏,分辨率320x240

ESP32通过IIS连接音频解码模块,音频输出到耳机。

ESP32通过SD控制器连接TF卡,TF卡用于存放游戏资源

ESP32通过IIC并口扩展输入按键,用于手柄按键输入

ESP32通过蓝牙连接PS3手柄,使用PS3手柄作为控制器。

3、软件设计

软件分为两层,一层为组件sdk,一层为应用层。

组件sdk层主要是封装各个驱动,封装基本的控件接口,比如进度条等。

应用又分为3部分,第一部分是base程序,用于烧录游戏机管理软件play和各个游戏机主体。第二部分为游戏管理软件,用来选择启动哪种模拟器。第三部分为模拟器主体,分为FC、MD等。

3、分区表设计

5、启动流程分析

1、系统上电,ESP32芯片内部默认引导程序启动,这部分代码固化在芯片内,无法修改。然后从0x1000处加装第二阶段bootloader

2、bootloader的代码在idf中的component 目录下bootloader\subproject\main\bootloader_start.c

本阶段会读取分区表和OTA数据,根据OTA配置跳转到分区表对应的应用去执行,没有OTA数据的时候,默认从0x10000运行factory app,这里即base程序,等待烧录。

ESP32游戏机总体设计相关推荐

  1. 手把手教你用ESP32制作一个游戏机

    要学嵌入式,关注@我要学嵌入式,嵌入式猛男的加油站. 01  前言 MicroByte 是一款微型主机,能够运行 NES.GameBoy.GameBoy Color.Game Gear 和 Sega ...

  2. 手把手教你用ESP32 制作一个游戏机,小白可上手

    MAKER: JuanF92/译:趣无尽 相逢已是初识 MicroByte 是一款微型主机,能够运行 NES.GameBoy.GameBoy Color.Game Gear 和 Sega Master ...

  3. MicroByte:基于 ESP32 DIY 复古游戏机

    MAKER: JuanF92/译:趣无尽 相逢已是初识 MicroByte 是一款微型主机,能够运行 NES.GameBoy.GameBoy Color.Game Gear 和 Sega Master ...

  4. st7789屏幕+esp32+按键==游戏机?

    1.说在前面的 最近在学esp32,做个了小项目,可以ntp同步时间显示当天时间日期:还有快520了,给npy做个小东西送她,于是就有了这个,不说多了直接上图 主屏幕时间0.5s刷新一次,日期和星期6 ...

  5. 基于ESP32环境监测控制和预警(微信小程序)

    1.项目背景 随着科技的进步,人工智能逐渐发展,人们也越来越依赖科技的力量. 目前,科学技术发展十分迅速,其渗透到各行各业以及生活的方方面面,通过远程控制.预约控制.个性化设计.一键控制等功能进一步提 ...

  6. ESP32搞的NES游戏掌机

    本文转自立创开源硬件平台 作者:micespring 原文链接:https://oshwhub.com/micespring/esp32-nesemu ▌简介 一个基于ESP32制作的开源游戏掌机,可 ...

  7. 毕业设计 单片机太空游戏机设计与实现

    文章目录 1 简介 2 主要器件 2.1 硬件器件 3 实现效果 4 设计原理 4.1 器件连接 5 部分实现代码 6 最后 1 简介 Hi,大家好,今天向大家介绍一个学长做的单片机项目 基于单片机的 ...

  8. ESP32 经典蓝牙 连接 Xbox ONE 手柄

    文章目录 软件架构 框架/framework: 组件/components: branch Bytheway Code 基于ESPIDF HID例程修改而来,使用经典蓝牙和Xbox ONE 手柄连接并 ...

  9. 回顾SparkFun的micro:bit街机游戏机

    最近,我接触了SparkFun micro:arcade套件和micro:bit单板计算机. 对于想要构建和编程自己的街机游戏机和游戏的成年人和儿童来说,这是硬件的绝佳组合. micro:bit的规格 ...

最新文章

  1. HDU3342拓扑排序
  2. SpringBoot配置属性之NOSQL
  3. win10启动修复_win10下以安全模式启动电脑全攻略,装机、修复电脑故障必备
  4. Android NDK开发入门学习笔记(图文教程,极其详尽)
  5. apache arm 交叉编译_移植apache2 ARM版 – 交叉编译apache2 | 学步园
  6. python内建函数调用,Python 内建函数
  7. 瀑布流式页面布局_微信小程序——实现简单的瀑布流式布局
  8. wust2012级软件工程新生经验交流会草稿
  9. 制作linux u盘启动,制作Linux的U盘启动盘
  10. 数据结构c语言描述 试题,数据结构c语言版试题大全(含答案)
  11. N1烧USB供电跳线修复方法
  12. 美团外卖订单小票打印规范
  13. 银行测试(1)-我国的银行类型
  14. python-基础语法-glob.glob()
  15. 推荐一款高颜值网易云播放器
  16. 互联网行业的一些职位缩写
  17. 华为3D建模服务(3D Modeling Kit),轻松构建高质量3D模型
  18. 深入iOS系统底层之静态库介绍
  19. Android中的进程间通信(IPC机制)
  20. 无极-怎一个“烂”字了得?

热门文章

  1. 2022卡塔尔世界杯来了,谁是你心中的夺冠热门球队?
  2. 如何通过Darkvm注册阿里云国际版?
  3. [玩转UE4动画系统]教程的大纲及设计思路
  4. Android Webview使用自定义字体加载网页
  5. 2021-2027中国超声成像检查台市场现状及未来发展趋势
  6. 中国石油大学《输气管道设计与管理(含课程设计)》第二阶段在线作业
  7. diy 单片机 自动浇花_基于单片机的自动浇花器设计
  8. 电子计算机行业爆品打造,二类电商|爆品打造,不是你想造就能造
  9. 有1000个瓶子,其中有999瓶是水,1瓶是毒药
  10. excel怎么设置打印区域_用offset函数设置打印区域(有新增内容时自动扩展)