cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Observer
Observer
2,456 Views
Registered: ‎10-30-2017

Memory read/write error when programming from SDK

 Hello,

 

I'm working with a Zybo Z7-10 (Zynq 7000), with Vivado 2016.4. I'm trying to load the hello world program onto it, but the SDK keeps giving me errors when I try to load the C code (the bitstream seems to be loading fine). There are two that I seem to keep getting:

 

Memory write error at 0xF8000118. Cannot flush JTAG server queue. FT_Read returned 0, expected 12

- Memory read error at 0xF8000108. Cannot flush JTAG server queue. FT_Write failed: io error

 

Another one I don't remember and haven't been able to recreate:

- Memory write error, cannot access DAP, invalid ACK value

 

The only thing I've changed is setting my run configuration to "reset entire system". I can't seem to consistently recreate any of these errors.

 

The programming jumper on my Zybo is connected to the JTAG pins. I've been able to program this particular board before, using Vivado 2017.3. I've installed the older version to test something.

0 Kudos
4 Replies
Highlighted
Scholar
Scholar
2,423 Views
Registered: ‎04-13-2015

hi @aytli

 

the errors you are getting for addresses 0xF800_0000 and above likely occurs because your are downloading code or data directly in the Zynq region for the peripherals registers.

I doubt resetting the entire system can be the culprit.

You should double check your linker script to make sure all code & data is located in the processor memory.

You can see where the code & data lands after the build by going through the map file generated by the linker

 

 

 

0 Kudos
Highlighted
Observer
Observer
2,381 Views
Registered: ‎10-30-2017

Hi @ericv

 

Thanks for the response, I've checked my linker file and it doesn't seem like those addresses are used by anything. I'm not too sure how to interpret the memory map so I've attached a screenshot of the linker file (from lscript.ld).

 

From system.hdf, the addresses of 0xF8000108 and 0xF8000118 fall in the address range of the register "ps7_slcr_0".

 

EDIT: I just tried programming another board (also zybo z7-10), and it worked. Maybe there was a problem connecting to my original board that caused this issue.

Capture.PNG
0 Kudos
Highlighted
Visitor
Visitor
2,251 Views
Registered: ‎09-22-2015

I had the same issue and finally tracked it down to the power supply current at startup. I had a Trenz TE0715 that drew 0.5A after power up. I could program the part (see block design image) and the LED would respond according to the input port. The power good signal was OK and all the voltages measured OK. I could not get a clock on DAC_CLK output and when it came to the SDK would get messages as you described. After wasting a lot of time double and triple checking everything I finally turned the lab power supply limit up from 700mA to something like 1.5A and all my problems went away.To those reading this I hope this helps you.

LED_test.png
SDK cannot flush jtag server queue_cropped.png
0 Kudos
Highlighted
Observer
Observer
1,568 Views
Registered: ‎07-03-2018

I have the same problem with Vivado 2018.2 and Zybo Z7.

Can you share your solution with me?

 

 

Regards,

0 Kudos