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 Ronan Synnott and Elizabeth Weidmann,
Thank you very much!
The reason is that I have set a software breakpoint by DS-5 before enable MMU. Unfortunately, the region where software breakpoint resides is set as read-only in page-table. So, when MMU has been enabled, the DS-5 Debugger will attempt to re-write any software breakpoints that have been set when any write operation occurs in order to ensure the write operation has not removed the software breakpoint. The writing to read-only region will trigger a sync error.
The solution is that use hardware breakpoints in this case, instead of software breakpoints.