UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor wlin2
Visitor
9,869 Views
Registered: ‎11-21-2016

sdk execution error and memory write error

Jump to solution

I am using the Vivado and SDK 2016.3 to run the hello_world program with zcu102 Rev D board. The first time I ran the hello_word program in SDK, everything is working fine.

 

When I rerun the program, I get a message "The debug session is already active. Do you want to relaunch?"  After I clicked "Yes", I saw an error "execution context is running" or an error "memory write/read error at 0x00000000. Instruction timeout". Every time I rerun the hello_world program, I always saw the message and got the errors.

 

If I type "stop" in the XSCT console to stop the processor after the program finished, I can rerun the program successfully, but I will still get the message "The debug session is already active. Do you want to relaunch?".

 

Two questions:

 

1.The errors doesn't happened in SDK 2016.2. In order to rerun a program, I don't need to stop the processor in XSCT console after the program finished in 2016.2. How can I fix the problem?  It is inconvenient to type "stop" every time when I want to rerun the program.

 

2. How can I terminate debug session manually or automatically after program finished? It seems like when we run a program on system debugger, the debug session will not be terminated even after the program finished. 

 

Many thanks!!

0 Kudos
1 Solution

Accepted Solutions
Visitor kin.chan
Visitor
12,240 Views
Registered: ‎06-01-2017

Re: sdk execution error and memory write error

Jump to solution

Thanks for your reply. I was using the 2016.4 SDK and a Ultrascale XCZU9EG FPGA. Otherwise, my debug config was the same as yours.

I was able to work around the problem if I checked the "Reset entire system" box in the Run/Debug Configurations window. Please note that I was using a USB-to-JTAG cable (JTAG-ONB4).

5 Replies
Moderator
Moderator
9,801 Views
Registered: ‎07-31-2012

Re: sdk execution error and memory write error

Jump to solution

Hi,

 

Let me know if this helps

 

With JTAG debug ZYNQ MPSoC, you can use the SDK full-featured debugging, you can also use XSDB low-level command operations. 

  1. (Optional) bit download file fpga -f xx.bit
  2. Import initialization code source psu_init.tcl
  3. The initialization process psu_init
  4. (Optional) If you downloaded the bit file, it is necessary to open the interface between the channel PS-PL psu_post_config
  5. Download software code or other follow-up operations dow xx.el fo rmrd <memory address>

For ZYNQ UltraScale + MPSoC, if you use the above process, an error message will appear in the second step APU L2 cache is held in reset, leading to the subsequent dow mrdcommands cannot be executed.

After careful comparison SDK Log window for the operation is found, psu_initafter a required step for MPSoC: rst -processor, thus lifting the L2 Cache of the reset, the memory address can be manipulated.

 

Regards

Praveen


-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Visitor kin.chan
Visitor
7,880 Views
Registered: ‎06-01-2017

Re: sdk execution error and memory write error

Jump to solution

Can you please tell me more about the solution of this problem? I'm trying to run the hello_world App project in debug mode on an Ultrascale. And, I got the similar error messages for both of the 2016.4 and 2017.1 SDK as follows:

 

ERROR    : Memory read error at 0xFFCA5000. Cannot read sctlr_el3. Cannot read r0. Instruction transfer timeout

0 Kudos
Moderator
Moderator
7,857 Views
Registered: ‎10-06-2016

Re: sdk execution error and memory write error

Jump to solution

Hi @wlin2

 

1) I just tested in 2017.1 I did not had any issues rerunning my hello_world applications. I'm not neither aware of an issue that force you to use stop command in XSCT in order to relaunch the debug session neither. Could you please post your debug configuration options like bellow?

Capture.JPG

 

2) Reach the end of the program does not say that your debug session is terminated, actually that's the expected behavior, stop the program at _exit. In order to avoid the message "The debug session is already active. Do you want to relaunch?", you can terminate the session with the Disconnect button or just check the hide warning message checkbox.

 

Capture 2.JPG


Ibai
Don’t forget to reply, kudo, and accept as solution.
0 Kudos
Visitor kin.chan
Visitor
12,241 Views
Registered: ‎06-01-2017

Re: sdk execution error and memory write error

Jump to solution

Thanks for your reply. I was using the 2016.4 SDK and a Ultrascale XCZU9EG FPGA. Otherwise, my debug config was the same as yours.

I was able to work around the problem if I checked the "Reset entire system" box in the Run/Debug Configurations window. Please note that I was using a USB-to-JTAG cable (JTAG-ONB4).

Visitor kin.chan
Visitor
7,777 Views
Registered: ‎06-01-2017

Re: sdk execution error and memory write error

Jump to solution

In addition to enable the "Reset entire system", I also need to modify psu_init.tcl to comment out the following two "mask_poll" lines that had the memory r/w problem.

 

You may save the modified tcl as other name and change the "Initialization File" in the "Debug Configuration/Target Setup" to point to the modified one. Otherwise, the changes in the original psu_init.tcl will get reverted in your next build.


#    mask_poll 0XFD4023E4 0x00000010

#    mask_poll 0XFD40E3E4 0x00000010

 

0 Kudos