📁
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
  • 编译
  • 获取源代码
  • 修改源代码添加硬件平台
  • 进行编译
  • 运行使用
  • 配合GDB除错

Was this helpful?

  1. 3. MIPS32S CPU上的ucore教学操作系统

3.5 QEMU介绍

Previous3.4 U-Boot的移植过程Next3.6 ucore编译方法

Last updated 5 years ago

Was this helpful?

QEMU可以用来模拟MIPS系统。通过修改其源代码可以模拟真实的硬件平台,并且配合GDB可以对操作系统进行除错。

编译

为使用QEMU模拟特殊的硬件平台,需要自行进行配置及编译。

获取源代码

从QEMU主页可以找到下载。

修改源代码添加硬件平台

根据的结构以及地址空间分配,添加新的硬件平台。

进行编译

准备一个编译文件夹,在其中执行源码目录下的configure进行配置,并根据情况关闭不需要的功能。模拟SoC_up所需要的target为mipsel-softmmu。

配置完成后,执行make即可进行编译。编译完成的模拟器位于mipsel-softmmu/qemu-system-mipsel。

运行使用

 $ ./mipsel-softmmu/qemu-system-mipsel -machine soc_up -serial stdio -kernel ../ucore-thumips/flash.img

配合GDB除错

QEMU的-s选项可以开启GDB的除错接口。如果需要在启动时暂停CPU,可以加上-S选项。

GDB可以使用target remote <host>:<port>命令连接GDB。

具体的使用说明可以参考。需要模拟SoC_up时,可使用如下的参数启动:

主页
SoC_up介绍
Patch文件
QEMU的文档