📁
loongsoncsprj2020-manual
  • 1. 简介
  • 1.1龙芯实验箱介绍
  • 1.2实验箱测试流程
  • 2. 基于FPGA的MIPS32SCPU实现
    • 2.1 Vivado开发环境
      • 2.1.1 Vivado环境的安装
      • 2.1.2 Vivado的基本使用
      • 2.1.3 Vivado和实验板的连接
    • 2.2 基于soc_up的移植过程
      • 2.2.1 Flash的烧录
      • 2.2.2 FPGA固化方法
      • 2.2.3 串口工具的使用
      • 2.2.4 TFTP服务器的搭建及使用
      • 2.2.5 Liunx内核的移植过程
    • 2.3 ROM的初始化
      • 2.3.1 ROM的初始化过程
      • 2.3.2 测试程序编译流程
    • 2.4 基于NaiveMIPS的移植过程
      • 2.4.1 NavieMIPS的综合运行
      • 2.4.2 supervisor的启动过程
      • 2.4.3 U-Boot的启动过程
      • 2.4.4 ucore的启动过程
    • 2.5 ILA的使用方法
  • 3. MIPS32S CPU上的ucore教学操作系统
    • 3.1 make 命令的使用
    • 3.2 交叉工具链介绍
    • 3.3 交叉编译环境的配置
    • 3.4 U-Boot的移植过程
    • 3.5 QEMU介绍
    • 3.6 ucore编译方法
    • 3.7 龙芯编译环境配置
    • 3.8 对supervisor交互程序term.py的修改
  • 4. MIPS32S上的C0编译器实验
  • 系统集成
Powered by GitBook
On this page

Was this helpful?

2. 基于FPGA的MIPS32SCPU实现

为了方便在龙芯FPGA开发板了完成一个MIPS32S CPU的实现工作,我们在这里首先讨论Vivado开发环境的搭建过程。再描述如何利用龙芯公司的MIPS32 IP核soc_up和已编译好的Linux系统来体验跑一个真实操作系统的过程。然后尝试把自己的一个小汇编程序写到ROM中执行,从而对如何程序在CPU的运行的过程有一个感性的认识。

为了理解自己写CPU的过程,这一章节也会基于2017年龙芯杯比赛中清华队的NaiveMIPS来跑supervisor、U-Boot和ucore这三个逐渐复杂的小系统。

为了理解CPU实现过程中的错误调试方法,最后还会描述如何使用vivado下的Debug IP核ILA。

Previous1.2实验箱测试流程Next2.1 Vivado开发环境

Last updated 5 years ago

Was this helpful?