I am trying to use Coresight on a baremetal system (SoC with an A-9 processor), and am having some issues reading back the contents of the ETB after executing my code.
I have gone through the PTM-TRM, the TRM for my board and other documentation, so I believe I've covered most of my bases here. I am using Xilinx XSCT to configure the PTM, ETB and Funnel registers to enable tracing on a single core. I see that the RWP register is incremented as I step through my code, and once my code is complete, I try to read from the RRD register to read back the trace data, and it gives the error "Memory read error at 0xF8801010. Blocked address 0xF8801010. Cannot access read-once register". So, I'm unable to read back any of the trace data that has been written to the ETB RAM.
I've reviewed some other forum posts here (e.g., https://community.arm.com/support-forums/f/architectures-and-processors-forum/44544/reading-etb-from-software/161616#161616), and tried replicating the same behavior (disabling ETB and PTM, flushing, etc.), but still I'm unable to access the data in the RRD register, and by extension, the ETB RAM. Am I doing something wrong here?
I'm happy to provide more information if necessary. Thanks in advance.
I was able to circumvent this protection mechanism by using the '-force' directive in my command. I somehow missed that this was an option. Yet, I had not seen any other instances of running into this error and/or the register being read-protected.
Here's a list of things you can try to fix your Windows Registry, from the simplest and most likely to work to more advanced fixes.
Run the Windows Error Checking tool. This tool scans your hard drive for bad sectors and fixes them automatically when possible.
Run the SFC /scannow command. Enter this command in the Command Prompt to scan for corrupted Windows system files and repair them.
Use a Registry cleaner program. These types of programs can fix Registry problems the built-in Windows tools cannot.
End all processes before shutting down. Some running processes could cause conflicts when your PC is shutting down, so close all running programs and processes first if your computer won't turn off or restart.
Reverse overclocking. If you've overclocked your CPU to enhance your computer's performance, it could be causing problems during a shutdown.
Review the Windows 10 Event Viewer. If you see event ID 9, 11, or 15 in the system event logs, you could have a major hardware problem to address.
Restore your computer to a previous state. If you've set up a system restore point, go back to a time before the error started.
Update the Windows BIOS. Your computer's basic input/output system (BIOS) is essential to booting Windows properly. It usually updates automatically, but you might need to update it manually if any important files are corrupted.
Reset your Windows 10 PC. If none of the above steps work and your operating system is beyond repair, use the Rest This PC feature to reinstall Windows. You have the option to Refresh your PC, which will keep your files (photos, music, etc.), or Reset your PC, which will restore your PC to factory settings.
This may help you,