I'm starting a project and would like to utilize an FPGA with a hard processor.
I'm looking at the zynq-7000 and the cyclone V SoC although I'm open to suggestions. My background is predominately developing in C/C++/asm for microcontrollers with no experience in FPGA’s. Most of my experience is using open source tooling (gcc toolchain, make, cmake, gdb/openocd, vim as an editor) with a handful of jtag debuggers for flashing/debugging.
Doing some research it seems like I'd become married to either Xilinx tools (Xilinx SDK / Vivado) or Intel tools (Quartus II).
For the arm side, I was wondering if anyone could provide any guidance on how to continue using the same tooling with which I’m familiar (i.e. not proprietary tools). For the Xilinx board, I found this which I think approaches what I’d like: https://github.com/3ap/zybo-z7-baremetal although I’m still a little iffy on some of the implementation details. For the Cyclone V I can’t find anything similar but maybe I’m not looking in the right place.
Furthermore, a lot of the examples I’ve found for using open source tooling for both the zynq-7000 and the cyclone V seem to assume that embedded linux is already running on the target which isn’t required for what I want to do. Instead I’d like to run Freertos.
I’ve found:
How to build a Xilinx SDK with Freertos: https://www.freertos.org/RTOS-Xilinx-SDK-BSP.html
How to build for the Zynq-7000: https://www.freertos.org/RTOS-Xilinx-Zynq.html
How to build for the Cyclone V SoC: https://www.freertos.org/RTOS_Altera_SoC_ARM_Cortex-A9.html
All of which involve using some sort of proprietary tooling, although in the case of the Cyclone V I’m pretty sure I can get around using Arm Development Studio.
I’d like to avoid using eclipse or the Xilinx sdk; same for Quartus and Arm Development studio.
The more I’ve looked it seems like for the FPGA side I’m stuck using their tooling which I can come to terms with although I’ve found a few things like xc3sprog http://xc3sprog.sourceforge.net/ which seems to supports some Xilinx hardware although it's pretty old.
Any guidance is much appreciated. Thanks.