I set the link address 0xffff000000080000, it repoort this err,
loadfile "D:\arm\01-code\my_lab\snake-os\snake-os.elf"ERROR(CMD16-TAD274-NAL23): ! Failed to load "snake-os.elf"! Failed to write 41,550 bytes to address EL2N:0xFFFF000000080000 while writing block of 4,096 bytes to address EL2N:0xFFFF000000080000! Error accessing memory.
Without knowing your target hardware, I can only comment so far.
As per the error, the debugger is unable to write to this address. If you open a memory window, are you able to access the address range?
Note that the address is prefixed EL2N (Exception level 2, non-secure mode), which is the state of the processor when the load was attempted. Is this region accessible in non-secure mode?
hi Ronan: thanks for your replay!
my hardware target is Raspberry pi4 ; if i set the .text addr is 0x80000; my programmer is run ok.
i make follow picture mapping and i enable the mmu, if i change the .text addr to 0xffff000000080000 in link file. it report error.
I believe that is correct - with the MMU enabled the high address is not valid.
Try connecting to the target, but not (attempting to) download any code. The debugger has an MMU/MPU view to verify your MMU setup:https://developer.arm.com/documentation/101470/2022-0/Perspectives-and-Views/MMU-MPU-view
You can also use the 'info memory' command to see available memory spaces:https://developer.arm.com/documentation/101471/2022-0/Arm-Debugger-commands/Arm-Debugger-commands-listed-in-alphabetical-order/info-memory
my code is here ; github.com/.../snake-os
after i add my symbol