rt-thread/bsp/qemu-virt64-aarch64
Meco Man dfddd79b24 [errno code][-RT_EINVAL] fix that use RT_EINVAL without - 2023-03-16 20:21:43 -04:00
..
.vscode [BSP] Add vscode setting. (#6992) 2023-02-28 09:17:36 +08:00
applications [smart/aarch64] code sync (#6750) 2022-12-20 17:49:37 +08:00
drivers [errno code][-RT_EINVAL] fix that use RT_EINVAL without - 2023-03-16 20:21:43 -04:00
.config [bsp/qemu-virt64-aarch64] enable fdt by default 2023-03-11 19:01:33 +08:00
Kconfig [smart/aarch64] code sync (#6750) 2022-12-20 17:49:37 +08:00
README.md [bsp/qemu-virt64-aarch64] Update drivers' code (#6194) 2022-07-30 14:04:25 +08:00
README_zh.md [bsp][readme] 增加scons --exec-path=xxx 命令的使用说明 2022-10-10 09:42:44 +08:00
SConscript [bsp/virt64/aarch64] Add 'qemu-virt64-aarch64' bsp 2021-08-06 18:35:58 +08:00
SConstruct format Kconfig and sconscript 2023-01-08 22:52:13 -05:00
link.lds [bsp][smart] fix virt64 aarch64 link script for smart. 2022-12-26 14:24:26 +08:00
link_smart.lds [bsp][smart] fix virt64 aarch64 link script for smart. 2022-12-26 14:24:26 +08:00
qemu-debug.bat [smart/aarch64] code sync (#6750) 2022-12-20 17:49:37 +08:00
qemu-debug.sh [rt-smart] kernel virtual memory management layer (#6809) 2023-01-08 21:08:55 -05:00
qemu-graphic.bat [smart/aarch64] code sync (#6750) 2022-12-20 17:49:37 +08:00
qemu-graphic.sh [smart/aarch64] code sync (#6750) 2022-12-20 17:49:37 +08:00
qemu.bat [bsp/qemu-virt64-aarch64] Add VirtIO-Console and GPIO driver (#6150) 2022-07-08 02:11:19 +08:00
qemu.sh [rt-smart] kernel virtual memory management layer (#6809) 2023-01-08 21:08:55 -05:00
rtconfig.h [bsp/qemu-virt64-aarch64] enable fdt by default 2023-03-11 19:01:33 +08:00
rtconfig.py [BSP] Add color build for qemu gcc config. (#6924) 2023-02-11 17:14:55 +08:00

README.md

QEMU/AArch64 VIRT BSP Introduction

中文页 | English

1. Introduction

The AArch64 execution state was introduced with the ARMv8 ISA for machines executing A64 instructions. This project ported RT-Thread on QEMU AArch64 VIRT machine.

2. Compiling

Usage ARM Developer GNU ToolChain, it support Linux and Windows:

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads/

Download the xxx-aarch64-none-elf of x86_64 hosted platformset the RTT_EXEC_PATH is system environment after decompress the binary.

Enter directory rt-thread/bsp/qemu-virt64-aarch64 and input:

scons

3. Execution

The project execution tool is qemu-system-aarch64, the project can be configured to Cortex-A53/A57/A72, GIC supports V2/V3 version, and V2 of GIC can use 8 processors max.

Download Windows platform from website:

https://www.qemu.org/download/

On Linux platform (Ubuntu, Deepin and so on), install QEMU by apt.

sudo apt update
sudo apt install qemu-system-arm

Please fixup the exec scripts if modify the default configuration of the project. Run qemu.bat or qemu.sh in terminal:

heap: [0x40042aa0 - 0x40142aa0]

 \ | /
- RT -     Thread Operating System
 / | \     4.0.4 build Aug  6 2021
 2006 - 2021 Copyright by rt-thread team
Hi, this is RT-Thread!!
msh />

Use VirtIO-Console in new terminal by:

telnet 127.0.0.1 4321

If use tap net mode with tap0 card, modify qemu run script config

-netdev user,id=net0

to

-netdev tap,id=net0,ifname=tap0

4. Condition

Driver Condition Remark
UART Support UART0
RTC Support -
GPIO Support -
VIRTIO BLK Support -
VIRTIO NET Support -
VIRTIO Console Support -
VIRTIO GPU Support 2D
VIRTIO Input Support Keyboard, Mouse, Tablet