8 针 Linux - Dmitry.GR

这是一个基于 8 引脚芯片的小型 Linux 计算机项目,包括硬件设计、软件实现等方面:

  • 目标与需求:目标是设计一个能在家轻松组装、使用 8 引脚芯片的简单套件计算机,能运行 Debian Linux 等,所需硬件包括 8MB RAM、1 MIPS CPU、SD 卡、USB 等,芯片选择以 8 引脚为主,以适应无焊接经验者。
  • 硬件设计

    • 控制台:UART 引脚不能与其他引脚组合,占用 2 个引脚。
    • RAM:SPI PSRAM 支持 QSPI 模式,多数支持双 SPI,但 STM32G031 不支持,最终选择普通 SPI 访问 RAM,占用 4 个引脚。
    • SD 卡:通过将 RAM 的 nCS 作为 SD 卡的 CLK,RAM 的 CLK 作为 SD 卡的 CMD,RAM 的 MOSI 作为 SD 卡的 DAT,实现 SDIO 1 位协议,占用 1 个引脚,解决了引脚不足问题,但此方案不支持多块读写。
    • 控制台再次:分配引脚,将部分引脚用于 SWD 接口和串口,Bit-banging UART 传输用于串口发送。
  • 软件实现

    • 模拟器:复用已有的 MIPS 模拟器并编写 MIPS 到 ARMv6M 的 JIT,但因代码过大未用于本项目。
    • 启动加载程序:为实现固件更新等功能而设计,包括 SDIO 驱动、FAT 文件系统驱动等,大小约 8KB,可根据 SD 卡中的 FIRMWARE.BIN 文件更新固件,还可设置主应用程序的时钟速度。
    • 卡分区与启动过程:类似 PC 启动过程,从 SD 卡的第一个扇区开始启动,依次加载各阶段程序,根文件系统为第三个分区,方便文件操作和时钟速度更改。
  • 性能:STM32G031 可通过调整内部调节器电压实现超时钟,在 148MHz 主机 CPU 速度下,模拟的 MIPS CPU 约相当于 1.65MHz MIPS R3000,能在约一分钟内启动 Debian 系统,可通过 /boot 安装.deb 包。
  • 组装与使用:可自行购买零件组装或等待购买套件,组装过程包括焊接 SD 卡插座、电容、电阻、微控制器、USB 到串口芯片等,编程启动加载程序后写入主固件并插入 SD 卡即可启动,启动后可运行各种工具,建议启用交换分区以避免内存不足。
  • 下载与使用文件:主要下载文件为 uMIPS.8PL.zip,包含原理图、gerbers、源代码等,使用时可根据说明写入 SD 卡并运行。
阅读 6
0 条评论