pavikirthi
pavikirthi

Reputation: 1655

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.

Upvotes: 1

Views: 7937

Answers (2)

praveen kumar ms
praveen kumar ms

Reputation: 11

This Error can sometimes be reported by trace32 as your path from where you are fetching the executable to flash has a space in it due to folder name having space. Eg: D:\Embedded training replace the spaces with an underscore as D:\Embedded_training.

Upvotes: 1

Holger
Holger

Reputation: 4183

"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.

Upvotes: 2

Related Questions