|
@@ -1,47 +1,52 @@
|
|
|
-# QEMU/RISCV64 VIRT板级支持包说明
|
|
|
+# QEMU/RISCV64 VIRT BSP Introduction
|
|
|
|
|
|
-## 1. 简介
|
|
|
+[中文页](README_ZH.md) | English
|
|
|
|
|
|
-RISC-V是一种开放和免费的指令集体系结构(ISA)。本工程是在QEMU的RISCV64 VIRT版本上进行的一份移植。
|
|
|
+RISC-V is a free and open ISA enabling a new era of processor innovation through open standard collaboration. This project ported RT-Thread on QEMU RISCV64 VIRT machine.
|
|
|
|
|
|
-## 2. 编译说明
|
|
|
+## 1. Compiling
|
|
|
+
|
|
|
+Download the cross compiler tool chain, it is recommended to use the sifive tool chain.
|
|
|
|
|
|
-首先可以下载交叉编译工具链,建议采用sifive的工具链进行编译。
|
|
|
```
|
|
|
https://www.sifive.com/software
|
|
|
```
|
|
|
-选择对应的平台即可。
|
|
|
|
|
|
-这里推荐在Ubuntu上进行开发工作。
|
|
|
+Select the fitting platform, we recommend Ubuntu.
|
|
|
|
|
|
-解压工具链到指定的目录。
|
|
|
+Unzip the tool chain to the specified directory.
|
|
|
|
|
|
```
|
|
|
export RTT_EXEC_PATH=~/gcc/bin
|
|
|
```
|
|
|
|
|
|
-进入到`rt-thread/bsp/qemu-riscv-virt64`目录进行输入
|
|
|
+Enter `rt-thread/bsp/qemu-riscv-virt64` directory and input
|
|
|
+
|
|
|
```
|
|
|
scons
|
|
|
```
|
|
|
-可以看到正常生成`rtthread.elf`与`rtthread.bin`文件。
|
|
|
|
|
|
-## 3. 执行
|
|
|
+ `rtthread.elf` and `rtthread .bin` files are generated.
|
|
|
|
|
|
-本工程提供了riscv64的两种可配置运行模式,默认运行在M-Mode下。
|
|
|
+## 2. Execution
|
|
|
|
|
|
-*M-Mode*
|
|
|
+The project provides two configurable operating modes for riscv64, defaults to run under M-Mode.
|
|
|
|
|
|
-首先安装`qemu-system-riscv64`。
|
|
|
+***M-Mode***
|
|
|
+
|
|
|
+Firstly, install the `qemu-system-riscv64`.
|
|
|
|
|
|
```
|
|
|
sudo apt install qemu-system-misc
|
|
|
```
|
|
|
-直接输入
|
|
|
+
|
|
|
+Then enter
|
|
|
+
|
|
|
```
|
|
|
./qemu-nographic.sh
|
|
|
```
|
|
|
-可以看到程序运行
|
|
|
+
|
|
|
+You'll see Project start running
|
|
|
|
|
|
```
|
|
|
heap: [0x80035804 - 0x86435804]
|
|
@@ -54,39 +59,45 @@ Hello RISC-V!
|
|
|
msh />
|
|
|
```
|
|
|
|
|
|
-*S-Mode*
|
|
|
+***S-Mode***
|
|
|
|
|
|
-如果运行在S-Mode下,那么需要通过menuconfig选择配置
|
|
|
+When running in S-Mode, configuration is via menuconfig
|
|
|
|
|
|
```
|
|
|
scons --menuconfig
|
|
|
```
|
|
|
-选择如下:
|
|
|
+
|
|
|
+Select:
|
|
|
+
|
|
|
```
|
|
|
RISCV qemu virt64 configs --->
|
|
|
[*] RT-Thread run in riscv smode
|
|
|
```
|
|
|
-保存后,重新`scons`编译即可。
|
|
|
|
|
|
-要让rt-thread运行在S-Mode,首先需要启动opensbi,然后通过opensbi启动rt-thread。
|
|
|
+Save it and compile `scons`.
|
|
|
+
|
|
|
+To get RT-Thread running in S-Mode, enable the opensbi, and then start up the RT-Thread through opensbi.
|
|
|
|
|
|
-自行编译的qemu或者下载的高版本的qemu内置opensbi,执行`./qemu-nographic-smode.sh`即可正常运行。
|
|
|
+Compile qemu or downloaded premiere-version qemu that built-in opensbi, then executing `./qemu-nographic-smode.sh` can get it successfully running.
|
|
|
|
|
|
-通过`sudo apt install qemu-system-misc`安装的qemu版本较低,可自行编译opensbi。
|
|
|
+The qemu installed with `sudo apt install qemu-system-misc` is an ordinary-version and may compile the opensbi on its own.
|
|
|
|
|
|
```
|
|
|
git clone git@github.com:riscv/opensbi.git
|
|
|
cd opensbi
|
|
|
make PLATFORM=generic CROSS_COMPILE=~/gcc/bin/riscv64-unknown-elf-
|
|
|
```
|
|
|
-最后生成的`/build/platform/generic/firmware/fw_jump.elf`则是需要的文件。
|
|
|
|
|
|
-输入以下的命令即可运行:
|
|
|
+`/build/platform/generic/firmware/fw_jump.elf` file is generated.
|
|
|
+
|
|
|
+Enter the following command to run:
|
|
|
|
|
|
```
|
|
|
qemu-system-riscv64 -nographic -machine virt -m 256M -kernel rtthread.bin -bios ~/opensbi/build/platform/generic/firmware/fw_jump.elf
|
|
|
```
|
|
|
-可以看到如下的结果
|
|
|
+
|
|
|
+Result is shown as follows:
|
|
|
+
|
|
|
```
|
|
|
OpenSBI v0.9
|
|
|
____ _____ ____ _____
|
|
@@ -121,16 +132,11 @@ heap: [0x80235a58 - 0x86635a58]
|
|
|
Hello RISC-V!
|
|
|
msh />
|
|
|
```
|
|
|
-## 4. 支持情况
|
|
|
-
|
|
|
-| 驱动 | 支持情况 | 备注 |
|
|
|
-| ------ | ---- | :------: |
|
|
|
-| UART | 支持 | UART0 |
|
|
|
-| PLIC | 支持 | - |
|
|
|
-| CLIC | 支持 | - |
|
|
|
-
|
|
|
-## 5. 联系人信息
|
|
|
|
|
|
-维护人:[bernard][1]
|
|
|
+## 3. Condition
|
|
|
|
|
|
-[1]: https://github.com/BernardXiong
|
|
|
+| Driver | Condition | Remark |
|
|
|
+| ------ | --------- | ------ |
|
|
|
+| UART | Support | UART0 |
|
|
|
+| PLIC | Support | - |
|
|
|
+| CLIC | Support | - |
|