After I have enabled MMU, I want to write a value to a specify address by DS-5. The DS-5 reports an error as following:
memory set_typed EL3:0x0000000080006000 (unsigned int) (0x1)ERROR(TAD11-NAL23): ! Failed to write 4 bytes to address EL3:0x0000000080006000! Error accessing memory.
Then I read this address by DS-5 again. I find the value has been wrote to the address.
By the way, if I disable MMU, I can write a value to a specify without any error.
What does DS-5 check, after it writes a value to a specify address?
Thanks!
Hello Amao,
This _may_ be due to the debugger re-reading the address to verify that the write occured. Depending on what exactly is at this address, this may cause issues. You can disable this either by creating a memory region around this address with noverify specified, or use the memory set command, and specify noverify that way.
Hi Ronan Synnott,
Thank your reply.
I follow your indication to try with noverify attribute, but there is the error by DS-5 still. The command as below:
memory set EL3<verify=0>:0x80006000 32 0xffffERROR(TAD11-NAL23): ! Failed to write 4 bytes to address EL3:0x0000000080006000! Error accessing memory.
BTW, the SOC that I am verifying is being developed.
If I disable MMU, the following commands is ok.
memory set EL3<verify=0>:0x80006000 32 0xffffmemory set EL3:0x80006000 32 0x5a5a
I attach a memory layout of 'info memory' of DS-5 and my MMU configuration.
Does the MMU remap this address to another, and/or change the access permissions of this address? DS-5 has a handy MMU view (as well as the mmu commands) to help you investigate this.
The SP: prefix refers to "secure world, physical memory". I wonder if the system responds to say that secure accesses are not allowed (even though they are, as the write seemingly completes) - hence the debugger flags that the write failed.
The virtual address, 0x80006000 is mapped to physical address 0x80006000. I can verify it by MMU view.
I try to change 0x80006000 to None-secure world, as below:
The error is reported by DS-5 still.