These days I have developed a bare metal program for the AArch64 program.However,I have met the error called Synchronous Exception when using QEMU Aarch64 virtual machine for testing my bare metal program,I just want to turn the screen to yellow with this bare metal program.I have refered to the website Stack Overflow and I cannot find where the error occurs.Therefore,I push the question to our forum.
This is the error I have encountered:
Synchronous Exception at 0x000000013E3BC50C
PC 0x00013E3BC50C
PC 0x00013E3BC4C0
PC 0x00013E3BC6DC
PC 0x00013E3BCAD4
PC 0x00013E3B9598
PC 0x00013E3B97F0
PC 0x00004769B2C0 (0x000047694000+0x000072C0) [ 1] DxeCore.dll
PC 0x00013EE6EECC (0x00013EE68000+0x00006ECC) [ 2] BdsDxe.dll
PC 0x00013EE70CF0 (0x00013EE68000+0x00008CF0) [ 2] BdsDxe.dll
PC 0x00004769DFF8 (0x000047694000+0x00009FF8) [ 3] DxeCore.dll
[ 1] /builddir/build/BUILD/edk2-20241117-build/edk2-0f3867fa6ef0/Build/ArmVirtQemu-AARCH64/DEBUG_GCC5/AARCH64/MdeModulePkg/Core/Dxe/DxeMain/DEBUG/DxeCore.dll
[ 2] /builddir/build/BUILD/edk2-20241117-build/edk2-0f3867fa6ef0/Build/ArmVirtQemu-AARCH64/DEBUG_GCC5/AARCH64/MdeModulePkg/Universal/BdsDxe/BdsDxe/DEBUG/BdsDxe.dll
[ 3] /builddir/build/BUILD/edk2-20241117-build/edk2-0f3867fa6ef0/Build/ArmVirtQemu-AARCH64/DEBUG_GCC5/AARCH64/MdeModulePkg/Core/Dxe/DxeMain/DEBUG/DxeCore.dll
X0 0x000FFFFFFFFD000C X1 0x00000000BFF94000 X2 0x0000000000000000 X3 0x01900000BFAE412C
X4 0x0000000000000000 X5 0x0000000000000000 X6 0x000FFFFFFFFD000B X7 0x6369767265532074
X8 0x7275746552207365 X9 0x687469772064656E X10 0x6369767265532074 X11 0x7275746552207365
X12 0x687469772064656E X13 0x6572756C69614620 X14 0x00004769FB2C0000 X15 0x0000476930200000
X16 0x000000013F048290 X17 0x00000000FFC984B5 X18 0x0000000000000000 X19 0x000000013E3D9518
X20 0x0000000000000001 X21 0x0000000000000001 X22 0x0000000017E4A902 X23 0x000000000FE2A905
X24 0x0000000003E1AA04 X25 0x000000013E3D9518 X26 0x00000000476BBE78 X27 0x000000013EE7D7E5
X28 0x000000013EA05844 FP 0x0000000047693900 LR 0x000000013E3BC4C0
V0 0x0000000000000000 0000000000000000 V1 0x2C31406567646972 622D6963702F6666
V2 0x6C656E6E6168632F 3040697363732F36 V3 0x4000000000000000 0000000000000000
V4 0x0000000000000000 0000000000000000 V5 0x4010040140100401 4010040140100401
V6 0x0000000040000000 0000000040000000 V7 0x0000000000000000 0000000000000000
V8 0x0000000000000000 0000000000000000 V9 0x0000000000000000 0000000000000000
V10 0x0000000000000000 0000000000000000 V11 0x0000000000000000 0000000000000000
V12 0x0000000000000000 0000000000000000 V13 0x0000000000000000 0000000000000000
V14 0x0000000000000000 0000000000000000 V15 0x0000000000000000 0000000000000000
V16 0x0000000000000000 0000000000000000 V17 0x0000000000000000 0000000000000000
V18 0x0000000000000000 0000000000000000 V19 0x0000000000000000 0000000000000000
V20 0x0000000000000000 0000000000000000 V21 0x0000000000000000 0000000000000000
V22 0x0000000000000000 0000000000000000 V23 0x0000000000000000 0000000000000000
V24 0x0000000000000000 0000000000000000 V25 0x0000000000000000 0000000000000000
V26 0x0000000000000000 0000000000000000 V27 0x0000000000000000 0000000000000000
V28 0x0000000000000000 0000000000000000 V29 0x0000000000000000 0000000000000000
V30 0x00000000476938E0 00000000476938E0 V31 0xFFFFFF80FFFFFFC8 00000000476938A0
SP 0x00000000476938F0 ELR 0x000000013E3BC50C SPSR 0x80000205 FPSR 0x00000000
ESR 0x96000004 FAR 0x01900000BFAE4113
ESR : EC 0x25 IL 0x1 ISS 0x00000004
Data abort: Translation fault, zeroth level
Stack dump:
00000476937F0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
0000047693810: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
0000047693830: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
0000047693850: 0000000000000000 0000000000000000 0000000047693890 000000004769EDB4
0000047693870: 00000000476938E0 000000004769FDFC 0000000000000004 0000000000000001
0000047693890: 000000013E3DB018 000000000FE2A905 0000000000000001 0000000017E4A902
00000476938B0: 0000000000000001 0000000000000001 0000000000000001 000000013E3D9518
00000476938D0: 0000000047693950 000000013E3BB994 0000000000000000 0000000000000000
> 00000476938F0: 0000000000000000 0000000000000000 0000000047693910 000000013E3BC6DC
0000047693910: 0000000047693960 000000013E3BCAD4 000000013E3DB018 000000013E3DB018
0000047693930: 0000000000000001 000000013EE7F994 0000000000000001 0000000000000000
0000047693950: 0000000000020518 0000000000000001 0000000047693990 000000013E3B9598
0000047693970: 0000000000000000 0000000000000000 000000004401AF08 000000004401AF08
0000047693990: 0000000047693A50 000000013E3B97F0 0000000000000000 0000000000000728
00000476939B0: 000000000000004F 0000000000000000 0000000000000000 00000000FF728000
00000476939D0: 000000000000000F 00000000BFF94000 000000003FDCA000 0000000000000000
Synchronous Exception at 0x000000013E3BC50C
ASSERT [ArmCpuDxe] DefaultExceptionHandler.c(340): ((BOOLEAN)(0==1))
This is my program developed by me below,if you want to solve my problem,you should look this below:
My problematic program is in
https://github.com/TYDQSoft/UEFIPascalOS.