I’m having a lot of problems running any hello_world type of application PS of the Rev F.06 board. The PL seems to run fine (System ILA running and signals present).
But after launching the SDK and making a ‘main() { xil_printf(“hello world”) }; application I run into a lot of problems.
I’ve connected a HS2 JTAG adapter to a free-floating and virgin REVF07 board and the board’s USB-UART is also connected to the PC. The serial port is open (115200 baud, default config). When I boot from QSPI I can see linux booting and I don’t experience any problems with the UART or anything else.
But when I try to upload and debug my application (breakpoint at the printf statement) I get at least any or several of the following problems:
-
No output at all on the serial console
-
Sometime I see various garbled outputs: ‘HHHHHHHHHHHHH….’, ‘HellHellHellHelloHell’ or ‘Hellowrld’, only for once though
-
The JTAG adapter seems to lose its connection to the hw_server, a reboot is necessary.
-
The program stops and debugs with an instruction pointer in the ‘far’ memory range: 0xf……., which cannot exist. Op-codes seem like garbage.
-
It stops at my breakpoint several time (2-6) before permanently losing sync with the JTAG adapter resulting in:
-
Various DAP error codes and timeouts
-
DAP timeout errors in the 0x01000… range (DDR)
-
“Error while launching program: Memory read error at 0xF8007080. AHB AP transaction error, DAP status f0000021”
-
“Error while launching program: no targets found with "name =~"APU*" && jtag_cable_name =~ "Digilent JTAG-HS2 210249A0658C"". available targets:
1 DAP (JTAG port open error. AP transaction error, DAP status 30000021)
2 xc7z010
(To fix this error I have to reboot AND unplug the HS2)
After trying to find the cause for this for days (thinking it had to be in my project settings or had to do with the ZC702 board-swap) I finally ended up going to a colleague in the city to try and find it together. First thing we did is take his PC, nr 2., with his JTAG adapter (Digilent XUP USB-JTAG) and taking a new MicroZed 7010 board of his stock (REVF06). We created a new ‘hello_world’ project and everything worked fine. We then switched out to my REVF07 board and we got the same bunch of problems. Then tried another REVF07 board which I bought in the same order at AvNet: same problems. Tried another REVF06 board and the problems disappear again.
Research shows that the difference between the F06 and F07 board is the micrel memory being replaced by kingston parts. As is stated in the change-note this should not matter in any way. However, looking at my problems (the instruction pointer in the 0xf… range, stopping several times at my breakpoint despite not having a loop there) I could relate this to memory problems (of many other). Also I found this topic: http://microzed.org/content/memory-corruption-rev-f07
I have no idea where to look or how to solve this. Is this a F07 problem? Is there something wrong with what I’m trying to do? A default hello_world?
Do you have any ideas or advice? Developing for the MicroZed has become downright impossible now.
Thank you in advance,
Tijs van Roon