two weeks ago I bought the ArtyZ7-Board with an XC7z020 (400-1C) on it and successfully launched some projects in VHDL to program the PL. After that, I started to integrate the ARM-processor into some projects to toggle a led or just implement a PWM-signal. For this I have gone the following steps:
1. Creating a block design for the processing system of the zynq in Vivado.
2. Synthesized it and generated the bitstream.
3. ''Export Hardware'' and launch SDK to create an application in C.
4. ''Program FPGA'' in Xilinx SDK
5. Run as -> Launch on HW
After these steps, I was able to switch on a led or to control the brightness of it with the ARM. In addition to that, I read something about to program the Zynq with a binary file over QSPI. Hence, I created a Zynq Boot Image with Xilinx SDK (so I merged the bitstream with the .elf to get a bootable file, right?) and started "zynq_flash" with the following command:
After that, the default settings of the board were gone (the standard led-sequence when you restart your board) and I'm not able to program the PS anymore. When I write a program in VHDL to program the FPGA everything is fine, but when I repeat the steps above, nothing will happen on the board. The "done" led is lit, but no functions are visible.
Can someone please explain me, what was happened and why? I'm a pretty beginner in the world of embedded systems - especially programming a Zynq.
My guess is that I accidentally have overwritten something important - maybe a specific bootloader? But if this really should be, how can I write a program, merge it with the .bit-file to a binary and flash it on the Zynq on a right way?
I would be grateful for your patience and support.
Question
embeddedT
Hi everybody,
two weeks ago I bought the ArtyZ7-Board with an XC7z020 (400-1C) on it and successfully launched some projects in VHDL to program the PL. After that, I started to integrate the ARM-processor into some projects to toggle a led or just implement a PWM-signal. For this I have gone the following steps:
1. Creating a block design for the processing system of the zynq in Vivado.
2. Synthesized it and generated the bitstream.
3. ''Export Hardware'' and launch SDK to create an application in C.
4. ''Program FPGA'' in Xilinx SDK
5. Run as -> Launch on HW
After these steps, I was able to switch on a led or to control the brightness of it with the ARM. In addition to that, I read something about to program the Zynq with a binary file over QSPI. Hence, I created a Zynq Boot Image with Xilinx SDK (so I merged the bitstream with the .elf to get a bootable file, right?) and started "zynq_flash" with the following command:
"<path>\zynq_flash -f <path>\Boot.bin -offset 0 -flash_type qspi_single -cable type xilinx_tcf URL TCP:127.0.0.1:3121"
After that, the default settings of the board were gone (the standard led-sequence when you restart your board) and I'm not able to program the PS anymore. When I write a program in VHDL to program the FPGA everything is fine, but when I repeat the steps above, nothing will happen on the board. The "done" led is lit, but no functions are visible.
Can someone please explain me, what was happened and why? I'm a pretty beginner in the world of embedded systems - especially programming a Zynq.
My guess is that I accidentally have overwritten something important - maybe a specific bootloader? But if this really should be, how can I write a program, merge it with the .bit-file to a binary and flash it on the Zynq on a right way?
I would be grateful for your patience and support.
Best regards from Germany,
Thomas
Link to comment
Share on other sites
9 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.