ArmIE的安装
运行环境:Qemu+arm64版本的ubuntu16.04
前面一篇博客使用Qemu运行Ubuntu文件系统 —— 搭建SVE学习环境(2)中才Qemu上运行了一个ubuntu16.04的系统,然后再在其中安装了ArmIE,来模拟SVE指令的执行。下面简单介绍一下ArmIE的安装方法,关于ArmIE的详细介绍,请参考ARM官网:Arm Instruction Emulator
第一步,安装module软件包(链接)
sudo apt-get install environment-modules
第二步、下载ArmIE安装包(链接)
可以到这里下载ArmIE安装包,这里下载ARM-Instruction-Emulator_19.2_AArch64_Ubuntu_16.04_aarch64.tar.gz
第三步、解压安装ArmIE
tar -xvf ARM-Instruction-Emulator_19.2_AArch64_Ubuntu_16.04_aarch64.tar.gz cd ARM-Instruction-Emulator_19.2_AArch64_Ubuntu_16.04_aarch64 sudo ./arm-instruction-emulator-.2_Generic-AArch64_Ubuntu-.04_aarch64-linux-deb.sh
默认会安装到/opt/arm下,也可以通过参数-i换成别的安装路径
第四步、设置环境变量MODULEPATH
export MODULEPATH=$MODULEPATH:/opt/arm/modulefiles/
第五步、重新登录系统,使用module查看哪些模块,并加载ArmIE模块
pengdl@firefly:~$ module avail -------------------------------------------------------------- /opt/arm/modulefiles --------------------------------------------------------------
Generic-AArch64/Ubuntu/16.04/arm-instruction-emulator/19.2 Generic-AArch64/Ubuntu/16.04/gcc_runtimes/8.2. ---------------------------------------------------------- /usr/share/modules/versions -----------------------------------------------------------
3.2. --------------------------------------------------------- /usr/share/modules/modulefiles ---------------------------------------------------------
dot module-git module-info modules null use.own ------------------------------------------------------------- /opt/arm/modulefiles/ --------------------------------------------------------------
Generic-AArch64/Ubuntu/16.04/arm-instruction-emulator/19.2 Generic-AArch64/Ubuntu/16.04/gcc_runtimes/8.2.0 pengdl@firefly:~$ module load Generic-AArch64/Ubuntu/16.04/arm-instruction-emulator/19.2
pengdl@firefly:~$ echo $PATH
/opt/arm/arm-instruction-emulator-19.2_Generic-AArch64_Ubuntu-16.04_aarch64-linux/bin64:/home/pengdl/bin:/home/pengdl/.local/bin:/home/pengdl/sve_acle_cross/bin:/opt/gstreamer/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
pengdl@firefly:~$
为了实现以后每次开机都可以直接使用ArmIE,可以将 module load Generic-AArch64/Ubuntu/16.04/arm-instruction-emulator/19.2 加到.bashrc中。
第六步、测试
pengdl@firefly:~$ armie
Execute binaries containing SVE instructions on Armv8-A hardware Usage:
armie [emulation parameters] -- <command to execute> Examples:
armie -msve-vector-bits= -- ./sve_program
armie -msve-vector-bits= --iclient libinscount.so -- ./sve_program --opt foo
armie -e libmemtrace_sve_512.so -i libmemtrace_simple.so -- ./sve_program Flags:
-m<string> Architecture specific options. Supported options:
-msve-vector-bits=<uint> Vector length to use. Must be a multiple of bits up to bits
-mlist-vector-lengths List all valid vector lengths
-e, --eclient <client> An emulation client based on the DynamoRIO API
If this is not specified, the default SVE client is used
-i, --iclient <client> An instrumentation client based on the DynamoRIO API
-x, --unsafe-ldstex Enables a workaround which avoids an exclusive load/store bug on certain AArch64 hardware
(See 'Known Issues' in RELEASE_NOTES.txt for details)
-s, --show-drrun-cmd Writes the full DynamoRIO drrun command used to execute ArmIE to stderr
This can be useful when debugging or developing clients
-h, --help Prints this help message
-V, --version Prints the version
完。
ArmIE的安装的更多相关文章
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法
如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...
- Sublime Text3安装JsHint
介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...
- Fabio 安装和简单使用
Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...
- gentoo 安装
加载完光驱后 1进行ping命令查看网络是否通畅 2设置硬盘的标识为GPT(主要用于64位且启动模式为UEFI,还有一个是MBR,主要用于32位且启动模式为bois) parted -a optima ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...
- 【原】nodejs全局安装和本地安装的区别
来微信支付有2年多了,从2年前的互联网模式转变为O2O模式,主要的场景是跟线下的商户去打交道,不像以往的互联网模式,有产品经理提需求,我们帮忙去解决问题. 转型后是这样的,团队成员更多需要去寻找业务的 ...
- tLinux 2.2下安装Mono 4.8
Tlinux2.2发行版基于CentOS 7.2.1511研发而成,内核版本与Tlinux2.0发行版保持完全一致,更加稳定,并保持对Tlinux2.0的完全兼容.Mono 4版本要求CentOS 7 ...
随机推荐
- polynote 安装试用
polynote 是netflix 开源的一个notebook 工具(支持scala,python,sql ...) 下载安装包 https://github.com/polynote/polynot ...
- Linux网络基础设置
1.笔记 systenctl restart network:重启网卡网络服务 bash:刷新主机名称 netstat:查看网络状态 route -n:不做地址解析 mii-tool eno16777 ...
- MySQL实战45讲学习笔记:第十二讲
一.引子 平时的工作中,不知道你有没有遇到过这样的场景,一条 SQL 语句,正常执行的时候特别快,但是有时也不知道怎么回事,它就会变得特别慢,并且这样的场景很难复现,它不只随机,而且持续时间还很短. ...
- Python-lambda使用
什么是lambda 匿名函数,不需要命名的函数: 语法 lambda 参数 : 返回值 g = lambda x: 2*x+1 g(2) >5
- .NET Core:Token认证
现在是WebAPI的时代,你所需要面对的不止是浏览器了,通常会使用Web, WebApp, NativeApp等多种呈现方式.其中诸如Ember,Angular,Backbone之类的前端框架类库正随 ...
- nacos服务注册与发现及服务配置实现
Nacos 提供了一组简单易用的特性集,可快速实现动态服务发现.服务配置.服务元数据及流量管理. 更敏捷和容易地构建.交付和管理微服务平台. 关键特性: 服务发现和服务健康监测 动态配置服务 动态 D ...
- SpringBoot之CommandLineRunner接口和ApplicationRunner接口
我们在开发中可能会有这样的情景.需要在容器启动的时候执行一些内容.比如读取配置文件,数据库连接之类的.SpringBoot给我们提供了两个接口来帮助我们实现这种需求.这两个接口分别为CommandLi ...
- visualstu studio的 pdb调试文件
1. 该博客介绍了pdb文件的概念,作用. 将该博文复制到最后了. https://devblogs.microsoft.com/devops/understanding-symbol-files-a ...
- orientation属性(判断是否为横竖屏)
现在有一个需求:移动端网页默认竖屏显示,当用户横屏浏览,就给予相应提示,比如横屏时显示下面截图提示信息 几年前,可能大家想到用 window.orientation 属性来实现,现官方已弃用,不做推荐 ...
- 一个 Github 上使用 HttpClient 的 Sample
地址:https://github.com/MikeWasson/HttpClientSample 截图: 直接贴代码了: 服务端: [RoutePrefix("api/products&q ...