Skip to content

Files

Latest commit

a6c38c5 · Aug 13, 2024

History

History

qemu-virt64-aarch64

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Feb 28, 2023
Mar 28, 2024
Jun 26, 2024
Mar 21, 2024
Jun 20, 2024
Jul 30, 2022
Oct 10, 2022
Aug 6, 2021
Jul 25, 2023
Dec 20, 2022
Sep 26, 2023
Dec 20, 2022
Sep 26, 2023
Apr 17, 2023
Sep 26, 2023
Mar 21, 2024
Aug 13, 2024

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 platform,set 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