📁
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
  • 1. 编写MIPS架构的汇编文件
  • 2. 将汇编程序进行编译链接
  • 2.1 GNU工具链的安装
  • 2.2 使用GNU工具进行编译链接

Was this helpful?

  1. 2. 基于FPGA的MIPS32SCPU实现
  2. 2.3 ROM的初始化

2.3.2 测试程序编译流程

1. 编写MIPS架构的汇编文件

文件中包含需要测试的指令

MIPS程序的基本模板如下:

# Comment giving name of program and description of function
# 说明下程序的目的和作用(其实和高级语言都差不多了)
# Template.s
#Bare-bones outline of MIPS assembly language program


           .data       # variable declarations follow this line
                    # 数据变量声明
                       # ...

           .text       # instructions follow this line    
               # 代码段部分                                                            
main:                  # indicates start of code (first instruction to execute)
                       # 主程序
                       # ...

# End of program, leave a blank line afterwards to make SPIM happy

2. 将汇编程序进行编译链接

2.1 GNU工具链的安装

cd /opt
tar vfxj mips-sde-elf-i686-pc-linux-gnu.tar.tar

然后打开用户主目录Home文件夹,在窗口菜单栏中选择View->Show Hidden Files,以显示所有文件,这样可以找到一个隐藏文件.bashrc,在此文件的最后加入 PATH 的设置,如下。

export PATH=”$PATH:/opt/mips-4.3/bin”

重新启动Ubuntu系统。

重启后,打开终端,在其中输入mips-sde-elf-,然后按两次Tab键,会列出刚刚安装的,针对MIPS平台的所有编译工具,表示GNU工具链安装成功。

2.2 使用GNU工具进行编译链接

配置交叉编译环境(具体方法见3.3交叉编译环境'的配置)

可以直接将新编写的程序直接覆盖inst_rom.S文件的内容,然后输入make命令即可编译生成coe文件。

也可以修改makefile,将脚本中的文件名修改为自己的文件名

Previous2.3.1 ROM的初始化过程Next2.4 基于NaiveMIPS的移植过程

Last updated 5 years ago

Was this helpful?

【十分钟教会你汇编】MIPS编程入门(妈妈说标题要高大上,才会有人看>_<!)

关于编译相关知识自行学习,可参考博客

下载mips-sde-elf-i686-pc-linux-gnu.tar.tar(),将安装文件复制到Ubuntu的/opt目录下,打开Ubuntu的终端,使用如下命令解压缩。

下载附件coe_file(9

https://www.cnblogs.com/thoupin/p/4018455.htm
https://blog.csdn.net/leishangwen/article/details/38228305
http://os.cs.tsinghua.edu.cn/oscourse/project/LoongsonCsprj2017/bit/cpu附件
http://os.cs.tsinghua.edu.cn/oscourse/project/LoongsonCsprj201
),里面包括了链接器脚本、使用mipsel-linux-gnu-交叉编译环境的makefile和将bin文件转换为coe格式的python程序。