蜂鸟E203系列——Linux开发工具
Vivado安装
vivado是运行工程的工具,所以必须安装

后台回复【vivado2017】可获取vivado 2017.4 | 后台回复【vivado2020】可获取vitis 2020.1
- 安装命令:打开一个终端,然后找到vivado下面的路径,执行如下命令
sudo ./xsetup
安装步骤跟windows系统下一样,将license复制进行破解,如果是vitis 2020版本,则无需解压。
- 安装JTAG驱动:在安装目录下,找到
vivado/2017.4/data/xicom/cable_drivers/lin64/install_drivers
切记:此时不要插入JTAG cable,然后执行如下指令即可安装驱动
sudo ./install_drivers
- 设置环境变量
- 在终端中,打开.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文件。

- 安装iverilog
后台回复【iverilog】可获取iverilog安装包
在有网的情况下也可以直接执行如下指令进行安装
sudo apt-get install iverilog
- 参考链接
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安装包
- 安装gtkwave
sudo apt-get install gtkwave
- 参考链接
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
使用“JTAG 调试器”将主机 PC 与 FPGA 开发板连接
使用如下命令查看 USB 设备的状态
lsusb // 运行该命令后会显示如下信息。
Bus 001 Device 029: ID 15ba:002a Olimex Ltd. ARM-USB-TINY-H JTAG interface
- 使用如下命令设置 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"
- 使用如下命令查看该 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,则需要重启系统
- 将你自己的用户添加到 plugdev group 中
whoami
// 运行该命令能显示自己用户名,假设你的自己用户名显示为 your_user_name
// 运行如下命令将 your_user_name 添加到 plugdev group 中,比如小编的账户位anytao
sudo usermod -a -G plugdev anytao
- 确认自己的用户是否属于 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开发工具的更多相关文章
- 蜂鸟E203系列——Linux调试(GDB+Openocd)
欲观原文,请君移步 本文基于文章<蜂鸟E203系列--利用 Hbrid-E-SDK 环境开发程序> GDB 简介 GDB(GNU Project Debugger),是 GNU 工具链中的 ...
- 蜂鸟E203系列——Linux下运行hello world例程
欲观原文,请君移步 创建程序 在 -/hbird-e-sdk-master/software 路径下创建一个"helloworld"中文件夹 在 -/hbird-e-sdk-mas ...
- Linux开发工具的使用
1. Linux开发工具的使用 Vim编译的使用 Gdb调试工具的使用 Makefile的编写 linux跟踪调试 SSH的使用 subversion的使用 1. Linux开发工具的使用 V ...
- Linux开发工具教程
今天把上个星期写的Linux开发工具相关的教程整理一下,方便阅读: 1.第一课 GCC入门: 2.第二课 GCC入门之静态库以及共享库: 3.第三课 Makefile文件的制作(上) : 4.第四课 ...
- C# 基础知识系列- 16 开发工具篇
0. 前言 这是C# 基础知识系列的最后一个内容讲解篇,下一篇是基础知识-实战篇.这一篇主要讲解一下C#程序的结构和主要编程工具. 1. 工具 工欲善其事必先利其器,在实际动手之前我们先来看看想要编写 ...
- PHPStorm.WebStrom等系列官方开发工具配置本地项目与运程服务器同步
PHPStorm.WebStrom配置本地项目与运程服务器同步 说明:PHPStorm.WebStrom等官方的系统开发工具配置本地项目与运程服务器同步的方法都基本一致没有,几乎没有什么不同之处,我们 ...
- 【Redhat系列linux防火墙工具】firewalld与iptables防火墙工具的激烈碰撞
前言 iptables与firewalld防火墙管理工具在linux发行版Redhat7系列使用较为广泛. UFW则是在linux发行版Ubuntu下进行管理防火墙的一款管理工具. 在选用防火墙工具的 ...
- Linux开发工具之Makefile(上)
二.makefile(上) 01.make工具 利用make工具可以自动完成编译工作.这些工作包括:如果修改了某几 个源文件,则只重装新编译这几个源文件:如果某个头文件被修改了,则 重新编译所有包 ...
- Linux开发工具之gcc
一.gcc入门(上) 1.gcc相关概念 gcc(GNU C Compiler)编译器,最初支持C语言,现已支持C.C++.Java.Pascal.Ada.COBOL语言等:支持多种硬件平台: ...
随机推荐
- 曹工说JDK源码(2)--ConcurrentHashMap的多线程扩容,说白了,就是分段取任务
前言 先预先说明,我这边jdk的代码版本为1.8.0_11,同时,因为我直接在本地jdk源码上进行了部分修改.调试,所以,导致大家看到的我这边贴的代码,和大家的不太一样. 不过,我对源码进行修改.重构 ...
- Redis集群-主从模式
1.架构设计 集群在单台主机上模拟搭建6个节点(3主3从的集群): 2.配置 创建与端口相同的文件夹存储Redis配置文件和持久化文件. 目录如下: 每个节点配置文件如下: 节点1: bind 192 ...
- windows tcp server select
#include <stdio.h> #include <tchar.h> #include <winsock2.h> #include <iostream& ...
- 键盘鼠标共享效率工具----Synergy
在日常工作中,为了提高工作效率以及用户体验,会一个主机接多个显示器,像程序员一般都是使用两块显示器. 然而,有很多人是和我一样,自己有多台电脑,两个笔记本.公司一个台式机,如何在台机器之间来回切换工作 ...
- @loj - 2987@ 「CTSC2016」时空旅行
目录 @description@ @solution@ @accepted code@ @details@ @description@ 2045 年,人类的技术突飞猛进,已经找到了进行时空旅行的方法. ...
- java并发编程 --并发问题的根源及主要解决方法
目录 并发问题的根源在哪 缓存导致的可见性 线程切换带来的原子性 编译器优化带来的有序性 主要解决办法 避免共享 Immutability(不变性) 管程及其他工具 并发问题的根源在哪 首先,我们要知 ...
- PyCharm远程连接服务器简明教程
转自本人知乎(https://zhuanlan.zhihu.com/p/149040742) 由于实验室的GPU都是放在远程服务器上,因此一直使用MobaXterm利用SSH远程跑实验,但是MobaX ...
- 一文读懂:GBDT梯度提升
先缕一缕几个关系: GBDT是gradient-boost decision tree GBDT的核心就是gradient boost,我们搞清楚什么是gradient boost就可以了 GBDT是 ...
- 微信小程序-APP生命周期与运行机制
QQ讨论群:785071190 开发微信小程序之前需要先了解微信小程序运行机制以及其生命周期,小程序APP生命周期需要先从app.js这个文件开始. 阅读过"微信小程序-代码构成" ...
- 在运行时生成C# .NET类
本文译自:Generating C# .NET Classes at Runtime 作者:WedPort 在我的C#职业生涯中,有几次我不得不在运行时生成新的类型.希望把它写下来能帮助有相同应 ...