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

【源码】基于MIPS架构的ZJUNIX操作系统实验项目

项目简介

ZJUNIX是基于MIPS架构的精简操作系统内核,运行于自定义的FPGA硬件上,帮助开发者达成“在自己设计的计算机上运行自己的操作系统”的目标。此代码仓库为ZJUNIX的实验代码仓库,主要配合配套书籍开展实验,后续仅修复BUG,不进行功能性更新。

项目的主要特性和功能

  1. 架构适配:针对MIPS架构优化,支持MIPS指令集。
  2. 硬件掌控:可在自行设计的FPGA硬件上运行,直接控制和管理硬件资源。
  3. 内存调配:有内存管理模块,能分配和释放物理内存。
  4. 文件操作:实现FAT文件系统,支持文件的创建、删除、读写。
  5. 系统交互:提供系统调用接口,便于用户程序与内核交互。
  6. 命令执行:具备简单的命令行解释器,可执行用户定义命令。
  7. 文本处理:提供基本文本编辑功能,可加载、保存和编辑文件。
  8. 时间获取:实现系统时间管理,能获取和显示系统时间。

安装使用步骤

硬件准备

确保有支持MIPS架构的FPGA硬件。

环境配置

  1. 下载安装 Mips Toolchain
  2. 设置工具链路径:在程序根目录下的 config/tools.conf 中修改 TOOLCHAIN_DIR 为编译器二进制文件所在目录。
  3. 设置 make 路径:
    • 若使用Windows系统,修改 config/tools.conf 中的 MAKE 为 make 可执行文件所在路径。
    • 若使用Linux系统,注释该行。

编译内核

在源码根目录下执行make命令,可编译得到kernel.bin(操作系统内核文件)。也可使用以下命令: - make all / make objcopy 与直接执行make效果相同。 - make disassembly 可获得反编译文件kernel.txt。 - make clean 清理所有中间文件,包括子目录下的。 - make install INSTALL_DIR=path 编译并将kernel.bin复制到path目录下,完成系统镜像安装。

烧写FPGA

  1. 安装Digilent Adept。
  2. 连接JTAG线到SWORD板,上电并启动。
  3. 在Adept中点击Initialize Chain。
  4. 在主区域点击Browse选择.bit,点击Program烧写。

启动操作系统

  1. 取一张大于2GB的SD卡(推荐8GB),格式化分区为FAT32,簇大小4096 KB(若内存卡太大无法指定,可格式化为多个分区,将第一个分区设为此簇大小)。
  2. kernel.bin放在SD卡根目录下(如有多个分区,放在第一个分区根目录)。
  3. 将SD卡插入SWORD板,使用板卡右下方的RESET按钮重启系统,载入内核(如不成功可多次重启)。

注意事项

  1. 源码各目录下的Makefile请勿删除。
  2. 若工具路径含空格,config/tools.conf中对应路径需加双引号。
  3. kernel.bin文件名和路径不可修改,bootloader默认从第一个分区根目录寻找该文件载入。
  4. 若Adept出现Programming Failed提示,检查板卡是否开启。
  5. 重写Makefile时,确保arch/start.o是中间文件列表的第一项。

License

本项目遵循BSD3协议,允许在遵循协议的前提下自由使用、修改和分发代码。

下载地址

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