开源wujian100-win10的linux子系统下安装linux工具

一、说明

      wujian100在开源项目上,提供的就是linux的开发流程。我在linux下也按照其流程走了一下,但我的目的是为了获取c代码综合结果,并转成仿真的激励数据文件。

      更详细的开发流程,可以参考平头哥社区的博客:https://occ.t-head.cn/community/。

      本文介绍的是win10下的linux环境,按照其工具。注意点是:1、csh、bash环境;2、目录;3

二、工具安装

2.1win10下安装linux子系统

我是win10,小米笔记本。直接在桌面左下角的搜素栏里搜索:ubuntu,然后选择应用,在应用商店下载并步骤提示安装;安装后一定记住用户名和用户密码。

同时,linux下的目录,/mnt下里看到电脑硬盘。可以在win、linux互相看到文件和文件复制。

2.2目录与文件准备

我在prj1目录下开展linux工作,在该目录下, mkdir riscv_toolchain,复制wujian100的git目录wujian100_open过来,建立下面目录:

开源wujian100-win10的linux子系统下安装linux工具_第1张图片

在平头哥官网下载平头的工具文件;根据它的readme文件,我们应该使用其中的:64位linux平台BareMetal应用程序编译连接工具套件安装文件:    riscv64-elf-x86_64-*.tar.gz

在win下把该文件复制到riscv_toolschain;在linux下cd到该目录下,解压:

tar -zxf riscv64-elf-x86_64-20190731.tar.gz(有个博客建议用linux解压,我就用该命令而非win解压了)

2.3安装其它工具

特别注意,必须对linux进行apt get更新(否则找不到被安装的程序):

sudo apt-get update

然后安装:

sudo apt-get install tcsh iverilog verilator gtkwave

按要求输入用户密码。

2.4建立环境变量

想在tools目录下,执行source setup.csh,但发现有语法错误。原因有2个:

a、linux5.0以上()需要转义符,见https://blog.csdn.net/feng2147685/article/details/85238775,修改setup.csh。把()改为/( /).

b setup.csh是dos格式。

为进行格式转换,我有安装了工具:

安装csh,还安装了dos2unix工具(sudo apt install csh)(sudo apt install dos2unix)

dos2unix setup.csh就可以转换成linux格式。

使用dos2unix setup.csh后,可以执行:

source setup.csh(tools目录下,好像不需要进csh,应该是bash下)。

附:echo $shell是看当前shell类型。

执行完成后,有一句set xxxx,不用管它。

2.5执行run case脚本

需要先进行:sudo apt-get install make

进到workdir目录下,(见到tcsh,记住准了)

然后执行 ../tools/run_case -sim_tool iverilog ../case/timer/timer_test.c。

执行后,可以产生部分结果了,包括hex文件。

2.6使用python

执行 ../tools/run_case -sim_tool iverilog ../case/timer/timer_test.c后,就没有sh错误了(未安装make会出),但我又出了python问题。因为lib/makefile用到了src2mem.py,命令是python(python3.x需要用命令python3)。

我装的是python3.x;如果没有安装python,可以参考:https://blog.csdn.net/weixin_33860528/article/details/92608762,使用apt方式安装。

检查linux的python,bash下敲python,发现我安装了python3。

我单独使用命令 python3  ../tools/Srec2vmem.py -i timer_test.hex -o test.pat,可以执行,并在workdir下产生了test.pat文件。

我获得了test.pat就够我在windows下modelsim进行后续仿真了。我觉得修改makefile的python到python3,linux下的verilog仿真也会直接运行了,但我没有尝试。

下面是我改后的setup.csh:


#set VCS path
#setenv VCS_HOME 
#set path=($VCS_HOME/linux/bin $path)

#set VCS license
#setenv SNPSLMD_LICENSE_FILE 

#set iverilog path
set iverilog_path=\(/usr/bin\)
set gtkwave_path=\(/usr/bin\)
set path=\($iverilog_path $path\)
set path=\($gtkwave_path $path\)

#set tools path
setenv TOOL_PATH ../../riscv_toolchain

setenv wujian100_open_PATH `pwd | perl -pe "s/wujian100_open.*/wujian100_open\//"`

 

你可能感兴趣的:(RISCV)