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

【自用】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.bz2cd <your_e203_dir>/mkdir -p ./riscv-tools/prebuilt_tools/prefix/bincd ./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/isasource regen.sh

4. 用vivado为FPGA生成mcs文件

可参考4.2. How to generate mcs for FPGA

1.准备RTL

cd <your_e203_dir>/fpgamake 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.hqwc.cn/news/294412.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实在智能斩获钛媒体2023全球创新评选科技类「 大模型创新应用奖」

近日&#xff0c;历时三天的钛媒体2023 T-EDGE全球创新大会以“新视野新链接”为主题在北京隆重举办。作为科创领域全新高度的年度盛事&#xff0c;大会吸引了AI各产业链近百位海内外创投人、尖端企业家、商业领袖和国际嘉宾齐聚一堂&#xff0c;围绕新一轮AI革命、智慧数字化、…

csdn好用的AI问答工具-泛用的生成式对话AI

csdn好用的AI问答工具-泛用的生成式对话AI 体验入口 每天都有两次体验机会&#xff0c;各位客官老爷白嫖起来。废话不说了&#xff0c;直接给各位客官老爷上干货。 链接: https://mall.csdn.net/ai?utm_sourcevip_toolbar_hyzx 第一步 第二步 第三步 第四步 PS&#xff1a…

【EasyExcel实践】万能导出,一个接口导出多张表以及任意字段(可指定字段顺序)-简化升级版

文章目录 前言正文一、项目简介二、核心代码2.1 pom.xml 依赖配置2.2 ExcelHeadMapFactory2.3 ExcelDataLinkedHashMap2.4 自定义注解 ExcelExportBean2.5 自定义注解 ExcelColumnTitle2.6 建造器接口 Builder2.7 表格工具类 ExcelUtils2.8 GsonUtil2.9 模版类 ExportDynamicCo…

css 三角形实现方式及快速联想记忆

css实现三角形是常见的需求&#xff0c;在此记录如下 1 边框实现 原理&#xff1a;相邻的border之间会形成一条斜线(可按此联想记忆) .triangle {width: 0;height: 0;border-left: 100px solid red;border-right: 100px solid green;border-top: 100px solid blue;border-bot…

可狱可囚的爬虫系列课程 07:BeautifulSoup4(bs4)库的使用

前面一直在讲 Requests 模块如何使用&#xff0c;那都是在请求阶段要做的事情&#xff0c;相信很多网友都在等一个能够开始爬网站信息的教程&#xff0c;今天它来了&#xff0c;今天我要给大家讲一个很简单易懂的库&#xff1a;BeautifulSoup4。 一、概述&安装 Beautiful…

PCL配置记录

PCL配置记录 1. Windows10vs2019pcl win10vs2019pcl 1.11.1 1.下载与安装 https://github.com/PointCloudLibrary/pcl/releases ) 双击exe安装 注意&#xff1a; ( ) 解压 “pcl-1.11.0-pdb-msvc2019-win64.zip”&#xff0c;将解压得到的文件夹中的内容添加“…\PCL…

74hc138电路图汇总分析

74hc138大家应该比较熟悉&#xff0c;关于它的应用电路你了解多少呢&#xff1f;它在电路中是一个什么样的角色定位呢&#xff1f;本文主要为你介绍关于74hc138电路图汇总分析以及74hc138在电路中的作用。 74hc138 74HC138是一款高速CMOS器件&#xff0c;74HC138引脚兼容低功…

读算法霸权笔记01_数学杀伤性武器

1. 数学应用助推数据经济&#xff0c;但这些应用的建立是基于不可靠的人类所做的选择 1.1. 房地产危机&#xff0c;大型金融机构倒闭&#xff0c;失业率上升&#xff0c;在幕后运用着神奇公式的数学家们成为这些灾难的帮凶 1.2. 数学逐渐不再关注全球金融市场动态&#xff0c…

git分支解析

1、概述和优点 在版本控制过程中&#xff0c;同时会推进多个任务&#xff0c;为此&#xff0c;就可以为每个任务创建单独的分支。开发人员可以把自己的任务和主线任务分离开来&#xff0c;在开发自己的分支的时候不会影响主分支。 分支的好处&#xff1a; 同时推进多个功能开发…

mysql忘记了密码

1.查找mysql的配置文件 find / -name my.cnf 2.编辑my.cnf vim /etc/my.cnf 3. 在最后一行添加skip-grant-tables跳过密码校验 4.检查mysql服务是否已正常启动 service mysqld status 5.修改完配置重启服务 systemctl restart msyqld 6.键入 msyql直接进入mysql mysql 7.进入my…

【LeetCode刷题笔记】贪心

135.分发糖果 解题思路: 两个数组 + 两次遍历 ,取 最大峰值 ,准备两个数组 L 和 R ,默认填充 1 , 先 从左往右 扫描一遍, 更新 L 数组,如果 右边

前端 JS 安全对抗原理与实践

作者&#xff1a;vivo 互联网安全团队- Luo Bingsong 前端代码都是公开的&#xff0c;为了提高代码的破解成本、保证JS代码里的一些重要逻辑不被居心叵测的人利用&#xff0c;需要使用一些加密和混淆的防护手段。 一、概念解析 1.1 什么是接口加密 如今这个时代&#xff0c;…