学习tinyriscv(1):安装tinyriscv的工具链
因为毕设是CPU的低功耗设计,所以开始看cpu,打算还是先从这个tinyriscv学起,昨天把环境下好了,第一步是用git去clone代码,这个首先要下载git,然后在目标文件夹鼠标右键,选择“open git bush here”,再输入项目的url,就可以了。方法不难。b站有详细教程
接下来是安装工具,我用的是windows,就按照以下步骤,唯一有一个地方有出入的是,安装GNU工具链的时候,工具路径不是他这样的,是散开的,为了考虑周全,我自己又建了一个“gnu-mcu-eclipse-riscv-none-gcc-8.2.0-2.2-20190521-0004-win64”的文件夹,然后又在这个文件夹里解压了(后面测试指令的时候也没有报错)
make和python比较特殊,需要加入环境变量,具体操作是“右键电脑——属性——高级系统设计——环境变量”,在用户变量里双击“path”,会发现里面有很多路径,直接新建一个路径然后加进去就行了(我是这样做的,后面测试也没有问题)


安装好之后就开始测试了,这里懒得放截图了,然后就是运行c程序,就是这一步,具体来说也就是在cmd里面输入指令,我的运行是没有错误的,关于如何在cmd中更换路径,这个可以看我这篇文章:如何在cmd中转入其他文件夹。


关于这个测试c程序,我昨天问了师兄,师兄说这个“python .\sim_new_nowave.py ..\tests\example\simple\simple.bin inst.data”就是一个python脚本,原因是机器肯定是不能直接理解c语言的,需要转换成机器所能理解的指令,因此先转成bin文件,但是bin文件又不能说是直接打开,所以又转换成了一个inst.data文件(所以在走完这个步骤之后,会发现sim文件夹里多出来了一个名字叫inst.data的文件,如下图所示)

关于这个inst.data,打开之后发现是一堆16进制的数字,这里面的每一行实际上就对应的是一条指令。

以上就是,配置环境和测试的内容,还有一些问题,师兄做了解答:
1.为什么装了很多东西,比如iverilog、GNU、make,结果在测试的时候看起来没用到?实际上虽然这里只是说执行了一条指令,但实际上他们内部是相互调用的,c程序之所以能够翻译成机器所理解的,原因还是因为上面的工具起作用,例如GNU里面的gcc(也不能说是程序,只能是一个类似“包工头的玩意”)实现了c的编译器,具体的可以参考这篇文章:编译工具链
2.这个c程序测试是做什么的?实际上,他这个测试就是说,比如1+1=2,那么在实际测试中,就是把运算结果,从寄存器取出来,然后人为的比对一下,如果一样,就说明测试成功
3.我能自己写一个c吗?好像不行。。原因记不太清了。。。
4.接下来我应该做什么:不要看那个tinyriscv的配套文档,那个只是针对这个cpu写的,直接去看计组的书或者网课
学习tinyriscv(1):安装tinyriscv的工具链的更多相关文章
- 64位的ubuntu14.04 LTS安装 Linux交叉编译工具链及32位“ia32-libs”依赖库
ubuntu又迎来了其新一代的长期支持版本 14.04 LTS,其带来了许多令人期待的新特新,遂决定进行升级. 装好了64位版本及安装 Linux交叉编译工具链 运行GCC,${CROSS_COMPI ...
- 虚拟机快速下载安装配置aarch64-linux-gnu-gcc工具链
方式一:软件仓库安装 此方法不用自己去配置交叉编译工具链 1.查看本地仓库有支持哪些版本哪些 输入命令: apt-cache search aarch64 2.下载安装 gcc-8-aarch64-l ...
- centos安装arm交叉工具链后常见的问题解决
[root@localhost osdrv]# arm-hisiv400-linux-gcc -vbash: /opt/hisi-linux/x86-arm/arm-hisiv400-linux/ta ...
- centos 7安装freescale交叉编译工具链
方法1:可以直接下载gcc包,把文件夹放到/usr/local下即可,然后修改PATH环境变量,既可以使用 方法2:可以下载.rpm包,在本地进行安装,下载地址为(http://www.panduod ...
- Ubuntu安装ARM架构GCC工具链(ubuntu install ARM toolchain)最简单办法
一.安装ARM-Linux-GCC工具链 只需要一句命令: sudo apt-get install gcc-arm-linux-gnueabi 前提是你的Ubuntu系统版本是官网支持的最新的版本, ...
- 【转】Ubuntu安装ARM架构GCC工具链(ubuntu install ARM toolchain)最简单办法
原文网址:http://www.cnblogs.com/muyun/p/3370996.html 一.安装ARM-Linux-GCC工具链 只需要一句命令: sudo apt-get install ...
- 使用GNU工具链进行嵌入式裸机开发
Embedded-Programming-with-the-GNU-Toolchain Vijay Kumar B. vijaykumar@bravegnu.org 翻译整理:thammer gith ...
- 使用buildroot创建自己的交叉编译工具链【转】
本文转载自:https://blog.csdn.net/linczone/article/details/45894181 使用buildroot创建自己的交叉编译工具链 关键字:buildroot ...
- xmake v2.5.2 发布, 支持自动拉取交叉工具链和依赖包集成
xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能 ...
- GNU工具链学习笔记
GNU工具链学习笔记 1..so为动态链接库,.a为静态连接库.他们在Linux下按照ELF格式存储.ELF有四种文件类型.可重定位文件(Relocatable file,*.o,*.a),包含代码和 ...
随机推荐
- crm--纯后端部署
博客地址:https://www.cnblogs.com/zylyehuo/ 技术栈:supervisor + nginx + uwsgi + django + virtualenv + mariad ...
- sqoop1.4.7完全支持Hadoop3.x, Hive3.x Hbase2.x
已经修改好 保存至云盘 自己下载 花了时间的,记得关注我... 链接:https://pan.xunlei.com/s/VNe6P6Tm1A9Q-RG5GByN08rdA1# 提取码:5nke 复制这 ...
- nginx Ingress Controller Packaged by Bitnami
环境介绍 节点 master01 work01 work02 主机/ip calico-master01/192.168.195.135 calico-master01/192.168.195.135 ...
- 【matplotlib 实战】--平行坐标系
平行坐标系是一种统计图表,它包含多个垂直平行的坐标轴,每个轴表示一个字段,并用刻度标明范围.通过在每个轴上找到数据点的落点,并将它们连接起来形成折线,可以很容易地展示多维数据.随着数据增多,折线会堆叠 ...
- ERROR: nginx-1.22.1 installation failed.
libraries. You can either do not enable the module or install the libraries.make: *** No rule to mak ...
- openssl加解密实战
一.概念 1.加密有两种类型 密钥加密(secret-key encryption)使用相同的密钥进行加密和解密,也叫对称加密 公钥加密(public-key encryption)使用不同的密钥进行 ...
- 每个后端都应该了解的OpenResty入门以及网关安全实战
简介 在官网上对 OpenResty 是这样介绍的(http://openresty.org): "OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成 ...
- [CF1178 F2] Long Colorful Strip
F2 - Long Colorful Strip 很牛的题! 首先,我们可以将颜色相同的一段区间缩成一个点,那么每次加入一个新的颜色时,最多只能将其所覆盖的那个颜色所属的区间分成三部分(原本:0000 ...
- 聊聊 RocketMQ 消息轨迹
这篇文章,我们聊一聊 RocketMQ 的消息轨迹设计思路. 查询消息轨迹可作为生产环境中排查问题强有力的数据支持 ,也是研发同学解决线上问题的重要武器之一. 1 基础概念 消息轨迹是指一条消息从生产 ...
- JavaScript 语法:语法约定与程序调试
作者:WangMin 格言:努力做好自己喜欢的每一件事 JavaScript 语法约定 1.大小写的区分 1). JavaScript的关键字,永远都是小写的: 2). 内置对象,如Math和Date ...