Can't get qemu to run aarch64/xilinx_zynqmp_lp64_qemu example app
Kinsey Moore
kinsey.moore at oarcorp.com
Mon Apr 10 15:00:51 UTC 2023
Hi Jens,
You're using the QEMU command line from the A53 QEMU BSP, not the ZynqMP LP64 QEMU BSP. The flag "-machine virt,gic-version=3" should instead be "-machine xlnx-zcu102".
This change should get you up and running. The details for the ZynqMP BSP family can be found further down the page you linked:
https://docs.rtems.org/branches/master/user/bsps/bsps-aarch64.html?highlight=qemu#qemu-xilinx-zynqmp
Kinsey
-----Original Message-----
From: users <users-bounces at rtems.org> On Behalf Of Jens Schweikhardt
Sent: Sunday, April 9, 2023 3:46 PM
To: users <users at rtems.org>
Subject: Can't get qemu to run aarch64/xilinx_zynqmp_lp64_qemu example app
Hello world,
I've installed an aarch64 toolchain and the xilinx_zynqmp_lp64_qemu BSP
from current sources with waf (on FreeBSD 14).
The docs on https://docs.rtems.org/branches/master/user/bsps/bsps-aarch64.html?highlight=qemu#aarch64-aarch64
tell me to run
qemu-system-aarch64 -no-reboot -nographic -serial mon:stdio \
-machine virt,gic-version=3 -cpu cortex-a53 -m 4096 \
-kernel build/aarch64-rtems6-xilinx_zynqmp_lp64_qemu/kernel.exe
which just sits there with no output (I expect a repeated greeting).
Here are my hello.c, init.c, wscript:
/*
* Hello world example
*/
#include <rtems.h>
#include <stdio.h>
rtems_task Init(rtems_task_argument ignored) {
for (;;) {
puts("Hello World\n");
rtems_task_wake_after(100);
}
}
---------------init.c:
/*
* Simple RTEMS configuration
*/
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
#define CONFIGURE_UNLIMITED_OBJECTS
#define CONFIGURE_UNIFIED_WORK_AREAS
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
#define CONFIGURE_INIT
#define CONFIGURE_INIT_TASK_STACK_SIZE 65536
#define CONFIGURE_INIT_TASK_ATTRIBUTES RTEMS_FLOATING_POINT
--------wscript:
#
# Hello world Waf script
#
from __future__ import print_function
rtems_version = "6"
try:
import rtems_waf.rtems as rtems
except:
print('error: no rtems_waf git submodule')
import sys
sys.exit(1)
def init(ctx):
rtems.init(ctx, version = rtems_version, long_commands = True)
def bsp_configure(conf, arch_bsp):
# Add BSP specific configuration checks
pass
def options(opt):
rtems.options(opt)
def configure(conf):
rtems.configure(conf, bsp_configure = bsp_configure)
def build(bld):
rtems.build(bld)
bld(features = 'c cprogram',
target = 'kernel.exe',
cflags = '-g -O2',
source = ['hello.c',
'init.c'])
I've tried many variations on the qemu options but never got any output.
This is with
# qemu-system-aarch64 --version
QEMU emulator version 7.2.50
What am I doing wrong? Has anyone else gotten the example in the RTEMS docs to work
with the described procedure?
Regards,
Jens
_______________________________________________
users mailing list
users at rtems.org
http://lists.rtems.org/mailman/listinfo/users
More information about the users
mailing list