11-11-2017 03:44 PM
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.
11-11-2017 06:22 PM
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
11-11-2017 09:56 PM - edited 11-13-2017 07:17 AM
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.
11-21-2017 01:41 PM
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.