欲观原文,请君移步

Vivado安装

vivado是运行工程的工具,所以必须安装

后台回复【vivado2017】可获取vivado 2017.4 | 后台回复【vivado2020】可获取vitis 2020.1

  1. 安装命令:打开一个终端,然后找到vivado下面的路径,执行如下命令

sudo ./xsetup

安装步骤跟windows系统下一样,将license复制进行破解,如果是vitis 2020版本,则无需解压。

  1. 安装JTAG驱动:在安装目录下,找到

    vivado/2017.4/data/xicom/cable_drivers/lin64/install_drivers

切记:此时不要插入JTAG cable,然后执行如下指令即可安装驱动

sudo ./install_drivers

  1. 设置环境变量
  • 在终端中,打开.bashrc文件

sudo gedit .bashrc

  • 在该文件末端,添加:

source /opt/Xilinx/Vivado/2017.4/settings64.sh

  • 关闭终端,并在你想创建vivado工程的目录下,右键打开终端,然后执行

vivado

iverilog安装

Icarus Verilog是一个轻量、免费、开源的Verilog编译器,基于C++实现,开发者是 Stephen Williams ,遵循 GNU GPL license 许可证,安装文件中已经包含 GTKWave支持Verilog/VHDL文件的编译和仿真,命令行操作方式,类似gcc编译器,通过testbench文件可以生成对应的仿真波形数据文件,通过自带的GTKWave可以查看仿真波形图,支持将Verilog转换为VHDL文件。

  1. 安装iverilog

后台回复【iverilog】可获取iverilog安装包

在有网的情况下也可以直接执行如下指令进行安装

sudo apt-get install iverilog

  1. 参考链接

iverilog官网:http://iverilog.icarus.com/

iverilog源码:https://github.com/steveicarus/iverilog

Icarus Verilog的工作原理:http://exasic.com/article/index.php?md=e-06

Icarus Verilog 实战:https://www.cnblogs.com/whik/p/11980103.html

Icarus Verilog + GTKWave Guide :chrome-extension://ibllepbpahcoppkjjllbabhnigcbffpi/http://inf-server.inf.uth.gr/~konstadel/resources/Icarus_Verilog_GTKWave_guide.pdf

gtkwave 安装

GTKWave是一个使用GTK的WAV文件波形查看工具,支持Verilog VCD/EVCD文件格式。

后台回复【gtkwave】可获取gtkwave安装包

  1. 安装gtkwave

sudo apt-get install gtkwave

  1. 参考链接

gtkwave 源码:https://github.com/gtkwave/gtkwave

安装iverilog_gtkwave实例

使用清华镜像站

安装 gtkwave

sudo apt-get install gtkwave

查看version

安装iverilog

sudo apt-get install iverilog

查看版本

iverilog -v

仿真实战

编译

iverilog -o wave test.v tb_test.v

生成波形文件

vvp -n wave -lxt2

打开波形文件

gtkwave testwave.vcd

生成文件如下

仿真结果

MCU JTAG安装

为了支持使用 GDB 进行交互式调试或者通过 GDB 动态下载程序到处理器中运行,需要为 FPGA 原型平台配备一个 JTAG 调试器(JTAG Debugger), E203 内核支持通过标准的 JTAG 接口对其进行调试,

参考文档:https://github.com/SI-RISCV/e200_opensource/blob/master/doc/蜂鸟E203快速上手介绍.pdf

  1. 使用“JTAG 调试器”将主机 PC 与 FPGA 开发板连接

  2. 使用如下命令查看 USB 设备的状态

lsusb // 运行该命令后会显示如下信息。

Bus 001 Device 029: ID 15ba:002a Olimex Ltd. ARM-USB-TINY-H JTAG interface

  1. 使用如下命令设置 udev rules 使得该 USB 设备能够被 plugdev group 所访问

sudo gedit /etc/udev/rules.d/99-openocd.rules

用 vi 打开该文件,然后添加以下内容至该文件中,然后保存退出。

SUBSYSTEM"usb", ATTR{idVendor}"15ba",

ATTR{idProduct}"002a", MODE="664", GROUP="plugdev"

SUBSYSTEM"tty", ATTRS{idVendor}"15ba",

ATTRS{idProduct}"002a", MODE="664", GROUP="plugdev"

  1. 使用如下命令查看该 USB 设备是否属于 plugdev group

ls /dev/ttyUSB* // 运行该命令后会显示类似如下信息。

/dev/ttyUSB0 /dev/ttyUSB1

ls -l /dev/ttyUSB1 // 运行该命令后会显示类似如下信息。

crw-rw-r-- 1 root plugdev 188, 1 Nov 28 12:53 /dev/ttyUSB1

切记:如果没有出现plugdev,则需要重启系统

  1. 将你自己的用户添加到 plugdev group 中

whoami

// 运行该命令能显示自己用户名,假设你的自己用户名显示为 your_user_name

// 运行如下命令将 your_user_name 添加到 plugdev group 中,比如小编的账户位anytao

sudo usermod -a -G plugdev anytao

  1. 确认自己的用户是否属于 plugdev group:

groups // 运行该命令后会显示类似如下信息。

... plugdev ...

只要从显示的 groups 中看到 plugdev 则意味着自己的用户属于该组,表示设置成功。

RISC-V工具链安装

参考文档:https://github.com/SI-RISCV/e200_opensource/blob/master/doc/蜂鸟E203快速上手介绍.pdf

后台回复【RISC-V Tools】可获取RISC-V Tools安装包

安装过程严格按照上述参考文档第5.2章节 《使用 HBird-E-SDK 开发和运行示例程序》即可。

蜂鸟E203系列——Linux开发工具的更多相关文章

  1. 蜂鸟E203系列——Linux调试(GDB+Openocd)

    欲观原文,请君移步 本文基于文章<蜂鸟E203系列--利用 Hbrid-E-SDK 环境开发程序> GDB 简介 GDB(GNU Project Debugger),是 GNU 工具链中的 ...

  2. 蜂鸟E203系列——Linux下运行hello world例程

    欲观原文,请君移步 创建程序 在 -/hbird-e-sdk-master/software 路径下创建一个"helloworld"中文件夹 在 -/hbird-e-sdk-mas ...

  3. Linux开发工具的使用

    1.   Linux开发工具的使用 Vim编译的使用 Gdb调试工具的使用 Makefile的编写 linux跟踪调试 SSH的使用 subversion的使用 1.   Linux开发工具的使用 V ...

  4. Linux开发工具教程

    今天把上个星期写的Linux开发工具相关的教程整理一下,方便阅读: 1.第一课 GCC入门: 2.第二课 GCC入门之静态库以及共享库: 3.第三课 Makefile文件的制作(上) : 4.第四课 ...

  5. C# 基础知识系列- 16 开发工具篇

    0. 前言 这是C# 基础知识系列的最后一个内容讲解篇,下一篇是基础知识-实战篇.这一篇主要讲解一下C#程序的结构和主要编程工具. 1. 工具 工欲善其事必先利其器,在实际动手之前我们先来看看想要编写 ...

  6. PHPStorm.WebStrom等系列官方开发工具配置本地项目与运程服务器同步

    PHPStorm.WebStrom配置本地项目与运程服务器同步 说明:PHPStorm.WebStrom等官方的系统开发工具配置本地项目与运程服务器同步的方法都基本一致没有,几乎没有什么不同之处,我们 ...

  7. 【Redhat系列linux防火墙工具】firewalld与iptables防火墙工具的激烈碰撞

    前言 iptables与firewalld防火墙管理工具在linux发行版Redhat7系列使用较为广泛. UFW则是在linux发行版Ubuntu下进行管理防火墙的一款管理工具. 在选用防火墙工具的 ...

  8. Linux开发工具之Makefile(上)

    二.makefile(上) 01.make工具   利用make工具可以自动完成编译工作.这些工作包括:如果修改了某几 个源文件,则只重装新编译这几个源文件:如果某个头文件被修改了,则 重新编译所有包 ...

  9. Linux开发工具之gcc

    一.gcc入门(上)   1.gcc相关概念   gcc(GNU C Compiler)编译器,最初支持C语言,现已支持C.C++.Java.Pascal.Ada.COBOL语言等:支持多种硬件平台: ...

随机推荐

  1. Mysql(Mariadb)数据库主从

    Mysql主从复制的实现原理图大致如下: MySQL之间数据复制的基础是以二进制日志文件(binary log file)来实现的,一台MySQL数据库一旦启用二进制日志后,其作为master,它数据 ...

  2. monkey命令的基本使用

    看到monkey,你想到了什么?今天给大家分享下monkey命令的基本使用 monkey测试是Android平台自动化测试的一种手段,通过monkey程序模拟用户触摸屏幕,滑动.按键操作等操作对设备上 ...

  3. redis的持久化(RDB与AOF)

    1.为什么redis要实现持久化? 避免因宕机.断电等场景导致进程退出后数据丢失,如果redis的数据都只存放于内存,那么进程退出后数据就丢失了.持久化机制可以持久化内存数据到硬盘,重启redis后基 ...

  4. 包子凑数(dp 0-1、完全背包)【背包问题】

    包子凑数(蓝桥杯) 感谢:@ Statusrank 题目链接(点击) 题目描述 小明几乎每天早晨都会在一家包子铺吃早餐.他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子.每种蒸笼都有非常多 ...

  5. mybatis 多表联查,多个实体类,如何返回一个List?(表太多,字段太多的问题)

    原文:https://ask.csdn.net/questions/674166 自己重新定义一个实体类 把查询结果放到这个实体类中,实体类包含所有的查询结果的字段 一个更好的办法,我发现你这关联表所 ...

  6. mysql索引小总结

    MySql 1.索引 mysql索引默认使用的是B+Tree(B-树的变种版).也可以使用HASH表. 二叉树: 二叉树又称二叉搜索树,二叉排序树,特点如下: 左子树上所有结点值均小于根结点 右子树上 ...

  7. Java 多线程基础(七)线程休眠 sleep

    Java 多线程基础(七)线程休眠 sleep 一.线程休眠 sleep sleep() 方法定义在Thread.java中,是 static 修饰的静态方法.sleep() 的作用是让当前线程休眠, ...

  8. PHP丨PHP基础知识之条件语SWITCH判断「理论篇」

    Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择.以PHP来说,switch(开关语句)常和case break default一起使用 典型结构 switch($control ...

  9. Linux 开放指定端口号

    1.开启防火墙 [root@localhost opt]# systemctl start firewalld 2.查看当前防火墙状态 [root@localhost opt]# systemctl ...

  10. JavaWeb网上图书商城完整项目--day02-11.激活功能流程分析

    1.当用户注册成功之后,会给用户发送邮件,当用户点击邮件的激活按钮的时候,会调用UserServlet中的activation的方法,并且会把激活码传递到后台,后台业务层对业务进行操作