trace32

trace32 “access timeout,target running” error in the device


I am getting this error whenever I am trying to run the device to debug the C code, what does this mean? Does it mean stack or heap memory error? Initially it was running fine when I again tried to run it, I am getting this error again and again.


Solution

  • "access timeout, target running" means usually, that you can't access memory, because your CPU (aka. "the target") is running.

    To avoid that, either break target program execution or enable run-time memory access.

    By default TRACE32 does not access memory, while the CPU is running, because accessing memory from the debugger usually has some influence on the execution performance of the CPU. (Consider that any memory usually has only one single interface, which means if debugger and CPU wants to access is at the same time, either of them has to stall until the other has finished its access.) This influence can be very small and might not cause any problems, but to be on the save side, run-time memory access is blocked by default.

    To enable run-time memory access use command SYStem.CPU.MemAccess.CPU (with ARM Cortex CPU it is SYStem.CPU.MemAccess.DAP instead) and open the memory dump window with the address access class E:. E.g.:

    Data.dump E:0x1000
    Data.dump E:myvariable
    Var.AddWatch %E myvariable
    

    With some CPUs (e.g. Cortex-M) TRACE32 offers the option SYStem.Option.DUALPORT.ON, which causes all memory windows to open with address access class E: automatically.