RISCV基础开发(五)

gewenbin
gewenbin
gewenbin
188
文章
15
评论
2021年8月15日15:05:01 评论 971

QEMU裸机开发之环境搭建

1.概述

前面我们介绍了RISCV架构的一些基础知识,从本章节开始我们通过在QEMU下编写裸机程序来进一步的学习RISCV架构,旨在通过实操来掌握相关知识点。

运行环境我是在Ubuntu 20.04下测试,QEMU选用的时5.2.0版本而不是最新的6.x版本,因为实测发现在6.x版本下从m模式切换到s模式下时,“mret”指令执行会发生异常,具体原因不明,在5.1和5.2版本下测试都正常,所以QEMU选用5.2版本来使用。

2. 安装交叉编译器

首先我们需要安装riscv64的交叉编译器,输入以下命令:

sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu

然后再安装一些后面编译源码时需要的工具,输入以下命令:

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

3. 编译安装qemu

通过QEMU官网下载5.2.0源码,解压后进入源码目录,通过以下命令来编译安装QEMU5.2.0:

$ ./configure --disable-kvm --disable-werror --prefix=/usr/local --target-list="riscv64-softmmu"
$ make
$ sudo make install

4. 测试环境

安装完成后,通过以下命令来测试交叉编译器和qemu的版本:

gewenbin@gewenbin-virtual-machine:~$ riscv64-unknown-elf-gcc --version
riscv64-unknown-elf-gcc () 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

gewenbin@gewenbin-virtual-machine:~$ qemu-system-riscv64 --version
QEMU emulator version 5.2.0
Copyright (c) 2003-2020 Fabrice Bellard and the QEMU Project developers
gewenbin@gewenbin-virtual-machine:~$

 

gewenbin
  • 本文由 发表于 2021年8月15日15:05:01
  • 转载请务必保留本文链接:http://www.databusworld.cn/10514.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: