【自用】Ubuntu20.4从Vivado到ddr200t运行HelloWorld

news2024/11/22 9:39:22

【自用】Ubuntu20.4新系统从输入法到ddr200t运行HelloWorld

  • 一、编辑bashrc
  • 二、Vivado2022.2安装
  • 三、编译蜂鸟E203自测样例
    • 1. 环境准备
    • 2. 下载e203_hbirdv2工程文件
    • 3. 尝试编译自测案例
      • 1. 安装RISC-V GNU工具链
      • 2. 编译测试样例
    • 4. 用vivado为FPGA生成mcs文件
      • 1.准备RTL
      • 2.生成bit文件
      • 3.生成mcs文件
    • 5. 向硬件中烧MCS文件
  • 四、配置HBird SDK
    • 1.准备
    • 2.安装工具链
    • 3. 工具配置
    • 4.准备setup.config.sh文件
  • 五、HelloWorld
    • 1. 编译HelloWorld样例
    • 2. 运行HelloWorld样例
    • 3.自己踩过的坑

一、编辑bashrc

vim ~./bashrc

a编辑,将一下内容复制在最后

# ~/.bashrc
if [[ $- == *i* ]]
then
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
fi

在安装完Vivado和e203蜂鸟SDK后再复制下面内容,注意修改路径

function e203 {
source /tools/Xilinx/Vivado/2022.2/settings64.sh
cur_dir=$(pwd)
cd /home/UserName/Documents/hbirdv2_dev/hbird-sdk
source setup.sh
cd $cur_dir
}

e203

Esc退出编辑模式

输入 :wq ( 不可忽略,保存退出)

输入 :q! (不保存退出)

二、Vivado2022.2安装

参考【踩坑】Ubuntu20.4安装Vivado

三、编译蜂鸟E203自测样例

可参考官方上手指南

1. 环境准备

在终端输入

sudo apt-get install autoconf automake autotools-dev curl device-tree-compiler libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev git

注意官网是分成了两行,但是一定要一整行输进去,不然会报错。

2. 下载e203_hbirdv2工程文件

在文件夹下打开终端输入

git clone https://github.com/riscv-mcu/e203_hbirdv2.git

3. 尝试编译自测案例

1. 安装RISC-V GNU工具链

从这里安装,注意建议安装2022.12的版本!!!!!如果使用2022.08和2023.10都会遇到不同程度无法解决的报错。

riscv-nuclei-elf-gcc: Command not found ../Makefile:78: recipe for target 'rv32ui-p-simple' failed make: *** [rv32ui-p-simple] Error 127

在这里插入图片描述配置测试文件

cp nuclei_riscv_newlibc_prebuilt_linux64_2022.12.tgz.bz2 ~/

cd ~/

tar -xjvf nuclei_riscv_newlibc_prebuilt_linux64_2022.12.tgz.bz2

cd <your_e203_dir>/

mkdir -p ./riscv-tools/prebuilt_tools/prefix/bin

cd ./riscv-tools/prebuilt_tools/prefix/bin/

ln -s ~/nuclei_riscv_newlibc_prebuilt_linux64_2022.12/bin/* .

文件名和文件夹名按照自己的文件修改

2. 编译测试样例

cd <your_e203_dir>/riscv-tools/riscv-tests/isa

source regen.sh

4. 用vivado为FPGA生成mcs文件

可参考4.2. How to generate mcs for FPGA

1.准备RTL

cd <your_e203_dir>/fpga

make install FPGA_NAME=ddr200t

2.生成bit文件

make bit FPGA_NAME=ddr200t

3.生成mcs文件

make mcs FPGA_NAME=ddr200t

5. 向硬件中烧MCS文件

4.2.2. FPGA MCS download

四、配置HBird SDK

1.准备

在系统对应位置创建文件夹Nuclei-Tools

2.安装工具链

安装地址,RISC-V 工具链和OpenOCD最好下载相同的版本,这里也是建议安装2022.12版本
在这里插入图片描述

3. 工具配置

在Nuclei-Tools文件夹下创建gcc文件夹和openocd文件夹。
将解压的gnu toolchain终文件夹下所有内容复制到gcc文件夹下,将解压的openocd终文件夹下所有内容复制到我们准备好的openocd文件夹下

4.准备setup.config.sh文件

在< hbird-sdk >文件夹下打开终端

touch setup_config.sh
gedit setup_config.sh

输入以下内容,注意修改路径

NUCLEI_TOOL_ROOT=<nuclei-tools>

保存后在< hbibrd-sdk >目录下执行

source setup.sh
echo $PATH
which riscv-nuclei-elf-gcc openocd make rm
make help

五、HelloWorld

1. 编译HelloWorld样例

进入HelloWorld文件夹

cd <hbird-sdk>/application/baremetal/helloworld

编译样例

make dasm SOC=hbirdv2 BOARD=ddr200t CORE=e203 DOWNLOAD=flashxip

注:

  1. dash :表示对程序进行编译,并对可执行文件(.elf)进行反汇编生成.dump文件
  2. SOC=hbirdv2:指明SOC型号
  3. BOARD=ddr200t:指明开发板型号
  4. CORE=e203:指明Core型号,此处指的是蜂鸟E203 Core
  5. 此处可根据实际修改参数。

2. 运行HelloWorld样例

4.3.4. Run Hello World demo

  1. 链接开发板和蜂鸟调试器
  2. 输入groups 观察是否出现... plugdev ... ,如果出现说明在组件中,可以继续后面的步骤
  3. 编译下载文件
cd <hbird-sdk>/application/baremetal/helloworld
make upload SOC=hbirdv2 BOARD=ddr200t CORE=e203 DOWNLOAD=flash
  1. 打开UART 终端
sudo screen /dev/ttyUSB1 115200
  1. 按下复位键会刷新
    在这里插入图片描述

3.自己踩过的坑

  1. 【踩坑】参考官方文档 蜂鸟E203从运行自测样例到运行HelloWorld路上的坑
  2. 【踩坑】Ubuntu20.4安装Vivado

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1326348.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

界面控件DevExpress WPF Dock组件,轻松创建类Visual Studio窗口界面!

本文主要为大家介绍DevExpress WPF控件中的Dock组件&#xff0c;它能帮助用户轻松创还能受Microsoft Visual Studio启发的Dock窗口界面。 P.S&#xff1a;DevExpress WPF拥有120个控件和库&#xff0c;将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress …

社交网络分析(汇总)

这里写自定义目录标题 写在最前面社交网络分析系列文章汇总目录 提纲问题一、社交网络相关定义和概念提纲问题1. 社交网络、社交网络分析&#xff1b;2. 六度分隔理论、贝肯数、顿巴数&#xff1b;3. 网络中的数学方法&#xff1a;马尔科夫过程和马尔科夫链、平均场理论、自组织…

EasyUiAutotest 项目目录设置及说明

一、前置说明 清晰的项目目录结构非常重要的&#xff0c;它能够为项目提供结构化、易维护、易理解的环境。 二、目录设置及说明 项目目录结构如下&#xff1a; EasyUiAutotest ├───atme # me&#xff0c;供个人使用的目录&#xff0c;与整体项目无关&#xff0c;存…

ubuntu 20.04安装一系列软件

1&#xff09;安装下载的包的指令&#xff1a; sudo dpkg -i xxx.deb 2&#xff09;通用指令&#xff1a; sudo apt-get install xxxx 3&#xff09;更新和升级软件包&#xff08;遇到Unable to locate packge等问题先尝试这个指令&#xff09;&#xff1a; sudo apt-get up…

如何取消iCloud订阅,这里有非常明细的步骤

iCloud是存储文件、照片和备份的好方法&#xff0c;但每个用户获得的5GB免费iCloud存储空间往往不够。如果你使用iCloud Drive在设备之间存储和传输大量文件&#xff0c;你可能需要购买更多的iCloud存储。我们将向你展示如何在iPhone设置中更改iCloud存储计划或取消iCloud订阅。…

java8流库之Stream.iterate

简介 java.util.stream.Stream 下共有两个 iterate iterate(T seed, final UnaryOperator<T> f)iterate(T seed, Predicate<? super T> hasNext, UnaryOperator<T> f) 该方法产生一个无限流&#xff0c;它的元素包含seed&#xff0c;在seed上调用f产生的…

跟着野火学FreeRTOS:第一段(空闲任务与阻塞延时的实现)

在前一小节中&#xff0c;任务操作里面的延时就是直接让 C P U CPU CPU干等着&#xff0c;啥也不干&#xff0c;这样会极大的浪费 C P U CPU CPU的资源。这一小节即将要讲到的阻塞延时就是当任务有延时需要的时候让 C P U CPU CPU不要干等着&#xff0c;而是去执行其它的任务&a…

取消paypal免密支付绑定平台

在设置支付中-》自动支付-》取消特定平台即可。

随机森林 2(决策树)

通过 随机森林 1 的介绍&#xff0c;相信大家对随机森林都有了一个初步的认知&#xff0c;知道了随机和森林分别指的是什么&#xff0c;以及决策树根据什么选择内部节点。本文将会从森林深入到树&#xff0c;去看一下决策树是如何构建的。网上很多文章都讲了决策树如何构建&…

【已解决】解决Springboot项目访问本地图片等静态资源无法访问的问题

今天在开发一个招聘系统的时候&#xff0c;有投递简历功能&#xff0c;有投递就会有随之而来的查看简历对吧&#xff0c;我投递过的简历&#xff0c;另存为一个文件夹&#xff0c;就是说本地磁盘(或者服务器)有一个专门存放投递过的简历的文件夹&#xff0c;用于存放PDF&#x…

用户管理第2节课--idea 2023.2 后端--实现基本数据库操作(操作user表)

一、模型user对象>和数据库的字段关联 & 自动生成 【其中涉及删除表数据&#xff0c;一切又从零开始】 二、模型user对象>和数据库的字段关联 2.1在model文件夹下&#xff0c;新建 user对象 2.1.1 概念 大家可以想象我们现在的数据是存储在数据库里的&…

Java中的时间日期类⭐️通过具体案例分析下开发中常用到的几种时间日期格式类的使用

小伙伴们大家好&#xff0c;系统中不少模块都要用到时间日期&#xff0c;来分析总结下项目中用到的些日期类 目录 一、时间日期类 1.java.util.Calendar&#xff1a; 2.java.util.Date&#xff1a; 3.java.time.LocalDate、java.time.LocalTime、java.time.LocalDateTime&…

Ubuntu 常用命令之 netstat 命令用法介绍

&#x1f4d1;Linux/Ubuntu 常用命令归类整理 netstat 是一个非常有用的命令行工具&#xff0c;它可以帮助我们监控和诊断网络问题。在 Ubuntu 系统中&#xff0c;我们可以使用 netstat 命令来查看网络连接、路由表、接口统计等信息。 netstat 命令的参数有很多&#xff0c;以…

anaconda 安装 使用 pytorch onnx onnxruntime

一&#xff1a;安装 如果不是 x86_64&#xff0c;需要去镜像看对应的版本 安装 Anaconda 输入命令 bash Anaconda3-2021.11-Linux-x86_64.sh 然后输入 yes 表示同意 确认安装的路径&#xff0c;一般直接回车安装在默认的 /home/你的名字/anaconda3 很快就安装完毕。输入 yes…

【Vue中给输入框加入js验证_blur失去焦点进行校验】

【Vue中给输入框加入js验证_blur失去焦点进行校验】 通俗一点就是给输入框加个光标离开当前文本输入框时&#xff0c;然后对当前文本框内容进行校验判断 具体如下&#xff1a; 1.先给文本框加属性 blur“validatePhoneNumber” <el-input v-model“entity.telephone” blur…

航空港务数据大屏为航空港的可持续发展提供有力支撑!

随着经济的发展&#xff0c;不断加建与扩建民用机场&#xff0c;空港行业规模不断扩大。在不断引进和消化发达国家先进技术的同时&#xff0c;中国深入开展了对新技术和新材料的研究&#xff0c;极大地丰富和发展了中国的机场建设技术。且各项机场建设计划均已落实推进&#xf…

下午好~ 我的论文【yolov5】(第四期)

文章目录 简介模型Mosaic数据增强自适应锚框计算自适应图片缩放Focus结构CSP结构 NeckCIOU_Lossnms非极大值抑制代码最后 简介 YOLO V4没过多久YOLO V5就出来了。YOLO V5的模型架构是与V4非常相近的。 模型 Yolov5官方代码中&#xff0c;给出的目标检测网络中一共有4个版本&…

列举mfc140u.dll丢失的解决方法,常见的mfc140u.dll问题

在使用电脑的过程中&#xff0c;有时会遇到mfc140u.dll文件丢失的问题&#xff0c;导致一些应用程序无法正常启动。本文将介绍mfc140u.dll丢失的常见原因&#xff0c;并提供相应的解决办法。同时&#xff0c;还会列举一些与mfc140u.dll丢失相关的常见问题和解答。 第一部分&…

基于FPGA的简易BPSK和QPSK

1、框图 2、顶层 3、m_generator M序列的生成&#xff0c;输出速率为500Kbps 4、S2P是串并转换模块 将1bit的m序列转换到50M时钟下的2bit M序列数据&#xff08;就有4个象限&#xff09;&#xff1b; 5、my_pll是生成256M的时钟作为载波&#xff0c;因为sin和cos信号的…

数据管理平台Splunk Enterprise本地部署结合内网穿透实现远程访问

文章目录 前言1. 搭建Splunk Enterprise2. windows 安装 cpolar3. 创建Splunk Enterprise公网访问地址4. 远程访问Splunk Enterprise服务5. 固定远程地址 前言 Splunk Enterprise是一个强大的机器数据管理平台&#xff0c;可帮助客户分析和搜索数据&#xff0c;以及可视化数据…