Computer System Project for Loongson FPGA Board in 2017
本仓库维护了一个计算机系统综合实验参考实现,内容包括所有的实验参考代码和文档。这个实现的目标如下。
- 实现一个可运行龙芯FPGA实验板上的MIPS32S CPU(也可以直接使用龙芯的开源MIPS32 CPU),并支持串口、键盘、鼠标、VGA等简单外设;
- 移植32位监控程序到MIPS32S CPU上;
- 移植教学操作系统ucore到MIPS32S CPU上;
- 移植Linux操作系统到MIPS32S CPU上;
- 在ubuntu 16.04上实现一个交叉编译器,可以把符合decaf或C0的应用程序编译成MIPS32S上的应用程序,并在ucore或Linux上运行;
- 进行其他可能的功能扩展。如,支持网络和调试工具等。
先有一个文档描述板子的硬件信息;然后有一个文档描述FPGA上实现的CPU和I/O设备,并定义FPGA对上提供的接口信息;第三个文档描述在这个FPGA硬件实现基础上操作系统实现和系统调用接口;最后一个文档是编译器的实现和编译器与操作系统间关于系统库和系统调用的接口。
所有文档都放在doc目录下,各部分内容分别放在单独的文件中或指向相关文档的链接。
-
soc_lite和soc_up介绍:这里介绍的是龙芯开源的两个经剪裁的MIPS32 CPU型号,soc_lite不带TLB,soc_up带TLB;
- Build the SoC for NSCSCC (Linux Only):基于docker的开发环境部署帮助文档;
- NaiveMIPS SoC源代码 / brd-NSCSCC分支: (NaiveMIPS SoC源代码在github上的备份)
- NaiveMIPS软硬件设计文档:(github上的副本)包含硬件实现及系统软件说明
- Test cases for MIPS CPU implementation
-
ucore-thumips / for-NSCSCC分支:与NaiveMIPS SoC搭配使用
- Linux 4.6 :(Linux 4.6在github上的备份)配置方法参见
NaiveMIPS软硬件设计文档
-
U-Boot :配置方法参见
NaiveMIPS软硬件设计文档
- 实验箱PS/2接口线序错误,需要制作转接线修正