📁
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. 生成 mcs 文件
  • 2. 下载 mcs 文件

Was this helpful?

  1. 2. 基于FPGA的MIPS32SCPU实现
  2. 2.2 基于soc_up的移植过程

2.2.2 FPGA固化方法

Previous2.2.1 Flash的烧录Next2.2.3 串口工具的使用

Last updated 5 years ago

Was this helpful?

固化的流程:先将一个 bit 流文件转换为 mcs 文件,将 mcs 文件下载到板上一个 SPI flash 上

1. 生成 mcs 文件

首先,需要确保 FPGA 设计的 bit 流文件已经生成。但 bit 流文件是用于直接下载到 FPGA 芯片里的文 件,而不能下载到 flash 芯片里,因而需要转换为 mcs 文件。

在 ISE 工具里,可以再图形界面下点击选择就可生成 mcs 文件,但在 Vivado 工具里,生成 mcs 文件需 要在命令控制器(tcl console)里输入命令。如下图:

上图中蓝色的为输入的命令,pwd 用于查看目录。随后使用 cd 命令进入 bit 流文件所在的目录。

假设生成的 bit 流文件为 project_11.bit,则输入命令串 write_cfgmem -format mcs -interface spix1 -size

16 -loadbit "up 0 project_11.bit" -file project_11.mcs 即可生成 mcs 文件,如下图。

其中命串里的 project_11.bit 为待转换的 FPGA 设计的 bit 文件,project_11.mcs 为生成的 mcs 文件名, 可以自定义。

上述命令,是先输入 cd 命令将目录切换到了 bit 流文件的目录,再使用 write_cfgmem 命令将 bit 流文 件转换为 mcs 文件。这两步可以使用命令串 write_cfgmem -format mcs -interface spix1 -size 16 -loadbit "up 0 F:/vivado_test/project_11/project_11.runs/impl_1/project_11.bit" -file F:/vivado_test/project_11/project_11.runs/impl_1/project_11.mcs 一步到位。这一命令串中明确指定了 bit 流 文件的目录,和生成的 mcs 文件的保存目录,bit 流文件的目录和文件名必须正确,但 mcs 文件的目录和文 件名可以自定义。

2. 下载 mcs 文件

生成好 mcs 文件后,就需要将其下载到实验板上 SPI flash 上。

像下载 bit 流文件一样,打开 Vivado 工具里的“Open Hardwar Target”,连接设备。

选中 xc7a200t 后,右键选择“Add Configuration Memory Device”,出现如下界面:

在 search 栏 输 入 s25fl128 , 出 现 两 个 可 选 的 芯 片 型 号 : s25fl128sxxxxxx0-spi-x1_x2_x4 和 s25fl128sxxxxxx1-spi-x1_x2_x4。具体选择哪个型号的,需要与板上固定的 flash 芯片型号相同(看板上 flash 型号标识的末尾是 0 还是 1)。也可以两者先任选一个,如果后续编程 flash 失败,再回来选另一个型号的。

选好 flash 型号后,点击 OK,弹出如下窗口,询问是否现在编程 flash:

点击 OK,出现编程 flash 的界面:

在 Configuration file 那栏选到 1 小节生成的 mcs 文件,如下图:

点击 OK 即可。后续等待下载 mcs 到 flash 芯片完成即可,如下图:

Flash 芯片会先进行擦除,在进行编写,完成后会提示 completed Successfully,如下图:

此时烧写就完成了,需要将实验板断电重新上电,等待一段时间,就可发现固化进实验板的 FPGA 设 备自动加载完成了。