I implemented the basic operation by modifying the FreeRTOS settings to “Changed hypervisor_guest
to true
.” using Vitis’s SDK.
FreeRTOS Configuration and Executable Creation:
MEMORY
{
psu_ddr_0_MEM_0 : ORIGIN = 0x40000000, LENGTH = 0x100000
psu_ddr_1_MEM_0 : ORIGIN = 0x800000000, LENGTH = 0x80000000
psu_ocm_ram_0_MEM_0 : ORIGIN = 0xFFFC0000, LENGTH = 0x40000
psu_qspi_linear_0_MEM_0 : ORIGIN = 0xC0000000, LENGTH = 0x20000000
}
aarch64-linux-gnu-objcopy -O binary --gap-fill 0 BOOT.BIN
I ran DOM0 on the XEN hypervisor in PetaLinux and then executed DOMU, but an error occurred. Can you help me resolve this?
XEN config:
=====================================================================
Example FreeRTOS Guest configuration
=====================================================================
Guest name
name = “freertos hello world”
Kernel image to boot
kernel = “/home/root/FreeRTOS.BIN”
Kernel command line options - Allocate 8MB
memory = 8
Number of VCPUS
vcpus = 1
Pin to CPU 0
cpus = [1]
irqs = [ 68, 69, 70, 54 ]
iomem = [ “0xff010,1”, “0xff110,1” ]
XEN list :
Name ID Mem VCPUs State Time(s)
Domain-0 0 1024 1 r----- 37.2
freertos hello world 2 8 1 r----- 2793.4
XEN Meassag
(XEN) memory_map:add: dom2 gfn=ff110 mfn=ff110 nr=1 cache=0
(XEN) traps.c:2059:d2v0 HSR=0x00000093840047 pc=0x00000040001e24 gva=0xff0a0214 gpa=0x000000ff0a0214
The XEN hypervisor lists it as a guest, but FreeRTOS does not actually operate.